Configuration
Cette page liste les variables d'environnement d'un déploiement Docker. Elles aboutissent dans
generated_files/.env. Ne modifiez pas ce fichier : définissez les valeurs via le questionnaire de
l'outil de déploiement ou un fichier de configuration, comme décrit dans
Modifier une valeur. Les valeurs marquées Générée sont
dérivées ou créées par l'outil.
Configuration de base
| Variable | Valeur par défaut | Description |
|---|---|---|
PUBLIC_URL | Obligatoire | Nom de domaine nu (sans https://), par exemple avatar.company.com. Toutes les URL publiques en sont dérivées. |
ENV_NAME | Obligatoire | Identifie le déploiement auprès du support. Lettres minuscules, chiffres et tirets, par exemple company-prod. |
ORGANIZATION_NAME | Obligatoire | Nom de votre organisation. |
URL et points d'accès des services
Toutes ces valeurs sont dérivées de PUBLIC_URL. Elles sont listées pour que vous puissiez les
reconnaître dans .env.
| Variable | Exemple | Description |
|---|---|---|
AVATAR_DOMAIN | avatar.company.com | Le domaine nu, utilisé par Nginx et Authentik. |
AVATAR_API_URL | https://avatar.company.com/api | Adresse à laquelle les utilisateurs joignent l'API. |
AVATAR_WEB_CLIENT_URL | https://avatar.company.com | Adresse à laquelle les utilisateurs joignent le client web. |
AVATAR_STORAGE_ENDPOINT_PUBLIC_URL | https://avatar.company.com/storage | Point d'accès S3 public pour les envois et les téléchargements. |
AVATAR_STORAGE_ENDPOINT_INTERNAL_URL | http://s3:8333 | Point d'accès S3 au sein du réseau Compose. |
SSO_PROVIDER_URL | https://avatar.company.com/sso | URL publique de base d'Authentik. |
| Variable | Valeur par défaut | Description |
|---|---|---|
COMPATIBILITY_MAPPING_URL | https://license.octopize.io/compatibility/compatibility_mapping.json | URL depuis laquelle l'API télécharge la table de compatibilité des clients. Positionnez-la à disabled pour n'émettre aucune requête sortante. Une valeur vide retombe sur la valeur par défaut. |
TLS et Nginx
| Variable | Valeur par défaut | Description |
|---|---|---|
NGINX_SSL_CERTIFICATE_PATH | ./tls/server.fullchain.crt | Chemin, sur l'hôte, du certificat PEM à chaîne complète. Utilisez un chemin absolu. |
NGINX_SSL_CERTIFICATE_KEY_PATH | ./tls/private/server.decrypted.key | Chemin, sur l'hôte, de la clé privée non chiffrée. Utilisez un chemin absolu. |
NGINX_TLS_ENABLED | true | À positionner à false uniquement pour une évaluation locale. |
NGINX_HTTP_PORT | 8080 | Port d'écoute de Nginx lorsque TLS est désactivé. |
Configuration du stockage
| Variable | Valeur par défaut | Description |
|---|---|---|
SHARED_STORAGE_PATH | s3://{user_id}/{expire_days}d | Emplacement de stockage des jeux de données et des fichiers générés, dans le SeaweedFS fourni. |
Par défaut, les jeux de données et les fichiers générés sont supprimés au bout de 30 jours. La durée de conservation est définie par organisation : demandez au support Octopize de la modifier.
La clé de chiffrement du stockage et les clés d'administration S3 sont générées dans
generated_files/.secrets/ et ne sont pas configurables. Sauvegardez-les avec le reste du
répertoire de déploiement : sans storage_encryption_key, les fichiers stockés sont illisibles.
Mot de passe d'administration SeaweedFS
Le stockage SeaweedFS dispose d'un mot de passe d'administration pour l'utilisateur admin. Il se
trouve dans generated_files/.secrets/seaweedfs_admin_password. L'outil le génère lors de
install, et lors du premier update d'un déploiement qui n'en a pas encore.
Pour définir votre propre mot de passe, ou pour le changer, donnez la nouvelle valeur à update.
Redémarrez ensuite le service admin, car start ne le redémarre pas pour ce changement :
echo "seaweedfs_admin_password: $(openssl rand -hex 32)" > rotate.yaml
octopize-deploy-tool update --app-root ./app/avatar --from-config rotate.yaml
octopize-deploy-tool start --app-root ./app/avatar
docker compose -f ./app/avatar/generated_files/docker-compose.yml restart admin
rm rotate.yaml
Configuration de la base de données
PostgreSQL s'exécute en tant que service db, avec ses données dans le volume
avatar_postgres_data. Il héberge deux bases de données, celle d'Avatar et celle d'Authentik. Leurs
noms, rôles et mots de passe sont générés dans generated_files/.secrets/ :
| Fichier secret | Valeur usuelle | Description |
|---|---|---|
db_name | avatar | Base de données Avatar |
db_user / db_password | avatar | Rôle avec lequel l'API se connecte |
db_admin_user / db_admin_password | avatar_dba | Superutilisateur PostgreSQL, utilisé pour créer les bases de données et pour les sauvegardes |
authentik_database_name | authentik | Base de données Authentik |
authentik_database_user / authentik_database_password | authentik | Rôle avec lequel Authentik se connecte |
Versions des services
Chaque version de l'outil de déploiement fixe des versions testées. Ne les surchargez que si Octopize vous le demande.
| Variable | Description |
|---|---|
AVATAR_API_VERSION | Tag de l'image de l'API Avatar |
AVATAR_WEB_VERSION | Tag de l'image du client web Avatar |
AVATAR_SEAWEEDFS_VERSION | Tag de l'image SeaweedFS |
AVATAR_AUTHENTIK_VERSION | Tag de l'image Authentik |
Journalisation et supervision
| Variable | Valeur par défaut | Description |
|---|---|---|
IS_SENTRY_ENABLED | true | Envoie les erreurs internes à Sentry. Voir Données envoyées à Octopize. |
LOG_LEVEL | INFO | L'une des valeurs DEBUG, INFO, WARNING, ERROR, CRITICAL. |
USE_CONSOLE_LOGGING | false | Logs lisibles par un humain au lieu du JSON. |
Email
| Variable | Valeur par défaut | Description |
|---|---|---|
SMTP_HOST | Obligatoire | Nom d'hôte du serveur SMTP. Les adresses IP brutes ne sont pas acceptées. |
SMTP_PORT | 587 | 587 (STARTTLS), 465 (TLS implicite) ou 25 (en clair). |
SMTP_USE_TLS | true | Se connecter via TLS. |
SMTP_START_TLS | false | Passer une connexion en clair en TLS, par exemple pour Office 365. |
SMTP_VERIFY | true | Vérifier le certificat du serveur. À positionner à false pour un certificat SMTP auto-signé. |
SMTP_SENDER_EMAIL | noreply@octopize.io | L'adresse d'expéditeur (« from »). Souvent identique à SMTP_USERNAME. |
SMTP_USERNAME | Aucune | Si le serveur exige une authentification. |
SMTP_PASSWORD | Aucune | Si le serveur exige une authentification. |
Exemple pour un relais interne sans TLS :
SMTP_HOST: smtp.company.internal
SMTP_PORT: 25
SMTP_USE_TLS: false
SMTP_VERIFY: false
Télémétrie
La télémétrie envoie à Octopize des métadonnées d'usage, jamais de jeux de données. Elle permet à Octopize de vous assister plus rapidement et de suivre les versions que vous exécutez. Voir pourquoi, et ce qui est envoyé. Elle est activée dès que toutes les valeurs ci-dessous sont définies. Octopize fournit le nom du bucket et les deux identifiants.
| Variable / secret | Valeur par défaut | Description |
|---|---|---|
TELEMETRY_S3_ENDPOINT_URL | https://s3.fr-par.scw.cloud | Point d'accès S3 de télémétrie |
TELEMETRY_S3_REGION | fr-par | Région S3 de télémétrie |
TELEMETRY_S3_BUCKET_NAME | Fourni par Octopize | Votre bucket de télémétrie |
telemetry_s3_access_key_id | Fourni par Octopize | Fichier secret |
telemetry_s3_secret_access_key | Fourni par Octopize | Fichier secret |
Le questionnaire propose d'activer la télémétrie lors de install, puis à chaque update tant
qu'elle est désactivée. Si vous n'avez pas encore les identifiants, passez cette étape, puis
exécutez update une fois que vous les avez reçus.
Authentification unique (Authentik)
L'outil configure Authentik lors du premier start, à partir d'un
blueprint fourni. En temps normal, vous choisissez uniquement l'adresse email de l'administrateur.
Les autres valeurs sont générées, et listées ici pour que vous puissiez les reconnaître.
Bootstrap
| Variable | Description |
|---|---|
AUTHENTIK_BOOTSTRAP_EMAIL | Adresse email de l'administrateur Authentik (akadmin). Demandée pendant install. |
AUTHENTIK_BOOTSTRAP_PASSWORD | Générée. Mot de passe de akadmin. |
AUTHENTIK_BOOTSTRAP_TOKEN | Générée. Jeton d'API Authentik, utilisé par tasks create-users et par l'API pour révoquer les clés des utilisateurs désactivés. |
Variables de blueprint
| Variable | Valeur par défaut | Description |
|---|---|---|
AVATAR_AUTHENTIK_BLUEPRINT_DOMAIN | Générée | Identique à AVATAR_DOMAIN. |
AVATAR_AUTHENTIK_BLUEPRINT_CLIENT_ID | Générée | Identifiant client OAuth2. L'API lit la même valeur sous le nom SSO_CLIENT_ID. |
AVATAR_AUTHENTIK_BLUEPRINT_CLIENT_SECRET | Générée | Secret client OAuth2. L'API lit la même valeur sous le nom SSO_CLIENT_SECRET. |
AVATAR_AUTHENTIK_BLUEPRINT_API_REDIRECT_URI | Générée | https://<AVATAR_DOMAIN>/api/login/sso/auth. |
AVATAR_AUTHENTIK_BLUEPRINT_API_WEBHOOK_URL | Générée | Adresse à laquelle Authentik notifie l'API qu'un utilisateur a été désactivé ou supprimé, afin que ses clés d'API soient révoquées. |
AVATAR_AUTHENTIK_BLUEPRINT_SELF_SERVICE_LICENSE | expert | Licence attribuée aux utilisateurs qui s'inscrivent eux-mêmes : expert (toutes les fonctionnalités) ou free_trial (exécutions et fonctionnalités limitées). |
SSO_PROVIDER_APP_NAME vaut avatar-api et ne doit pas être modifié.