# Interface web : # docker compose up -d # http://:${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: