Aller au contenu principal

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)
  • port : Port utilisé pour l'interface web.
    • Défaut : 8080
    • Type : number
  • workers : Nombre de processus.
    • Défaut : 1
    • Type : number | auto | 0
    • Note : auto ou 0 pour utiliser tous les cœurs CPU
  • trustProxy : Active la gestion des proxies.
  • restartOnFailure : Redémarre automatiquement les workers en cas d'échec.
    • Défaut : true
    • Type : boolean

logger

  • level : Niveau de journalisation du serveur.
    • Défaut : info
    • Type : trace | debug | info | warn | error | fatal
  • stdout : Affiche les logs dans la console (true) ou les écrit dans un fichier (false).
    • Défaut : true
    • Type : boolean
  • colorize: Active la coloration des logs.
    • Défaut : true
    • Type : boolean
  • 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 colorize est ignorée.
  • filePath: Chemin du fichier de log utilisé lorsque stdout est à false.
    • Défaut : logs/server.log
    • Type : string

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

cache

  • adapter : Système de cache.
    • Défaut : mysql
    • Type : mysql | redis
  • ttl : Durée de vie des données en cache, en secondes.
    • Défaut : 60
    • Type : number
  • redis : URL de connexion Redis (si adapter: redis est utilisé).
    • Défaut : redis://127.0.0.1:6379
    • Type : string
    • Requis : oui

websocket

  • adapter : Définit le mode de gestion des connexions WebSocket.
    • Défaut : cluster
    • Type : cluster | redis
  • corsOrigin : Origine(s) autorisée(s) pour les connexions WebSocket.
    • Défaut : *
    • Type : string
  • redis : URL de connexion Redis (si adapter: redis).
    • Défaut : redis://127.0.0.1:6379
    • Type : string
    • Requis : oui (si adapter: redis)

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
  • sender : Adresse d'envoi.
    • Défaut : Sync-in<notification@sync-in.com>
    • Type : string
  • 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
  • ignoreTLS: Désactive l'utilisation de STARTTLS même si le serveur l'annonce.
    • Défaut : false
    • Type : boolean
  • rejectUnauthorized: Rejette la connexion si le certificat TLS du serveur est invalide.
    • Défaut : false
    • Type : boolean
  • logger : Active les logs SMTP.
    • Défaut : false
    • Type : boolean
  • debug : Active le mode débogage.
    • Défaut : false
    • Type : boolean

auth

  • provider : Méthode d'authentification.
    • Défaut : mysql
    • Type : mysql | ldap | oidc
  • cookieSameSite : Politique SameSite pour les cookies.
    • Défaut : strict
    • Type : lax | strict
  • 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
      • issuer : Nom affiché dans l'application d'authentification.
        • Défaut : Sync-in
        • Type : string
  • 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
    • 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
  • ldap (si provider: ldap) :

    • Note : Voir la documentation dédiée
    • servers : Liste des serveurs LDAP.
      • Défaut : []
      • Type : string[]
      • Requis : oui
      • Exemple : [ldap://localhost:389]
    • 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é avec userPrincipalName.
      • Défaut : non défini
      • Type : string
      • Exemple : user@sync-in.com
    • netbiosName : Nom de domaine NetBIOS utilisé avec sAMAccountName.
      • 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
      • email : Attribut LDAP contenant l'adresse e-mail (par ex. mail, email).
        • Défaut : mail
        • Type : string
    • options:
      • autoCreateUser : Crée un utilisateur local lors de la première connexion LDAP.
        • Défaut : true
        • Type : boolean
      • autoCreatePermissions : Permissions attribuées aux utilisateurs créés automatiquement.
      • 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
  • oidc (si provider: 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
      • autoCreatePermissions : Permissions attribuées aux utilisateurs créés automatiquement.
      • 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
      • autoRedirect : Redirige automatiquement vers l'IdP.
        • Défaut : false
        • Type : boolean
      • buttonText : Libellé du bouton de connexion OIDC.
        • Défaut : Continue with OpenID Connect
        • Type : string
    • security:
      • scope : Scopes demandés.
        • Défaut : openid email profile
        • Type : string
      • tokenEndpointAuthMethod : Méthode d'authentification sur l'endpoint token.
        • Défaut : client_secret_basic
        • Type : client_secret_basic | client_secret_post
      • tokenSigningAlg : Algorithme de signature des ID tokens.
        • Défaut : RS256
        • Type : string
      • userInfoSigningAlg : Algorithme pour une réponse UserInfo signée.
        • Défaut : non défini
        • Type : string
      • skipSubjectCheck : Désactive la vérification du claim sub.
        • Défaut : false
        • Type : boolean

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.
    • 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
    • showHiddenFiles: Masquer ou afficher les fichiers commençant par un point dans l'explorateur de fichiers.
      • Défaut : false
      • Type : boolean
    • onlyoffice:
      • enabled : Active l'intégration OnlyOffice.
        • Défaut : false
        • Type : boolean
      • 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
    • collabora:
      • enabled : Active l'intégration Collabora Online.
        • Défaut : false
        • Type : boolean
      • 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

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