diff --git a/docker/docker-compose.prod.yaml b/docker/docker-compose.prod.yaml new file mode 100644 index 0000000..bf7ad63 --- /dev/null +++ b/docker/docker-compose.prod.yaml @@ -0,0 +1,39 @@ +# docker/docker-compose.prod.yaml +services: + bot: + image: ${BOT_IMAGE:?BOT_IMAGE is required} + container_name: noirBot + restart: unless-stopped + env_file: + - .env + + networks: + - traefik-network + labels: + - "traefik.enable=true" + - "traefik.docker.network=telegram-n8n-bot_traefik-network" + + - "traefik.http.services.noirbot.loadbalancer.server.port=8080" + + - "traefik.http.middlewares.noirbot-headers.headers.customrequestheaders.X-Forwarded-Proto=https" + - "traefik.http.middlewares.noirbot-headers.headers.customrequestheaders.X-Forwarded-Port=443" + + - "traefik.http.routers.noirbot-webhook.rule=Host(`${BOT_DOMAIN}`) && PathPrefix(`/webhook`)" + - "traefik.http.routers.noirbot-webhook.entrypoints=websecure" + - "traefik.http.routers.noirbot-webhook.tls=true" + - "traefik.http.routers.noirbot-webhook.tls.certresolver=myresolver" + - "traefik.http.routers.noirbot-webhook.priority=100" + - "traefik.http.routers.noirbot-webhook.service=noirbot" + - "traefik.http.routers.noirbot-webhook.middlewares=noirbot-headers" + + - "traefik.http.routers.noirbot-health.rule=Host(`${BOT_DOMAIN}`) && Path(`/healthz`)" + - "traefik.http.routers.noirbot-health.entrypoints=websecure" + - "traefik.http.routers.noirbot-health.tls=true" + - "traefik.http.routers.noirbot-health.tls.certresolver=myresolver" + - "traefik.http.routers.noirbot-health.priority=90" + - "traefik.http.routers.noirbot-health.service=noirbot" + +networks: + traefik-network: + external: true + name: telegram-n8n-bot_traefik-network \ No newline at end of file