mirror of
https://github.com/R0m1k3/Presencia.git
synced 2026-10-17 04:06:56 +02:00
Application complète : API Node/Express + PostgreSQL, frontend HTML/JS mono-page, et déploiement Docker sur ports non standards (8781/4790/6543). - Cadres : calendrier mensuel, saisie de présence par demi-journée (présent/absent/congé/RTT), validation de fin de mois qui verrouille leurs propres saisies. - Admin : gestion des sociétés et utilisateurs (rattachement société <-> cadre), consultation de tous les plannings, validation d'une société entière une fois tous ses cadres validés, réouverture en cas de correction, export PDF et Excel par société/mois.
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER:-presencia}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-presencia}
|
|
POSTGRES_DB: ${POSTGRES_DB:-presencia}
|
|
volumes:
|
|
- presencia_pgdata:/var/lib/postgresql/data
|
|
ports:
|
|
- "${DB_HOST_PORT:-6543}:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-presencia}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
backend:
|
|
build: ./backend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
PORT: 4790
|
|
PGHOST: db
|
|
PGPORT: 5432
|
|
PGUSER: ${POSTGRES_USER:-presencia}
|
|
PGPASSWORD: ${POSTGRES_PASSWORD:-presencia}
|
|
PGDATABASE: ${POSTGRES_DB:-presencia}
|
|
JWT_SECRET: ${JWT_SECRET:-change-me-to-a-long-random-string}
|
|
COOKIE_SECURE: ${COOKIE_SECURE:-false}
|
|
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@presencia.local}
|
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-ChangeMe123!}
|
|
ADMIN_NAME: ${ADMIN_NAME:-Administrateur}
|
|
ports:
|
|
- "${BACKEND_HOST_PORT:-4790}:4790"
|
|
|
|
frontend:
|
|
build: ./frontend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- backend
|
|
ports:
|
|
- "${FRONTEND_HOST_PORT:-8781}:80"
|
|
|
|
volumes:
|
|
presencia_pgdata:
|