Configuration Serveur
Toutes les options de configuration du serveur Sync-in sont définies dans le fichier environment.yaml.
Un exemple complet est disponible sur GitHub : environment.dist.yaml.
Ce fichier vous permet de personnaliser le fonctionnement de votre instance Sync-in : réseau, authentification, base de données, cache, messagerie, etc.
Environment.yaml
server
host: Adresse IP d'écoute du serveur.- Défaut :
0.0.0.0 - Type : string (IP)
- Défaut :
port: Port utilisé pour l'interface web.- Défaut :
8080 - Type : number
- Défaut :
workers: Nombre de processus.- Défaut :
1 - Type : number |
auto|0 - Note :
autoou0pour utiliser tous les cœurs CPU
- Défaut :
trustProxy: Active la gestion des proxies.- Défaut :
1 - Type : boolean | number | string
- Note : Voir les options disponibles
- Défaut :
restartOnFailure: Redémarre automatiquement les workers en cas d'échec.- Défaut :
true - Type : boolean
- Défaut :
logger
level: Niveau de journalisation du serveur.- Défaut :
info - Type :
trace|debug|info|warn|error|fatal
- Défaut :
stdout: Affiche les logs dans la console (true) ou les écrit dans un fichier (false).- Défaut :
true - Type : boolean
- Défaut :
colorize: Active la coloration des logs.- Défaut :
true - Type : boolean
- Défaut :
jsonOutput: Permet d’activer la sortie des logs au format JSON.- Valeur par défaut :
false - Type : boolean
- Note : Lorsque cette option est activée, l’option
colorizeest ignorée.
- Valeur par défaut :
filePath: Chemin du fichier de log utilisé lorsquestdoutest àfalse.- Défaut :
logs/server.log - Type : string
- Défaut :
mysql
url: URL de connexion MySQL.- Défaut : non défini
- Type : string
- Requis : oui
- Exemple :
mysql://user:password@localhost:3306/database
logQueries: Permet de journaliser toutes les requêtes SQL envoyées à la base de données.- Défaut :
false - Type : boolean
- Défaut :
cache
adapter: Système de cache.- Défaut :
mysql - Type :
mysql|redis
- Défaut :
ttl: Durée de vie des données en cache, en secondes.- Défaut :
60 - Type : number
- Défaut :
redis: URL de connexion Redis (siadapter: redisest utilisé).- Défaut :
redis://127.0.0.1:6379 - Type : string
- Requis : oui
- Défaut :
websocket
adapter: Définit le mode de gestion des connexions WebSocket.- Défaut :
cluster - Type :
cluster|redis
- Défaut :
corsOrigin: Origine(s) autorisée(s) pour les connexions WebSocket.- Défaut :
* - Type : string
- Défaut :
redis: URL de connexion Redis (siadapter: redis).- Défaut :
redis://127.0.0.1:6379 - Type : string
- Requis : oui (si
adapter:redis)
- Défaut :
mail
host: Hôte du serveur SMTP.- Défaut : non défini
- Type : string
- Requis : oui
port: Port SMTP (ex. :587).- Défaut :
25 - Type : number
- Défaut :
sender: Adresse d'envoi.- Défaut :
Sync-in<notification@sync-in.com> - Type : string
- Défaut :
auth:user: Nom d'utilisateur SMTP.- Défaut : non défini
- Type : string
pass: Mot de passe SMTP.- Défaut : non défini
- Type : string
secure: Connexion SSL.- Défaut :
false - Type : boolean
- Défaut :
ignoreTLS: Désactive l'utilisation de STARTTLS même si le serveur l'annonce.- Défaut :
false - Type : boolean
- Défaut :
rejectUnauthorized: Rejette la connexion si le certificat TLS du serveur est invalide.- Défaut :
false - Type : boolean
- Défaut :
logger: Active les logs SMTP.- Défaut :
false - Type : boolean
- Défaut :
debug: Active le mode débogage.- Défaut :
false - Type : boolean
- Défaut :
auth
provider: Méthode d'authentification.- Défaut :
mysql - Type :
mysql|ldap|oidc
- Défaut :
cookieSameSite: Politique SameSite pour les cookies.- Défaut :
strict - Type :
lax|strict
- Défaut :
encryptionKey: Clé de chiffrement des secrets utilisateurs dans la base de données, optionnelle mais recommandée.- Défaut : non défini
- Type : string
- Note : ⚠️ Une fois la MFA activée, toute modification ou suppression de la clé de chiffrement rendra les secrets invalides, empêchant toute authentification ultérieure.
mfa:totp:enabled: Activer l'authentification TOTP pour tous les utilisateurs.- Défaut :
true - Type : boolean
- Défaut :
issuer: Nom affiché dans l'application d'authentification.- Défaut :
Sync-in - Type : string
- Défaut :
token:access:secret: Secret JWT pour les tokens d'accès.- Défaut : non défini
- Type : string
- Requis : oui
expiration: Durée de validité du token d'accès.- Défaut :
30m - Type : string
- Défaut :
refresh:secret: Secret JWT pour les tokens de rafraîchissement.- Défaut : non défini
- Type : string
- Requis : oui
expiration: Durée de validité du token de rafraîchissement.- Défaut :
4h - Type : string
- Défaut :
-
ldap(siprovider: ldap) :- Note : Voir la documentation dédiée
servers: Liste des serveurs LDAP.- Défaut :
[] - Type : string[]
- Requis : oui
- Exemple :
[ldap://localhost:389]
- Défaut :
baseDN: DN de base.- Défaut : non défini
- Type : string
- Requis : oui
- Exemple :
ou=people,dc=example,dc=com
filter: Filtre LDAP optionnel ajouté à la recherche.- Défaut : non défini
- Type : string
- Exemple :
(acl=admin)
upnSuffix: Suffixe de domaine AD utilisé avecuserPrincipalName.- Défaut : non défini
- Type : string
- Exemple : user@
sync-in.com
netbiosName: Nom de domaine NetBIOS utilisé avecsAMAccountName.- Défaut : non défini
- Type : string
- Exemple :
SYNC_IN\user
serviceBindDN: DN d'un compte de service pour effectuer les recherches LDAP.- Défaut : non défini
- Type : string
serviceBindPassword: Mot de passe du compte de service.- Défaut : non défini
- Type : string
attributes:login: Attribut LDAP utilisé pour l'identification de l'utilisateur.- Défaut :
uid - Type :
uid|cn|mail|sAMAccountName|userPrincipalName
- Défaut :
email: Attribut LDAP contenant l'adresse e-mail (par ex.mail,email).- Défaut :
mail - Type : string
- Défaut :
options:autoCreateUser: Crée un utilisateur local lors de la première connexion LDAP.- Défaut :
true - Type : boolean
- Défaut :
autoCreatePermissions: Permissions attribuées aux utilisateurs créés automatiquement.- Défaut :
[] - Type : string[]
- Note : Voir les identifiants des permissions
- Défaut :
adminGroup: Groupe LDAP qui donne les privilèges admin (CN simple ou DN complet).- Défaut : non défini
- Type : string
enablePasswordAuthFallback: Autorise le mot de passe local si LDAP est indisponible.- Défaut :
true - Type : boolean
- Défaut :
-
oidc(siprovider: oidc) :- Note : Voir la documentation dédiée
issuerUrl: URL de découverte du fournisseur OpenID Connect.- Défaut : non défini
- Type : string
- Requis : oui
clientId: Client ID OAuth 2.0.- Défaut : non défini
- Type : string
- Requis : oui
clientSecret: Client Secret OAuth 2.0.- Défaut : non défini
- Type : string
- Requis : oui
redirectUri: URL de callback enregistrée côté fournisseur.- Défaut : non défini
- Type : string
- Requis : oui
- Note : ⚠️ L'URL doit se terminer par
/api/auth/oidc/callback
options:autoCreateUser: Crée un utilisateur local à la première connexion OIDC.- Défaut :
true - Type : boolean
- Défaut :
autoCreatePermissions: Permissions attribuées aux utilisateurs créés automatiquement.- Défaut :
[] - Type : string[]
- Note : Voir les identifiants des permissions
- Défaut :
adminRoleOrGroup: Rôle ou groupe donnant les privilèges administrateur.- Défaut : non défini
- Type : string
enablePasswordAuth: Autorise l'authentification locale par mot de passe pour les utilisateurs existants.- Défaut :
true - Type : boolean
- Défaut :
autoRedirect: Redirige automatiquement vers l'IdP.- Défaut :
false - Type : boolean
- Défaut :
buttonText: Libellé du bouton de connexion OIDC.- Défaut :
Continue with OpenID Connect - Type : string
- Défaut :
security:scope: Scopes demandés.- Défaut :
openid email profile - Type : string
- Défaut :
tokenEndpointAuthMethod: Méthode d'authentification sur l'endpoint token.- Défaut :
client_secret_basic - Type :
client_secret_basic|client_secret_post
- Défaut :
tokenSigningAlg: Algorithme de signature des ID tokens.- Défaut :
RS256 - Type : string
- Défaut :
userInfoSigningAlg: Algorithme pour une réponse UserInfo signée.- Défaut : non défini
- Type : string
skipSubjectCheck: Désactive la vérification du claimsub.- Défaut :
false - Type : boolean
- Défaut :
applications
files:dataPath: Emplacement de stockage des fichiers de l'application, incluant les fichiers utilisateurs, les espaces et les fichiers temporaires.- Défaut : non défini
- Type : string
- Requis : oui
maxUploadSize: Taille maximale d'un fichier à uploader.- Défaut :
5368709120(5 GB) - Type : number
- Note : Valeur exprimée en octets.
- Défaut :
contentIndexing: Activer ou désactiver l'indexation du contenu des fichiers utilisée pour la recherche en texte intégral.- Défaut :
true - Type : boolean
- Défaut :
showHiddenFiles: Masquer ou afficher les fichiers commençant par un point dans l'explorateur de fichiers.- Défaut :
false - Type : boolean
- Défaut :
onlyoffice:enabled: Active l'intégration OnlyOffice.- Défaut :
false - Type : boolean
- Défaut :
secret: Secret JWT partagé avec OnlyOffice.- Défaut : non défini
- Type : string
- Requis : oui (si activé pour OnlyOffice)
externalServer: URL de votre serveur OnlyOffice.- Défaut : non défini
- Type : string
- Exemple :
https://onlyoffice.my-domain.com - Note : Optionnel si vous utilisez le Docker Compose Sync-in.
verifySSL: Vérifie le certificat SSL.- Défaut :
false - Type : boolean
- Défaut :
collabora:enabled: Active l'intégration Collabora Online.- Défaut :
false - Type : boolean
- Défaut :
externalServer: URL de votre serveur Collabora Online.- Défaut : non défini
- Type : string
- Exemple :
https://collabora.my-domain.com - Note : Optionnel si vous utilisez le Docker Compose Sync-in.
appStore:repository: Choix du dépôt pour les releases des clients applicatifs.- Défaut :
public - Type : public | local
- Défaut :
Variables d'environnement
Tous les paramètres de configuration du serveur Sync-in peuvent être définis via des variables d'environnement préfixées par SYNCIN_.
Par exemple, la configuration suivante :
auth:
encryptionKey: "changeEncryptionKeyWithStrongKey"
token:
access:
secret: "changeAccessWithStrongSecret"
refresh:
secret: "changeRefreshWithStrongSecret"
mysql:
url: mysql://root:MySQLRootPassword@mariadb:3306/sync_in
Peut être reproduite à l'aide des variables d'environnement suivantes :
SYNCIN_AUTH_ENCRYPTIONKEY="changeEncryptionKeyWithStrongKey"
SYNCIN_AUTH_TOKEN_ACCESS_SECRET="changeAccessWithStrongSecret"
SYNCIN_AUTH_TOKEN_REFRESH_SECRET="changeAccessWithStrongSecret"
SYNCIN_MYSQL_URL="mysql://root:MySQLRootPassword@mariadb:3306/sync_in"
info
Pour les valeurs booléennes, utilisez true ou false.
Les valeurs numériques sont automatiquement interprétées.
Configuration minimale
mysql:
url: mysql://root:MySQLRootPassword@mariadb:3306/sync_in
auth:
encryptionKey: changeEncryptionKeyWithStrongKey
token:
access:
secret: changeAccessWithStrongSecret
refresh:
secret: changeRefreshWithStrongSecret
applications:
files:
dataPath: /app/data
Configuration complète
server:
# hôte par défaut : `0.0.0.0`
host: 0.0.0.0
# port par défaut : `8080`
port: 8080
# workers: `auto` ou `0` (utilise tous les CPUs) | nombre de CPUs à utiliser
# défaut: 1
workers: 1
# trust proxy: nombre (fait confiance au nième saut depuis le proxy frontal comme étant le client) | `true` | `false` | `127.0.0.1,192.168.1.1/24`
# défaut: 1
trustProxy: 1
# restartOnFailure: redémarre automatiquement les workers s'ils sont arrêtés ou meurent
# défaut: `true`
restartOnFailure: true
logger:
# level: `trace` | `debug` | `info` | `warn` | `error` | `fatal`
# défaut: `info`
level: info
# stdout: si false, les logs sont écrits dans le répertoire d'exécution
# défaut: `true`
stdout: true
# Colorise la sortie.
# défaut: `true`
colorize: true
# Active la sortie des logs au format JSON (désactive `colorize`).
# défaut : `false`
jsonOutput: false
# Chemin vers le fichier de log utilisé lorsque stdout est à false
filePath:
mysql:
# requis
url: mysql://user:MySQLPassword@localhost:3306/database
# défaut: `false`
logQueries: false
cache:
# adapter: `mysql` | `redis`
# défaut: `mysql`
adapter: mysql
# TTL en secondes
# défaut: `60`
ttl: 60
# URL de l'adaptateur Redis
# défaut: `redis://127.0.0.1:6379`
redis: redis://127.0.0.1:6379
websocket:
# adapter: `cluster` (workers Node.js : défaut) | `redis`
# défaut: `cluster`
adapter: cluster
# Origine CORS autorisée
# défaut: `*`
corsOrigin: '*'
# URL de l'adaptateur Redis
# défaut: `redis://127.0.0.1:6379`
redis: redis://127.0.0.1:6379
mail:
host: smtp.server.com
# défaut: `25`
port: 25
# défaut: `Sync-in<notification@sync-in.com>`
sender: 'Sync-in<notification@sync-in.com>'
# optionnel
auth:
user: user
pass: password
# Définit si la connexion doit utiliser SSL (si true) ou non (si false)
# Note : définir `secure: false` ne signifie pas forcément que les messages sont envoyés en clair
# Si le serveur supporte STARTTLS, la connexion est généralement automatiquement mise à niveau en TLS
# défaut: `false`
secure: false
# ignoreTLS: si true, désactive l'utilisation de STARTTLS même si le serveur l'annonce
# défaut: false
ignoreTLS: false
# rejectUnauthorized: rejette la connexion si le certificat TLS du serveur est invalide
# défaut: false
rejectUnauthorized: false
# Activer le logger
# défaut: `false`
logger: false
# Définir le niveau de log à debug
# défaut: `false`
debug: false
auth:
# provider : `mysql` | `ldap` | `oidc`
# défaut: `mysql`
provider: mysql
# Clé utilisée pour chiffrer les clés secrètes utilisateur dans la base de données
# Optionnel mais fortement recommandé
# Avertissement : ne modifiez pas et ne supprimez pas la clé de chiffrement après l'activation de la MFA, sinon les codes deviendront invalides
encryptionKey: changeEncryptionKeyWithStrongKey
# paramètre sameSite du cookie : `lax` | `strict`
# défaut: `strict`
cookieSameSite: strict
token:
access:
# Utilisé pour les signatures des tokens et des cookies
# requis
secret: changeAccessWithStrongSecret
# expiration du token = maxAge du cookie
# défaut: `30m`
expiration: 30m
refresh:
# Utilisé pour les signatures des tokens et des cookies
# requis
secret: changeRefreshWithStrongSecret
# expiration du token = maxAge du cookie
# défaut: `4h`
expiration: 4h
# Authentification multifacteur
mfa:
# Configuration TOTP
totp:
# Activer l'authentification TOTP
# défaut: true
enabled: true
# Nom affiché dans l'application d'authentification (FreeOTP, Proton Authenticator, Aegis Authenticator etc.)
# défaut: Sync-in
issuer: Sync-in
# Authentification LDAP
ldap:
# ex.: [ldap://localhost:389, ldaps://localhost:636] (tableau requis)
# Plusieurs serveurs sont essayés dans l'ordre jusqu'à ce qu'un bind/recherche réussisse.
# requis
servers: []
# baseDN: Nom distinctif (ex.: ou=people,dc=ldap,dc=sync-in,dc=com)
# Utilisé comme base de recherche pour les utilisateurs, et pour les groupes lorsque adminGroup est un CN.
# requis
baseDN: ou=people,dc=ldap,dc=sync-in,dc=com
# filter, ex: (acl=admin)
# Ajouté tel quel au filtre de recherche LDAP (configuration de confiance).
# optionnel
filter:
# upnSuffix: suffixe de domaine AD utilisé avec `userPrincipalName` pour construire des logins au format UPN (ex.: user@`sync-in.com`)
# Utilisé uniquement lorsque login est défini sur userPrincipalName.
# optionnel
upnSuffix:
# netbiosName: nom de domaine NetBIOS utilisé avec `sAMAccountName` pour construire des logins hérités (ex.: `SYNC_IN`\user)
# Utilisé uniquement lorsque login est défini sur sAMAccountName.
# optionnel
netbiosName:
# serviceBindDN: Nom distinctif d'un compte de service utilisé pour rechercher utilisateurs/groupes.
# Lorsqu'il est défini, les recherches sont effectuées avec ce compte ; le bind utilisateur sert uniquement à valider le mot de passe.
# ex.: cn=syncin,ou=services,dc=ldap,dc=sync-in,dc=com
# optionnel
serviceBindDN:
# serviceBindPassword: Mot de passe du compte de service utilisé pour rechercher utilisateurs/groupes.
# optionnel
serviceBindPassword:
attributes:
# Attribut LDAP correspondant au login stocké en base.
# Avec un service bind, il sert à localiser l'utilisateur (puis bind avec le DN trouvé).
# Sans service bind, il sert à construire le DN de l'utilisateur pour le bind (sauf AD : UPN/DOMAIN\\user).
# Si vous choisissez mail, les logins locaux doivent être l'adresse e-mail de l'utilisateur.
# ex.: uid | cn | mail | sAMAccountName | userPrincipalName
# défaut: uid
login: uid
# Attribut utilisé pour récupérer l'adresse e-mail de l'utilisateur
# email: `mail` ou `email`
# défaut: `mail`
email: mail
options:
# autoCreateUser: Créer automatiquement un utilisateur local lors de la première authentification LDAP réussie.
# Le compte local est créé à partir des attributs LDAP :
# - login: depuis l'attribut LDAP de login configuré (ex.: uid, cn, sAMAccountName, userPrincipalName)
# - email: depuis l'attribut email configuré (requis)
# - firstName / lastName: depuis givenName+sn, ou displayName, ou cn (fallback)
# Si désactivé, seuls les utilisateurs existants peuvent s'authentifier via LDAP.
# défaut: true
autoCreateUser: true
# autoCreatePermissions: Permissions attribuées aux utilisateurs créés automatiquement via LDAP.
# Appliquées uniquement lors de la création utilisateur lorsque autoCreateUser est activé.
# N'a aucun effet sur les utilisateurs existants.
# Une liste complète des permissions est disponible dans la documentation : https://sync-in.com/docs/admin-guide/permissions
# ex.: [personal_space, spaces_access] (tableau requis)
# défaut: []
autoCreatePermissions: []
# adminGroup: Groupe LDAP qui accorde les privilèges administrateur Sync-in.
# Accepte soit un CN simple (ex.: "Admins") soit un DN complet (ex.: "CN=Admins,OU=Groups,DC=ldap,DC=sync-in,DC=com").
# Si défini, les utilisateurs dont `memberOf` contient ce CN (ou dont le DN de groupe correspond) reçoivent le rôle administrateur.
# Si `memberOf` est absent, Sync-in peut aussi vérifier l'appartenance en recherchant des groupes `groupOfNames`.
# Si les utilisateurs ne peuvent pas lire `groupOfNames`, utilisez un compte de service bind pour effectuer cette recherche.
# Si non défini, les utilisateurs administrateurs existants conservent leur rôle et il ne peut pas être retiré via LDAP.
# optionnel
adminGroup:
# enablePasswordAuthFallback: Autoriser l'authentification par mot de passe local lorsque l'authentification LDAP échoue.
# Lorsque activé, les utilisateurs peuvent s'authentifier avec leur mot de passe local si le service LDAP est indisponible.
# Toujours autorisé pour les utilisateurs administrateurs (accès "break-glass").
# défaut: true
enablePasswordAuthFallback: true
oidc:
# issuerUrl: URL de l'endpoint de découverte du fournisseur OIDC
# ex.:
# - Keycloak: https://auth.example.com/realms/my-realm
# - Authentik: https://auth.example.com/application/o/my-app/
# - Google: https://accounts.google.com
# - Microsoft: https://login.microsoftonline.com/<tenant-id>/v2.0
# Le serveur découvrira automatiquement les endpoints d'autorisation, de token et de userinfo.
# requis
issuerUrl:
# clientId: Client ID OAuth 2.0 obtenu auprès de votre fournisseur OIDC
# requis
clientId:
# clientSecret: Client Secret OAuth 2.0 obtenu auprès de votre fournisseur OIDC
# requis
clientSecret: changeOIDCClientSecret
# redirectUri: URL de callback vers laquelle les utilisateurs sont redirigés après authentification
# Cette URL doit être enregistrée dans les redirect URIs autorisées de votre fournisseur OIDC
# ex.: (callback API) : https://sync-in.domain.com/api/auth/oidc/callback
#
# Pour autoriser l'authentification depuis l'application desktop, les URLs de redirection suivantes doivent aussi être enregistrées dans votre fournisseur OIDC :
# - http://127.0.0.1:49152/oidc/callback
# - http://127.0.0.1:49153/oidc/callback
# - http://127.0.0.1:49154/oidc/callback
#
# Si votre fournisseur OIDC supporte les wildcards ou les expressions régulières, vous pouvez à la place enregistrer une seule entrée telle que :
# - http://127.0.0.1/*
#
# requis
redirectUri: https://sync-in.domain.com/api/auth/oidc/callback
options:
# autoCreateUser: Créer automatiquement un compte utilisateur local lors de la première connexion OIDC réussie.
# Lorsque activé, le `login` utilisateur est dérivé des claims OIDC : preferred_username, puis la partie locale de l'e-mail, avec `sub` en dernier recours.
# Lorsque désactivé, seuls les utilisateurs existants sont autorisés à s'authentifier via OIDC.
# défaut: true
autoCreateUser: true
# autoCreatePermissions: Permissions attribuées aux utilisateurs créés automatiquement via OIDC.
# Appliquées uniquement lorsque autoCreateUser est activé et uniquement au moment de la création utilisateur.
# Cette option n'a aucun effet sur les utilisateurs existants.
# Une liste complète des permissions est disponible dans la documentation : https://sync-in.com/docs/admin-guide/permissions
# ex.: [personal_space, spaces_access] (tableau requis)
# défaut: []
autoCreatePermissions: []
# adminRoleOrGroup: Nom du rôle ou du groupe qui accorde l'accès administrateur Sync-in
# Les utilisateurs ayant cette valeur recevront les privilèges administrateur.
# La valeur est comparée aux claims `roles` ou `groups` fournis par l'IdP.
# Note : selon le fournisseur (ex.: Keycloak), les rôles/groupes peuvent n'être exposés que dans les tokens
# et nécessiter des mappers IdP appropriés pour être inclus dans l'ID token ou la réponse UserInfo.
# optionnel
adminRoleOrGroup:
# enablePasswordAuth: Autoriser l'authentification locale par mot de passe lors de l'utilisation d'OIDC.
# Lorsque activé, les utilisateurs peuvent s'authentifier avec leur mot de passe Sync-in au lieu d'OIDC.
# L'authentification locale par mot de passe est toujours autorisée pour :
# - les utilisateurs invités
# - les utilisateurs administrateurs (accès "break-glass")
# - les périmètres applicatifs (mots de passe d'application)
# Les utilisateurs standard ne sont autorisés que si cette option est activée.
# Les utilisateurs doivent déjà exister localement et avoir un mot de passe défini.
# défaut: true
enablePasswordAuth: true
# autoRedirect: Rediriger automatiquement les utilisateurs vers le flux de connexion OIDC.
# Lorsque activé, la page de connexion est ignorée et les utilisateurs sont envoyés directement vers le fournisseur OIDC.
# défaut: false
autoRedirect: false
# buttonText: Libellé affiché sur le bouton de connexion OIDC.
# défaut: Continue with OpenID Connect
buttonText: Continue with OpenID Connect
security:
# scope: Scopes OAuth 2.0 à demander (chaîne séparée par des espaces)
# Scopes courants : openid (requis), email, profile, groups, roles
# défaut: `openid email profile`
scope: openid email profile
# Méthode d'authentification du client OAuth 2.0 / OIDC utilisée sur l'endpoint token.
# Valeurs possibles :
# - client_secret_basic (DÉFAUT) : authent HTTP Basic avec client_id et client_secret.
# Recommandé pour les clients backend (confidentiels).
# - client_secret_post : client_id et client_secret envoyés dans le corps de la requête.
# - none (ou undefined) : pas d'authentification client (clients publics : mobile / SPA avec PKCE).
# défaut: `client_secret_basic`
tokenEndpointAuthMethod: client_secret_basic
# tokenSigningAlg: Algorithme utilisé pour vérifier la signature des ID tokens (JWT) renvoyés par le fournisseur OpenID Connect.
# Valeurs courantes : RS256, RS384, RS512, ES256, ES384, ES512
# défaut: `RS256`
tokenSigningAlg: RS256
# userInfoSigningAlg: Algorithme utilisé pour demander une réponse UserInfo signée au fournisseur OpenID Connect.
# Lorsqu'il n'est pas défini, l'endpoint UserInfo renvoie une réponse JSON standard (non signée). C'est la configuration la plus courante et recommandée.
# Valeurs courantes : (vide), RS256, RS384, RS512, ES256, ES384, ES512
# défaut: vide
userInfoSigningAlg:
# skipSubjectCheck: Désactiver la vérification que le claim `sub` renvoyé par l'endpoint UserInfo
# correspond au claim `sub` de l'ID token.
# À définir sur true uniquement pour les fournisseurs OIDC non conformes ou hérités.
# défaut: false
skipSubjectCheck: false
applications:
files:
# requis
dataPath: /home/sync-in
# défaut: 5368709120 (5 GB)
maxUploadSize: 5368709120
# Activer l'indexation du contenu des fichiers pour la recherche (désactiver ceci désactive la recherche plein texte)
# défaut: true
contentIndexing: true
# Afficher les fichiers commençant par un point dans l'explorateur de fichiers
# défaut: false
showHiddenFiles: false
onlyoffice:
# activer l'intégration onlyoffice
# défaut: false
enabled: false
# Secret utilisé pour les tokens jwt, il doit être identique sur le serveur onlyoffice
# requis
secret: onlyOfficeSecret
# Si aucun serveur externe n'est configuré, le service Nginx local de la configuration Docker Compose est utilisé.
# Si un serveur externe est configuré, il sera utilisé à la place.
# Note : lors de l'utilisation d'un serveur externe (ex.: https://onlyoffice.domain.com), assurez-vous qu'il est accessible depuis le client/navigateur.
# défaut: null
externalServer:
# Si vous utilisez https, définissez à `true`.
# défaut: false
verifySSL: false
collabora:
# activer l'intégration collabora online
# défaut: false
enabled: false
# Si aucun serveur externe n'est configuré, le service Nginx local de la configuration Docker Compose est utilisé.
# Si un serveur externe est configuré, il sera utilisé à la place.
# Note : lors de l'utilisation d'un serveur externe (ex.: https://collabora.domain.com), assurez-vous qu'il est accessible depuis le client/navigateur.
# défaut: null
externalServer:
appStore:
# repository: `public` | `local`
# défaut: `public`
repository: public