services: db: image: postgres:16-alpine restart: always networks: - boards-network volumes: - db-data:/var/lib/postgresql/data env_file: .env environment: POSTGRES_INITDB_ARGS: '-A scram-sha-256' healthcheck: test: ['CMD-SHELL', 'pg_isready -U postgres -d 4gaBoards'] interval: 1s timeout: 5s retries: 50 4gaBoards: image: ghcr.io/rargames/4gaboards:latest restart: always networks: - boards-network volumes: - user-avatars:/app/public/user-avatars - project-background-images:/app/public/project-background-images - attachments:/app/private/attachments ports: - 3000:1337 env_file: .env environment: BASE_URL: https://gjam.vhaudiquet.fr NODE_ENV: production labels: - "traefik.enable=true" - "traefik.http.routers.4gaBoards.rule=Host(`gjam.vhaudiquet.fr`)" depends_on: db: condition: service_healthy volumes: user-avatars: driver: local driver_opts: type: 'none' o: 'bind' device: '/app/4gaboards/user-avatars' project-background-images: driver: local driver_opts: type: 'none' o: 'bind' device: '/app/4gaboards/project-background-images' attachments: driver: local driver_opts: type: 'none' o: 'bind' device: '/app/4gaboards/attachments' db-data: driver: local driver_opts: type: 'none' o: 'bind' device: '/app/4gaboards/db-data' networks: boards-network: proxy: name: proxy external: true