--- services: ghost: image: ghost:latest container_name: palina_ghost restart: always environment: database__client: mysql database__connection__host: palina_db database__connection__user: root database__connection__password: palina database__connection__database: palina mail__transport: SMTP mail__options__service: Mailpit mail__options__host: mailpit mail__options__port: 1025 mail__options__secure: false mail__options__auth__user: "" mail__options__auth__pass: "" url: https://${TRAEFIK_HOST} depends_on: db: condition: service_healthy volumes: - ../.data/ghost/content:/var/lib/ghost/content labels: - "traefik.enable=true" - "traefik.http.middlewares.palina-redirect-web-secure.redirectscheme.scheme=https" - "traefik.http.routers.palina-web.middlewares=palina-redirect-web-secure" - "traefik.http.routers.palina-web.rule=Host(`${TRAEFIK_HOST}`)" - "traefik.http.routers.palina-web.entrypoints=web" - "traefik.http.routers.palina-web-secure.rule=Host(`${TRAEFIK_HOST}`)" - "traefik.http.routers.palina-web-secure.tls.certresolver=resolver" - "traefik.http.routers.palina-web-secure.entrypoints=web-secure" - "traefik.http.routers.palina-web-secure.middlewares=security-headers@file" - "traefik.http.services.palina-web-secure.loadbalancer.server.port=2368" - "traefik.docker.network=${NETWORK_NAME}" - "com.centurylinklabs.watchtower.enable=true" networks: - compose_network db: image: mysql:8.0 container_name: palina_db restart: always environment: MYSQL_ROOT_PASSWORD: palina volumes: - ../.data/ghost/db:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 5s timeout: 5s retries: 5 networks: - compose_network networks: compose_network: name: ${NETWORK_NAME} external: true