# Stack « signature » — serveur Debian DMZ mutualisé (voir deploy/deploy.sh et docs/02-deploiement.md). # Variables lues dans deploy.env (généré par deploy/deploy.sh) : HTTP_PORT, HTTPS_PORT, DB_*. name: signature services: app: build: { context: ., dockerfile: docker/php/Dockerfile } image: cabm/signature:latest container_name: signature_app env_file: backend/.env volumes: - addin:/srv/addin - images:/var/www/html/public/img - storage:/var/www/html/storage depends_on: db: { condition: service_healthy } networks: [signature_net] restart: unless-stopped scheduler: image: cabm/signature:latest container_name: signature_scheduler env_file: backend/.env user: www-data command: ["php", "artisan", "schedule:work"] volumes: - storage:/var/www/html/storage depends_on: app: { condition: service_started } networks: [signature_net] restart: unless-stopped nginx: image: nginx:1.28-alpine container_name: signature_nginx ports: - "${HTTP_PORT:-80}:80" - "${HTTPS_PORT:-443}:443" volumes: - ./docker/nginx/signature.conf:/etc/nginx/conf.d/default.conf:ro - ./docker/certs:/etc/nginx/certs:ro - addin:/srv/addin:ro - ./backend/public:/var/www/html/public:ro - images:/var/www/html/public/img:ro depends_on: [app] networks: [signature_net] restart: unless-stopped db: image: mariadb:11.4 container_name: signature_db environment: MARIADB_DATABASE: ${DB_DATABASE:-signature} MARIADB_USER: ${DB_USERNAME:-signature} MARIADB_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD requis (deploy.env)} MARIADB_RANDOM_ROOT_PASSWORD: "1" volumes: - db:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 12 start_period: 30s networks: [signature_net] restart: unless-stopped networks: signature_net: name: signature_net volumes: addin: images: storage: db: