Aller au contenu principal

Référence de configuration

Toutes les variables d'environnement lues par l'API. L'API charge aussi un fichier .env dans son répertoire de travail ; les variables déjà définies dans l'environnement l'emportent. Pour l'essentiel, lisez Configuration.

Chaque variable est vérifiée au démarrage : une variable obligatoire absente, une valeur invalide, un nombre hors plage, une variable inconnue portant un préfixe connu (OIDC_, SFTP_, HOSTING_, SERVICES_, FUNCTIONS_, NETWORKS_, CRON_, COOKIE_, KEYCLOAK_, TRUSTED_) ou une variable supprimée arrêtent l'API, avec la liste de tous les problèmes.

Les booléens acceptent true, 1, yes, on et false, 0, no, off. Les listes sont séparées par des virgules.

Cœur​

VariableDéfautDescription
FRONT_URLobligatoireURL de l'interface web : seule origine acceptée par CORS, le contrôle CSRF et le WebSocket. Les utilisateurs y sont renvoyés après la connexion
COOKIE_SECRETobligatoireSecret de signature des cookies de session, 32 caractères minimum
PASSWORD_SECRETobligatoireDoit être défini ; inutilisé dans la version actuelle
COOKIE_DOMAINhôte de l'APIDomaine des cookies de session
APP_ENVproductiondevelopment active les logs de débogage
PORT2538Port d'écoute (1 à 65535)
DATA_DIR./dataUtilisateurs, clés API, tâches planifiées, registre des réseaux (fichiers JSON). /app/data dans l'image
API_LOG_DIR./logRépertoire de audit.log. /app/log dans l'image : montez-le pour conserver le journal
TRUSTED_PROXIESvide (boucle locale seule)Reverse proxys autorisés à fixer X-Forwarded-For : CIDR ou adresses. La boucle locale est toujours de confiance. Une plage plus large que /8 (IPv4) ou /32 (IPv6) est refusée

Authentification (OIDC)​

VariableDéfautDescription
OIDC_PROVIDERmicrosoftmicrosoft, keycloak ou generic
CLIENT_IDobligatoireIdentifiant du client OAuth 2.0
CLIENT_SECRETobligatoireSecret du client OAuth 2.0
REDIRECT_URIobligatoireURL publique de l'API ; le retour se fait sur <REDIRECT_URI>/openid-connect/redirect
SCOPEobligatoireScopes OAuth, par exemple openid email profile
TENANT_IDobligatoire avec microsoftTenant Microsoft Entra ID
APPLICATION_IDobligatoire avec microsoftApplication Microsoft Entra ID
KEYCLOAK_URLobligatoire avec keycloakURL de base de Keycloak
KEYCLOAK_REALMobligatoire avec keycloakRealm Keycloak
OIDC_DISCOVERY_URLobligatoire avec genericURL de découverte (.well-known/openid-configuration) de n'importe quel fournisseur OIDC standard

Tâches planifiées​

VariableDéfautDescription
CRON_HTTP_TIMEOUT900Durée par défaut et maximale d'une tâche planifiée HTTP, en secondes (1 à 86400)
CRON_MAX_JOBS50Nombre maximal de tâches planifiées (1 à 10000)

Réseaux privés​

VariableDéfautDescription
NETWORKS_MAX50Nombre maximal de réseaux privés, réseau système non compté (1 à 500)
NETWORKS_RESERVED_RANGESvidePlages IPv4 (au moins /8) utilisées hors de Docker (réseau local, VPN, routes statiques) qu'aucun réseau privé ne doit chevaucher

Voir Réseaux privés.

Sites web (hébergement)​

VariableDéfautDescription
HOSTING_ENABLEDfalseActive le module sites web
HOSTING_STACKS_DIRECTORY/data/composeRépertoire des projets compose (peut être partagé avec les stacks de CI). Utilisé aussi par le module services. Même chemin sur l'hôte et dans le conteneur de l'API
HOSTING_SITES_DIRECTORY/data/websites/hostedRépertoire des données des sites. Même chemin sur l'hôte et dans le conteneur de l'API
HOSTING_TRAEFIK_NETWORKobligatoire si activéRéseau Docker externe rejoint par les services web
HOSTING_TRAEFIK_HTTP_ENTRYPOINTwebEntrypoint HTTP de Traefik
HOSTING_TRAEFIK_HTTPS_ENTRYPOINTwebsecureEntrypoint HTTPS de Traefik
HOSTING_TRAEFIK_CERTRESOLVERletsencryptRésolveur de certificats de Traefik (vide : certificat par défaut)
HOSTING_RUN_UID1000Propriétaire des répertoires de sites créés par le panel
HOSTING_RUN_GID1000Groupe des répertoires de sites créés par le panel
HOSTING_DEFAULT_MEMORY_MB0Limite mémoire par défaut d'un site, en Mo (0 : illimitée, sinon 64 minimum)
HOSTING_MAX_MEMORY_MB0Limite mémoire maximale qu'un site peut demander, en Mo (0 : la mémoire de l'hôte, sinon 64 minimum ; plafonnée à l'hôte)
HOSTING_DEFAULT_CPUS0Limite CPU par défaut d'un site (0 : illimitée, sinon 0.1 minimum)
HOSTING_MAX_CPUS0Limite CPU maximale qu'un site peut demander (0 : les CPU de l'hôte, sinon 0.1 minimum ; plafonnée à l'hôte)

Une valeur par défaut supérieure à son maximum arrête l'API. Voir Sites web.

SFTP​

VariableDéfautDescription
SFTP_ENABLEDfalseActive le module SFTP (SFTPGo)
SFTP_DIRECTORYobligatoire si activéRépertoire de base des sites
SFTP_API_URLobligatoire si activéURL interne de l'API d'administration SFTPGo, par exemple http://sftpgo:8080
SFTP_API_KEYobligatoire si activéClé d'API d'administration SFTPGo
SFTP_DOMAINvideHôte SFTP affiché aux utilisateurs
SFTP_PORTvidePort SFTP affiché aux utilisateurs
SFTP_WEB_USER_INTERFACEvideURL du client web SFTPGo affichée aux utilisateurs
SFTP_INIT_DIRSweb,logsRépertoires créés dans le dossier d'un nouvel utilisateur sur demande (vide : aucun)

Voir SFTP.

Services managés​

VariableDéfautDescription
SERVICES_ENABLEDfalseActive le module services managés
SERVICES_DATA_DIRECTORY/data/servicesDonnées des instances. Chemin absolu, identique sur l'hôte et dans le conteneur de l'API, hors des répertoires des stacks, des sites et du SFTP
SERVICES_NETWORKloch-servicesNom Docker du réseau système services, partagé par les instances et les sites (créé internal s'il manque). Ni bridge, host, none, default, ni le réseau Traefik, ni un nom loch-net-*
SERVICES_ENGINESvide (tous)Moteurs activés : postgres, mariadb, mysql, mongodb, redis, valkey, rabbitmq, nats, s3, elasticmq, mosquitto
SERVICES_<ENGINE>_PINNED_VERSIONSvideVersions toujours proposées à la création, même hors support, par exemple SERVICES_MYSQL_PINNED_VERSIONS=5.6. Une variable par moteur
SERVICES_UPDATE_CHECK_INTERVAL12Heures entre deux découvertes des versions et mises à jour (0 à 168 ; 0 : à la demande uniquement)
SERVICES_MAX_RESOURCES_PER_INSTANCE50Ressources par instance partagée (1 à 500)
SERVICES_MAX_DEDICATED_INSTANCES20Instances dédiées par moteur (1 à 200)
SERVICES_ARCHIVE_ON_RETIREfalseRenommer les données d'une instance supprimée au lieu de les effacer
SERVICES_EXPOSE_ALLOWED_CIDRS127.0.0.1Adresses de l'hôte sur lesquelles un port peut être publié : CIDR ou adresses. 0.0.0.0 doit être seul dans la liste
SERVICES_ALLOW_PUBLIC_BINDfalseObligatoire pour toute adresse hors boucle locale dans SERVICES_EXPOSE_ALLOWED_CIDRS
SERVICES_TLSautoauto : TLS exigé dès qu'une instance est publiée hors boucle locale ; off : TLS désactivé
SERVICES_ALLOW_TLS_OPTIONALfalsePermet à une exposition de proposer TLS sans l'exiger (PostgreSQL, MySQL 8.4, MariaDB)
SERVICES_PUBLIC_HOSTvideNom d'hôte ou IP affiché aux clients et couvert par les certificats (sans schéma ni chemin)
SERVICES_TLS_CERT_FILEvideCertificat à utiliser à la place des certificats auto-signés. À définir avec la clé
SERVICES_TLS_KEY_FILEvideClé de ce certificat
SERVICES_S3_ADMIN_API_KEYvideVide : une instance Loch S3 par ressource (seul mode disponible). Définie : mode partagé, pas encore disponible, le moteur s3 est désactivé

La découverte des versions exige un accès HTTPS sortant vers registry-1.docker.io, auth.docker.io, ghcr.io, mirror.gcr.io et endoflife.date. Voir Services managés.

Fonctions (travail en cours)​

VariableDéfautDescription
FUNCTIONS_ENABLEDfalseActive le module des fonctions. Nécessite HOSTING_STACKS_DIRECTORY
FUNCTIONS_DATA_DIRECTORY/data/functionsCode, binaires du runtime, secrets et références. Même chemin sur l'hôte et dans le conteneur de l'API ; lettres, chiffres et _ . / - uniquement ; en dehors des répertoires des stacks, des sites, de SFTP, des services et des logs ; un sous-répertoire de DATA_DIR est accepté, pas DATA_DIR lui-même
FUNCTIONS_MAX50Nombre maximal de fonctions (1 à 1000)
FUNCTIONS_MAX_MEMORY3008Mémoire maximale d'une fonction, en Mo (128 à 10240)
FUNCTIONS_MAX_CODE_SIZE50Taille maximale d'un zip envoyé, en Mo (1 à 250)
FUNCTIONS_DEPLOYMENTS_KEPT3Déploiements conservés par fonction pour revenir en arrière, l'actif compris (1 à 20)
FUNCTIONS_TMP_SIZE512Taille par défaut de /tmp d'une fonction, en Mo (16 à 10240)
FUNCTIONS_MAX_TOTAL_MEMORY0Somme des limites de mémoire de toutes les fonctions, en Mo (0 : la mémoire de l'hôte Docker)
FUNCTIONS_MAX_TOTAL_CPUS0Somme des limites de CPU de toutes les fonctions (0 : 4 × les CPU de l'hôte Docker)
FUNCTIONS_RUNTIME_DOWNLOADtrueTélécharge le binaire de Loch Lambda Runtime depuis GitHub quand il manque ; false pour les installations hors ligne
FUNCTIONS_RUNTIME_SOURCE_DIRvideChemin absolu d'un répertoire contenant loch-lambda-runtime-linux-<arch>, lu au lieu du téléchargement (prioritaire sur FUNCTIONS_RUNTIME_DOWNLOAD). Lui et ses fichiers doivent appartenir à l'utilisateur du panel ou à root et n'être modifiables par personne d'autre

Les tailles sont en Mo et acceptent une unité binaire (512M, 1G). Le téléchargement demande le HTTPS sortant vers github.com, release-assets.githubusercontent.com et objects.githubusercontent.com. Voir Module Fonctions.

Variables supprimées​

L'API refuse de démarrer tant que l'une d'elles est définie, et indique ce qui la remplace.

VariableRemplacée par
SERVICES_EXPOSED_PORTS, SERVICES_PUBLISH_ADDRESSPorts choisis dans le panel, dans les limites de SERVICES_EXPOSE_ALLOWED_CIDRS
SERVICES_TLS_OPTIONALTLS facultatif choisi par exposition, autorisé par SERVICES_ALLOW_TLS_OPTIONAL
SERVICES_<ENGINE>_VERSIONSVersions découvertes sur les registres ; SERVICES_<ENGINE>_PINNED_VERSIONS

Connexion à Docker​

L'API se connecte à Docker avec l'environnement standard du client Docker (DOCKER_HOST et variables associées). Sans elles, elle utilise le socket local /var/run/docker.sock.

Interface​

Le conteneur de l'interface web a ses propres variables (API_URL, WS_URL, APP_NAME, LOGO_URL, FAVICON_URL, SUPPORT_PHONE, SUPPORT_URL, STATUS_URL) : voir Installation.