Fix backlog-aggregator healthcheck: use bun instead of wget, increase start_period

The oven/bun:1 image doesn't include wget, causing healthchecks to always
fail. Switched to bun-based fetch check and increased start_period from 60s
to 300s to allow time for Gitea repo scanning on startup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-04-17 12:12:11 +00:00
parent 9931fa4105
commit 5112b20dce
2 changed files with 10 additions and 3 deletions

View File

@ -13,7 +13,7 @@ services:
test: ["CMD", "bun", "-e", "fetch('http://127.0.0.1:6420/').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))"] test: ["CMD", "bun", "-e", "fetch('http://127.0.0.1:6420/').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
start_period: 60s start_period: 300s
retries: 3 retries: 3
volumes: volumes:
# Mount all project directories that contain backlog folders # Mount all project directories that contain backlog folders

View File

@ -10,6 +10,9 @@ services:
- /opt/websites:/projects/websites - /opt/websites:/projects/websites
- /opt/apps:/projects/apps - /opt/apps:/projects/apps
- /opt/gitea-repos:/projects/gitea - /opt/gitea-repos:/projects/gitea
- /opt/infisical/entrypoint-wrapper.sh:/infisical-entrypoint.sh:ro
entrypoint: ["/infisical-entrypoint.sh"]
command: ["/app/entrypoint.sh"]
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.backlog.rule=Host(`backlog.jeffemmett.com`)" - "traefik.http.routers.backlog.rule=Host(`backlog.jeffemmett.com`)"
@ -17,17 +20,21 @@ services:
- "traefik.http.services.backlog.loadbalancer.server.port=6420" - "traefik.http.services.backlog.loadbalancer.server.port=6420"
- "traefik.docker.network=traefik-public" - "traefik.docker.network=traefik-public"
healthcheck: healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:6420/"] test: ["CMD", "bun", "-e", "fetch('http://127.0.0.1:6420/').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 3 retries: 3
start_period: 60s start_period: 300s
networks: networks:
- traefik-public - traefik-public
env_file: env_file:
- .env - .env
environment: environment:
- PORT=6420 - PORT=6420
- INFISICAL_CLIENT_ID=${INFISICAL_CLIENT_ID}
- INFISICAL_CLIENT_SECRET=${INFISICAL_CLIENT_SECRET}
- INFISICAL_PROJECT_SLUG=backlog-md
- INFISICAL_URL=http://infisical:8080
- NODE_ENV=production - NODE_ENV=production
- GITEA_URL=https://gitea.jeffemmett.com - GITEA_URL=https://gitea.jeffemmett.com
- GITEA_OUTPUT_DIR=/projects/gitea - GITEA_OUTPUT_DIR=/projects/gitea