CI : Deployment
This commit is contained in:
45
docker-compose.yml
Normal file
45
docker-compose.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
# Plan de contrôle Stream Control.
|
||||
#
|
||||
# cp .env.production.example .env puis compléter
|
||||
# docker compose up -d
|
||||
#
|
||||
# Déploiement en HTTP sur réseau privé : le port n'est PAS destiné à être exposé
|
||||
# sur Internet. Voir la section « Sécurité » de DEPLOY.md.
|
||||
|
||||
services:
|
||||
server:
|
||||
image: ${IMAGE:?définir IMAGE dans .env}
|
||||
container_name: stream-control
|
||||
restart: unless-stopped
|
||||
|
||||
env_file:
|
||||
- .env
|
||||
|
||||
environment:
|
||||
# Fixés ici pour ne pas dépendre de ce que contient .env : le port interne
|
||||
# est immuable, la publication se règle par BIND_ADDR/HOST_PORT.
|
||||
PORT: 8080
|
||||
HOST: 0.0.0.0
|
||||
DB_PATH: ./data/stream-control.sqlite
|
||||
NODE_ENV: production
|
||||
|
||||
ports:
|
||||
# BIND_ADDR restreint l'écoute à une interface : mets l'IP LAN ou VPN de
|
||||
# la machine plutôt que 0.0.0.0 si elle a aussi une patte publique.
|
||||
- "${BIND_ADDR:-0.0.0.0}:${HOST_PORT:-8080}:8080"
|
||||
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/healthz"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
start_period: 10s
|
||||
retries: 3
|
||||
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
Reference in New Issue
Block a user