--- networks: frontend: external: true backend: external: true services: semaphore: container_name: ansiblesemaphore-prod-1 image: semaphoreui/semaphore:v2.9.64 restart: unless-stopped ports: - 3000:3000 environment: - SEMAPHORE_DB_USER=ansiblesemaphore-prod-1-user - SEMAPHORE_DB_PASS=${SEMAPHORE_DB_PASS:?error} - SEMAPHORE_DB_HOST=db-prod-1.home.clcreative.de - SEMAPHORE_DB_PORT=3306 - SEMAPHORE_DB_DIALECT=mysql - SEMAPHORE_DB=ansiblesemaphore_prod_1_db - SEMAPHORE_PLAYBOOK_PATH=/tmp/semaphore/ - SEMAPHORE_ADMIN_PASSWORD=${SEMAPHORE_ADMIN_PASSWORD-} - SEMAPHORE_ADMIN_NAME=admin - SEMAPHORE_ADMIN_EMAIL=admin@localhost - SEMAPHORE_ADMIN=${SEMAPHORE_ADMIN:-admin} - SEMAPHORE_ACCESS_KEY_ENCRYPTION=${SEMAPHORE_ACCESS_KEY_ENCRYPTION:?error} - ANSIBLE_HOST_KEY_CHECKING=false volumes: - ./inventory/:/inventory:ro - ./authorized-keys/:/authorized-keys:ro - ./config/:/etc/semaphore:rw labels: traefik.enable: "true" traefik.http.routers.ansiblesemaphore-prod-1-http.entrypoints: "web" traefik.http.routers.ansiblesemaphore-prod-1-http.rule: "Host(`ansiblesemaphore-prod-1.srv-prod-1.home.clcreative.de`)" traefik.http.routers.ansiblesemaphore-prod-1-https.entrypoints: "websecure" traefik.http.routers.ansiblesemaphore-prod-1-https.rule: "Host(`ansiblesemaphore-prod-1.srv-prod-1.home.clcreative.de`)" traefik.http.routers.ansiblesemaphore-prod-1-https.tls: "true" traefik.http.routers.ansiblesemaphore-prod-1-https.tls.certresolver: "cloudflare" networks: - frontend - backend