Files
pve-confsync/docker-compose.yml

42 lines
1.7 KiB
YAML

# Interface web :
# docker compose up -d # http://<hôte>:${CONFSYNC_PORT:-8080}
# Base vide : la page de connexion crée le premier administrateur (ne pas exposer
# l'instance avant), sauf si CONFSYNC_ADMIN_PASSWORD(_FILE) est fourni.
# Clusters, mots de passe root (chiffrés en base) et réglages : tout se fait dans l'UI.
services:
confsync:
build: .
image: pve-confsync:dev
container_name: pve-confsync
restart: unless-stopped
ports:
- "${CONFSYNC_PORT:-8080}:8080" # port publié (.env) ; ou derrière Traefik (HTTPS : cookies Secure)
environment:
TZ: ${TZ:-Europe/Paris}
# Clé AES des mots de passe en base : créée au premier démarrage dans /data/secret.key.
# Pour la garder hors du volume /data (recommandé en production) : secret docker ci-dessous.
# CONFSYNC_SECRET_KEY_FILE: /run/secrets/confsync_key
# CONFSYNC_ADMIN_PASSWORD_FILE: /run/secrets/confsync_admin
# OIDC_ISSUER: https://auth.example.org/application/o/confsync/
# OIDC_CLIENT_ID: confsync
# OIDC_CLIENT_SECRET_FILE: /run/secrets/oidc_client
# OIDC_REDIRECT_URL: https://confsync.example.org/auth/callback
# OIDC_ADMIN_GROUP: confsync-admins
# OIDC_OPERATOR_GROUP: confsync-operators
env_file:
- path: .env
required: false
volumes:
- confsync-data:/data # SQLite, secret.key, session.key
# secrets:
# - confsync_key
# Optionnel : clé fournie en secret docker (fichier chmod 600, propriétaire 10001).
# mkdir -p secrets && openssl rand -hex 32 > secrets/confsync_key
# secrets:
# confsync_key:
# file: ./secrets/confsync_key
volumes:
confsync-data: