Files
tribunal-app/docker-compose.yml
T
2026-07-26 18:07:49 +02:00

49 lines
1.5 KiB
YAML

services:
app:
image: node:22-alpine
restart: unless-stopped
working_dir: /app
command: ["/entrypoint.sh"]
environment:
NODE_ENV: production
PORT: 3000
HOSTNAME: 0.0.0.0
volumes:
- app-data:/app
- ./docker/entrypoint.sh:/entrypoint.sh:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.tribunal.rule=Host(`${APP_DOMAIN}`)"
- "traefik.http.routers.tribunal.entrypoints=https"
- "traefik.http.routers.tribunal.tls.certresolver=letsencrypt"
- "traefik.http.routers.tribunal.middlewares=compression@file,hsts-headers@file"
- "traefik.http.services.tribunal.loadbalancer.server.port=3000"
networks:
- proxy
webhook:
build: ./docker/webhook
restart: unless-stopped
environment:
WEBHOOK_SECRET: ${WEBHOOK_SECRET}
volumes:
- app-data:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.tribunal-webhook.rule=Host(`containers01.lan.alxczl.fr`) && PathPrefix(`/tribunal-webhook`)"
- "traefik.http.routers.tribunal-webhook.tls.certresolver=voidca"
- "traefik.http.routers.tribunal-webhook.entrypoints=https"
- "traefik.http.routers.tribunal-webhook.middlewares=hsts-headers@file,tribunal-webhook-strip"
- "traefik.http.middlewares.tribunal-webhook-strip.stripprefix.prefixes=/tribunal-webhook"
- "traefik.http.services.tribunal-webhook.loadbalancer.server.port=9000"
networks:
- proxy
volumes:
app-data:
networks:
proxy:
external: true
name: ${TRAEFIK_NETWORK}