Référence

Paramètres des images

Les deux images se configurent par des variables d'environnement. Les noms de l'API séparent les niveaux par un double tiret bas, comme Smtp__Host. Un paramètre omis garde sa valeur par défaut. Les kits de démarrage de Héberger avec Docker, Héberger sur Kubernetes et Héberger sur AKS règlent déjà tout ce dont une installation normale a besoin ; cette page sert à en modifier un, ou à une installation qui vous est propre (Exécuter les images).

API : bases de données

ParamètreCe qu'il fait
ConnectionStrings__DefaultConnectionLa base de données où se trouvent les données de l'espace de travail par défaut, comme Host=postgres;Database=omnicore-db;Username=archestack;Password=.... Obligatoire.
ConnectionStrings__CoreLes métadonnées de l'espace de travail par défaut : entités, pages, scripts. Base de données omnicore-core. Obligatoire.
ConnectionStrings__IdentityUtilisateurs, espaces de travail et clés, partagés par tous les espaces de travail. Base de données omnicore-identity. Obligatoire.
ConnectionStrings__KeycloakUniquement pour reprendre les utilisateurs depuis Keycloak. Sinon, laissez-le vide.
ConnectionStrings__ClusterComment plusieurs instances de l'API s'informent mutuellement des changements. Par défaut la base de données d'identité ; réglez-le sur PostgreSQL lui-même quand un pooler de connexions comme PgBouncer se trouve entre les deux.
Database__CreateMissingtrue crée la base de données des données quand elle manque ; les deux autres sont créées dans tous les cas. Par défaut false ; les kits règlent true.

L'utilisateur de ces chaînes a besoin du droit de créer des bases de données : chaque nouvel espace de travail en reçoit deux qui lui sont propres, nommées d'après les noms de base ci-dessus.

API : adresses

ParamètreCe qu'il fait
ASPNETCORE_URLSOù l'API écoute dans le conteneur : http://+:8080.
ASPNETCORE_ENVIRONMENTToujours Production. Toute autre valeur montre le détail des erreurs à n'importe qui.
Http__PathBaseLe chemin sous lequel l'API est servie, comme /archestack. Vide à la racine.
Identity__AppBaseUrlL'adresse du builder, comme https://apps.example.com/archestack. Les liens d'invitation et de réinitialisation de mot de passe pointent ici.
ForwardedHeaders__TrustedProxiesLes adresses des proxys placés devant, dont le X-Forwarded-For est cru. La valeur par défaut couvre les réseaux privés ; sans la bonne valeur, chaque visiteur ressemble au proxy et partage une seule limite de débit.
Tenancy__HostSuffixSert chaque espace de travail sur un nom d'hôte qui lui est propre, <label>.<suffix>, et permet aux espaces de travail d'ajouter leurs propres domaines. Vide par défaut.

API : connexion

ParamètreCe qu'il fait
Identity__ProviderBuiltin : Archestack connecte lui-même les utilisateurs. Par défaut.
Identity__InitialAdminEmail, Identity__InitialAdminPasswordLe premier admin, créé au premier démarrage quand il n'existe encore aucun utilisateur. Utilisé une seule fois : changez ensuite le mot de passe dans Archestack. Omettez les deux pour créer plutôt l'admin dans le builder.
Identity__AllowCompanySignuptrue permet à n'importe qui de créer sa propre entreprise sur /register. Par défaut false. Les admins d'une entreprise peuvent exécuter des scripts sur le serveur, laissez-le donc désactivé sauf si vous exploitez un service public.
Identity__AccessTokenMinutesCombien de temps un jeton de connexion dure avant d'être renouvelé. Par défaut 15.
Identity__RefreshTokenDaysCombien de temps quelqu'un reste connecté sans utiliser Archestack. Par défaut 30.
Identity__MinimumPasswordLengthPar défaut 8.
Identity__MaxFailedLogins, Identity__LockoutMinutesAprès ce nombre de mots de passe erronés, un compte est verrouillé pendant cette durée. Par défaut 10 et 15.

API : mail

ParamètreCe qu'il fait
Smtp__Host, Smtp__Port, Smtp__UseSslLe serveur de mail pour les invitations et les réinitialisations de mot de passe. Port 587 et SSL par défaut. Sans hôte, l'admin qui envoie une invitation reçoit le lien à transmettre.
Smtp__Username, Smtp__PasswordLa connexion au serveur de mail.
Smtp__From, Smtp__FromNameL'expéditeur qu'affichent ces mails.

Les mails que les applications envoient passent par les comptes de mail que chaque espace de travail configure dans son builder.

API : fichiers et sauvegardes

ParamètreCe qu'il fait
Files__DirectoryOù vont les fichiers envoyés et les fichiers des espaces de travail, comme /files. Placez-y un volume : dans un conteneur qui n'en a pas, les fichiers sont perdus à la mise à jour suivante.
Files__MaxFileBytesLe plus gros fichier unique. Par défaut 100 Mo.
Files__MaxWorkspaceBytesCe qu'un espace de travail peut conserver. Par défaut 0, sans limite.
Backup__DirectoryOù vont les sauvegardes, comme /backups. Également un volume, et copiez ailleurs ce qui y arrive.
Backup__RetentionDaysCombien de temps les sauvegardes sont conservées. Par défaut 30.
Backup__CronScheduleQuand la sauvegarde nocturne tourne, sous forme de cron Quartz. Par défaut 0 0 3 * * ?, 03:00.

API : montée en charge et limites

ParamètreCe qu'il fait
Realtime__EntityChangesfalse empêche les écrans de se rafraîchir quand un enregistrement change ailleurs. Par défaut true. Désactivé, une installation sert beaucoup plus de personnes à la fois ; voir Capacité et dimensionnement.
Cluster__EnabledPermet à plusieurs instances de l'API de fonctionner comme une seule. Par défaut true ; laissez-le activé.
RateLimiting__EnabledLimites de requêtes par appelant. Par défaut true. Les limites s'appliquent par instance de l'API.
RateLimiting__PermitsPerMinuteRequêtes qu'une personne peut faire par minute. Par défaut 2000.
RateLimiting__AuthPermitsPerMinuteTentatives de connexion par minute depuis une même adresse. Par défaut 20.
RateLimiting__PublicPagePermitsPerMinuteCe qu'un visiteur sans compte peut demander aux pages publiques par minute. Par défaut 240.
Scripting__TypedData__EnabledLes Business Entities comme ensembles typés dans les scripts (Db.Order). Par défaut true.

API : clés

ParamètreCe qu'il fait
DataProtection__CertificatePath, DataProtection__CertificatePasswordUn certificat qui protège les clés avec lesquelles les mots de passe stockés sont chiffrés. Sans lui, ces clés se trouvent sans protection dans la base de données d'identité, si bien qu'une copie de cette base contient les deux moitiés.
Push__VapidPublicKey, Push__VapidPrivateKey, Push__SubjectUne seule paire de clés pour les notifications du navigateur sur chaque espace de travail. Omise, chaque espace de travail crée la sienne. Ne la changez jamais une fois que des personnes ont autorisé les notifications : leurs abonnements cessent de fonctionner.

API : supervision

ParamètreCe qu'il fait
Observability__EnabledEnvoie traces, métriques et logs par OpenTelemetry. Par défaut false.
Observability__OtlpEndpointVers où, comme http://otel-collector:4317.
Observability__Instance, Observability__EnvironmentNomment cette installation dans les tableaux de bord.

L'image web

ParamètreCe qu'il fait
VITE_API_URLL'adresse de l'API telle que le navigateur l'atteint, comme https://api.example.com. Vide quand l'API est à la même adresse sous /api.
BASE_PATHLe chemin sous lequel elle est servie, comme /archestack. Vide à la racine.
VITE_UI_MODEdashboard affiche le builder à / et l'application publiée sous /app. kiosk affiche l'application publiée à /, pour une adresse qui n'est que l'application.
VITE_DASHBOARD_URLAvec kiosk, l'adresse du builder quand il est sur un autre nom d'hôte.
VITE_APP_URLAvec dashboard, l'adresse de l'application publiée quand elle est sur un autre nom d'hôte.
API_INTERNAL_URLL'adresse de l'API à l'intérieur du réseau, comme http://api:8080. Les aperçus de liens dans les applications de messagerie et les pages que lisent les moteurs de recherche en proviennent. Dans Kubernetes, écrivez le nom complet du service, http://<service>.<namespace>.svc.cluster.local:8080.

L'image PostgreSQL

ParamètreCe qu'il fait
POSTGRES_USER, POSTGRES_PASSWORDL'utilisateur avec lequel l'API se connecte. Le mot de passe est fixé quand PostgreSQL démarre pour la première fois sur un disque vide ; modifier la variable par la suite ne le modifie pas dans la base de données.
POSTGRES_DBpostgres. L'API crée ses propres bases de données.
PGDATAUniquement sur un disque neuf dont la racine contient lost+found, comme dans Kubernetes : un dossier sous le point de montage, comme /var/lib/postgresql/data/pgdata.

Donnez au conteneur 1 Go de mémoire partagée, comme l'explique Exécuter les images.