services: ghost: image: ghost:5 container_name: ${COMPOSE_PROJECT_NAME}_ghost restart: unless-stopped environment: url: https://${COMPOSE_PROJECT_NAME}.tellserv.fr database__client: sqlite3 database__connection__filename: /var/lib/ghost/content/data/ghost.db volumes: - ./ghost/content:/var/lib/ghost/content networks: - traefik_network labels: - traefik.enable=true # --- Local - traefik.http.routers.${COMPOSE_PROJECT_NAME}-local.rule=Host(`${COMPOSE_PROJECT_NAME}.local.tellserv.fr`) - traefik.http.routers.${COMPOSE_PROJECT_NAME}-local.entryPoints=local - "traefik.http.routers.${COMPOSE_PROJECT_NAME}-local.tls.certresolver=cloudflare-local" - traefik.http.routers.${COMPOSE_PROJECT_NAME}-local.tls=true # --- Production - traefik.http.routers.${COMPOSE_PROJECT_NAME}-prod.rule=Host(`${COMPOSE_PROJECT_NAME}.tellserv.fr`) - traefik.http.routers.${COMPOSE_PROJECT_NAME}-prod.entryPoints=websecure - traefik.http.routers.${COMPOSE_PROJECT_NAME}-prod.tls=true - traefik.http.routers.${COMPOSE_PROJECT_NAME}-prod.tls.certResolver=cloudflare #- "traefik.http.routers.${COMPOSE_PROJECT_NAME}-prod.middlewares=tinyauth" - traefik.http.services.${COMPOSE_PROJECT_NAME}.loadbalancer.server.port=2368 # --- Flame Dashboard Integration # --- Watchtower Auto-Update - com.centurylinklabs.watchtower.enable=true networks: traefik_network: external: true