46 lines
1.5 KiB
YAML
46 lines
1.5 KiB
YAML
services:
|
|
backlog:
|
|
image: localhost:3000/jeffemmett/backlog-md:${IMAGE_TAG:-latest}
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.aggregator
|
|
container_name: backlog-aggregator
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /opt/websites:/projects/websites
|
|
- /opt/apps:/projects/apps
|
|
- /opt/gitea-repos:/projects/gitea
|
|
- /opt/infisical/entrypoint-wrapper.sh:/infisical-entrypoint.sh:ro
|
|
entrypoint: ["/infisical-entrypoint.sh"]
|
|
command: ["/app/entrypoint.sh"]
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.backlog.rule=Host(`backlog.jeffemmett.com`)"
|
|
- "traefik.http.routers.backlog.entrypoints=web"
|
|
- "traefik.http.services.backlog.loadbalancer.server.port=6420"
|
|
- "traefik.docker.network=traefik-public"
|
|
healthcheck:
|
|
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
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 300s
|
|
networks:
|
|
- traefik-public
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- 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
|
|
- GITEA_URL=https://gitea.jeffemmett.com
|
|
- GITEA_OUTPUT_DIR=/projects/gitea
|
|
- GITEA_OWNER=jeffemmett
|
|
|
|
networks:
|
|
traefik-public:
|
|
external: true
|