Aller au contenu principal

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​

VariableValeur par défautDescription
PUBLIC_URLObligatoireNom de domaine nu (sans https://), par exemple avatar.company.com. Toutes les URL publiques en sont dérivées.
ENV_NAMEObligatoireIdentifie le déploiement auprès du support. Lettres minuscules, chiffres et tirets, par exemple company-prod.
ORGANIZATION_NAMEObligatoireNom 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.

VariableExempleDescription
AVATAR_DOMAINavatar.company.comLe domaine nu, utilisé par Nginx et Authentik.
AVATAR_API_URLhttps://avatar.company.com/apiAdresse à laquelle les utilisateurs joignent l'API.
AVATAR_WEB_CLIENT_URLhttps://avatar.company.comAdresse à laquelle les utilisateurs joignent le client web.
AVATAR_STORAGE_ENDPOINT_PUBLIC_URLhttps://avatar.company.com/storagePoint d'accès S3 public pour les envois et les téléchargements.
AVATAR_STORAGE_ENDPOINT_INTERNAL_URLhttp://s3:8333Point d'accès S3 au sein du réseau Compose.
SSO_PROVIDER_URLhttps://avatar.company.com/ssoURL publique de base d'Authentik.
VariableValeur par défautDescription
COMPATIBILITY_MAPPING_URLhttps://license.octopize.io/compatibility/compatibility_mapping.jsonURL 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​

VariableValeur par défautDescription
NGINX_SSL_CERTIFICATE_PATH./tls/server.fullchain.crtChemin, sur l'hôte, du certificat PEM à chaîne complète. Utilisez un chemin absolu.
NGINX_SSL_CERTIFICATE_KEY_PATH./tls/private/server.decrypted.keyChemin, sur l'hôte, de la clé privée non chiffrée. Utilisez un chemin absolu.
NGINX_TLS_ENABLEDtrueÀ positionner à false uniquement pour une évaluation locale.
NGINX_HTTP_PORT8080Port d'écoute de Nginx lorsque TLS est désactivé.

Configuration du stockage​

VariableValeur par défautDescription
SHARED_STORAGE_PATHs3://{user_id}/{expire_days}dEmplacement 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 secretValeur usuelleDescription
db_nameavatarBase de données Avatar
db_user / db_passwordavatarRôle avec lequel l'API se connecte
db_admin_user / db_admin_passwordavatar_dbaSuperutilisateur PostgreSQL, utilisé pour créer les bases de données et pour les sauvegardes
authentik_database_nameauthentikBase de données Authentik
authentik_database_user / authentik_database_passwordauthentikRô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.

VariableDescription
AVATAR_API_VERSIONTag de l'image de l'API Avatar
AVATAR_WEB_VERSIONTag de l'image du client web Avatar
AVATAR_SEAWEEDFS_VERSIONTag de l'image SeaweedFS
AVATAR_AUTHENTIK_VERSIONTag de l'image Authentik

Journalisation et supervision​

VariableValeur par défautDescription
IS_SENTRY_ENABLEDtrueEnvoie les erreurs internes à Sentry. Voir Données envoyées à Octopize.
LOG_LEVELINFOL'une des valeurs DEBUG, INFO, WARNING, ERROR, CRITICAL.
USE_CONSOLE_LOGGINGfalseLogs lisibles par un humain au lieu du JSON.

Email​

VariableValeur par défautDescription
SMTP_HOSTObligatoireNom d'hôte du serveur SMTP. Les adresses IP brutes ne sont pas acceptées.
SMTP_PORT587587 (STARTTLS), 465 (TLS implicite) ou 25 (en clair).
SMTP_USE_TLStrueSe connecter via TLS.
SMTP_START_TLSfalsePasser une connexion en clair en TLS, par exemple pour Office 365.
SMTP_VERIFYtrueVérifier le certificat du serveur. À positionner à false pour un certificat SMTP auto-signé.
SMTP_SENDER_EMAILnoreply@octopize.ioL'adresse d'expéditeur (« from »). Souvent identique à SMTP_USERNAME.
SMTP_USERNAMEAucuneSi le serveur exige une authentification.
SMTP_PASSWORDAucuneSi 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 / secretValeur par défautDescription
TELEMETRY_S3_ENDPOINT_URLhttps://s3.fr-par.scw.cloudPoint d'accès S3 de télémétrie
TELEMETRY_S3_REGIONfr-parRégion S3 de télémétrie
TELEMETRY_S3_BUCKET_NAMEFourni par OctopizeVotre bucket de télémétrie
telemetry_s3_access_key_idFourni par OctopizeFichier secret
telemetry_s3_secret_access_keyFourni par OctopizeFichier 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​

VariableDescription
AUTHENTIK_BOOTSTRAP_EMAILAdresse email de l'administrateur Authentik (akadmin). Demandée pendant install.
AUTHENTIK_BOOTSTRAP_PASSWORDGénérée. Mot de passe de akadmin.
AUTHENTIK_BOOTSTRAP_TOKENGé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​

VariableValeur par défautDescription
AVATAR_AUTHENTIK_BLUEPRINT_DOMAINGénéréeIdentique à AVATAR_DOMAIN.
AVATAR_AUTHENTIK_BLUEPRINT_CLIENT_IDGénéréeIdentifiant client OAuth2. L'API lit la même valeur sous le nom SSO_CLIENT_ID.
AVATAR_AUTHENTIK_BLUEPRINT_CLIENT_SECRETGénéréeSecret client OAuth2. L'API lit la même valeur sous le nom SSO_CLIENT_SECRET.
AVATAR_AUTHENTIK_BLUEPRINT_API_REDIRECT_URIGénéréehttps://<AVATAR_DOMAIN>/api/login/sso/auth.
AVATAR_AUTHENTIK_BLUEPRINT_API_WEBHOOK_URLGénéréeAdresse à 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_LICENSEexpertLicence 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é.