services: presencia-db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: presencia POSTGRES_PASSWORD: R4dsITu0vuigNQQwNlvj0agVyHupSyX POSTGRES_DB: presencia volumes: - presencia_pgdata:/var/lib/postgresql/data ports: # Reachable from this host only (psql, backups), not from the network. - "127.0.0.1:6543:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U presencia"] interval: 5s timeout: 5s retries: 10 presencia-backend: build: ./backend restart: unless-stopped depends_on: presencia-db: condition: service_healthy environment: PORT: 4790 PGHOST: presencia-db PGPORT: 5432 PGUSER: presencia PGPASSWORD: R4dsITu0vuigNQQwNlvj0agVyHupSyX PGDATABASE: presencia # Leave empty to let the API generate a random secret, stored in the # database. If set, it must be at least 32 random characters. JWT_SECRET: "" COOKIE_SECURE: "false" ADMIN_EMAIL: michaelschal@ffest.fr ADMIN_PASSWORD: Lapîn2509 ADMIN_NAME: Michael ports: # The browser goes through the frontend; direct API access stays local. - "127.0.0.1:4790:4790" presencia-frontend: build: ./frontend restart: unless-stopped depends_on: - presencia-backend ports: - "8781:80" networks: default: name: nginx_default external: true volumes: presencia_pgdata: