Aller au contenu

Configuration

Toute la configuration se fait via le fichier .env à la racine du dépôt selfhosted. Les valeurs sensibles (mots de passe, clés API) sont stockées sous forme de secrets Docker dans ./secrets/ — consultez Secrets Docker pour plus de détails.

VariableDescriptionValeur par défaut
PROJECT_NAMENom du projet Docker Composesolyto
SOLYTO_VERSIONTag de version pour les images solytolatest

Ce sont les noms de domaine pointant vers votre serveur. Chaque service dispose de son propre (sous-)domaine.

VariableDescriptionExemple
API_DOMAINDomaine de l’APIapi.example.com
APP_DOMAINDomaine du frontendapp.example.com
DAV_DOMAINDomaine pour CalDAV/CardDAVdav.example.com
ACME_EMAILE-mail pour les notifications de certificat Let’s Encryptadmin@example.com
VariableDescriptionValeur par défaut
APP_NAMENom d’affichage de l’applicationsolyto
APP_URLURL complète de l’APIhttps://${API_DOMAIN}
FRONTEND_URLURL complète du frontendhttps://${APP_DOMAIN}
APP_ENVEnvironnement de l’applicationproduction
APP_DEBUGActive le mode débogagefalse
APP_TIMEZONEFuseau horaire par défaut de l’applicationUTC
VariableDescriptionValeur par défaut
NODE_ENVEnvironnement Node.jsproduction
PUBLIC_API_URLURL utilisée par le frontend pour joindre l’APIhttps://${API_DOMAIN}
PUBLIC_DISABLE_DEV_REQUESTSMasque la section Dev Requeststrue
PUBLIC_REDIRECT_AFTER_LOGOUTURL de redirection après déconnexion${APP_URL}
PUBLIC_LEGAL_NOTICE_URLLien pour le bouton de mentions légales(vide)
PUBLIC_PRIVACY_URLLien pour le bouton de politique de confidentialité(vide)
PUBLIC_TERMS_URLLien pour le bouton des conditions d’utilisation(vide)

Définissez PUBLIC_DISABLE_DEV_REQUESTS=true pour masquer le lien Dev Requests et désactiver complètement la route (c’est la valeur par défaut sur les instances auto-hébergées, puisque les demandes n’atteindraient pas l’équipe solyto). Définissez l’une des variables PUBLIC_*_URL pour afficher un bouton de mentions légales renvoyant vers vos propres mentions légales, politique de confidentialité ou conditions d’utilisation.

VariableDescriptionValeur par défaut
MARIADB_VERSIONVersion de l’image MariaDB12
POSTGRES_VERSIONVersion de l’image PostgreSQL17
REDIS_VERSIONVersion de l’image Redis7.4.1
VariableDescriptionValeur par défaut
DB_CONNECTIONPilote de base de donnéesmariadb
DB_HOSTNom d’hôte MariaDBmariadb
DB_PORTPort MariaDB3306
DB_DATABASENom de la base de donnéesapi

Les identifiants (DB_USER, DB_PASSWORD) sont lus depuis les secrets Docker (db_user, db_password). Le mot de passe root de MariaDB est lu depuis mariadb_root_password.

VariableDescriptionValeur par défaut
DAV_DB_HOSTNom d’hôte PostgreSQLpostgres
DAV_DB_PORTPort PostgreSQL5432
DAV_DB_DATABASENom de la base de données DAVdav

Les identifiants sont lus depuis les secrets Docker (dav_db_user, dav_db_password). Le mot de passe root de PostgreSQL est lu depuis postgres_root_password.

VariableDescriptionValeur par défaut
REDIS_CLIENTBibliothèque cliente Redisphpredis
REDIS_HOSTNom d’hôte Redisredis
REDIS_PORTPort Redis6379
REDIS_PASSWORDMot de passe Redis(depuis un secret Docker)
REDIS_PREFIXPréfixe de clé pour cette instancesolyto_
VariableDescriptionValeur par défaut
TRUSTED_PROXIESIP de proxy de confiance (nécessaire lors de l’utilisation d’un proxy inverse externe)(vide)
VariableDescriptionValeur par défaut
TIMEZONEFuseau horaire du serveurUTC

Cela affecte les paramètres de fuseau horaire de PHP et du worker de file d’attente.

VariableDescriptionValeur par défaut
AI_BASE_URLURL de base de l’API compatible OpenAI(vide — valeur par défaut OpenAI)
AI_MODELModèle d’IA par défautgpt-4o-mini

La clé API est stockée dans le secret Docker ai_api_key. Ceci n’est nécessaire que si vous souhaitez utiliser les recommandations de bibliothèque.

VariableDescriptionValeur par défaut
MAILGUN_DOMAINDomaine Mailgun pour l’envoi d’e-mails(vide)
MAIL_FROM_ADDRESSAdresse e-mail de l’expéditeurnoreply@example.com
MAIL_FROM_NAMENom d’affichage de l’expéditeursolyto

Le secret Mailgun est stocké dans le secret Docker mailgun_secret.

VariableDescriptionValeur par défaut
IMAGE_DRIVERMoteur de traitement d’imagesintervention

Options :

  • intervention — utilise la bibliothèque PHP Intervention Image (par défaut, aucun service supplémentaire requis)
  • imgproxy — utilise le service autonome imgproxy pour de meilleures performances avec les images volumineuses

Lorsque IMAGE_DRIVER=imgproxy, le conteneur imgproxy est démarré et les identifiants sont lus depuis les secrets Docker imgproxy_key et imgproxy_salt.

VariableDescriptionValeur par défaut
TELEGRAM_DEBUG_CHAT_IDID de chat pour les notifications de débogage(vide)

Les identifiants du bot Telegram sont stockés dans les secrets Docker (solyto_bot_telegram_token, solyto_bot_webhook_token). Consultez Bot Telegram pour les instructions de configuration.

Après avoir modifié .env, redémarrez les services concernés :

Fenêtre de terminal
docker compose up -d

Docker Compose détecte les changements dans .env et recrée les conteneurs avec les nouvelles valeurs.