services: shlink: image: shlinkio/shlink:stable restart: unless-stopped environment: DEFAULT_DOMAIN: ${DEFAULT_DOMAIN} IS_HTTPS_ENABLED: ${IS_HTTPS_ENABLED:-true} DB_DRIVER: postgres DB_HOST: db DB_PORT: 5432 DB_NAME: ${DB_NAME:-shlink} DB_USER: ${DB_USER:-shlink} DB_PASSWORD: ${DB_PASSWORD} INITIAL_API_KEY: ${INITIAL_API_KEY} TIMEZONE: ${TIMEZONE:-UTC} depends_on: db: condition: service_healthy ports: - "8080:8080" db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: ${DB_NAME:-shlink} POSTGRES_USER: ${DB_USER:-shlink} POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-shlink} -d ${DB_NAME:-shlink}"] interval: 5s timeout: 5s retries: 10 volumes: db_data: