Installation Docker Compose
Installation de Sync-in avec Docker Compose.
Sync-in est distribué sous forme d'une image Docker officielle, disponible sur Docker Hub : https://hub.docker.com/r/syncin/server
Cette image est spécifiquement conçue pour être déployée et exécutée dans un environnement Docker Compose.
📋 Prérequis
⚙️ Configuration matérielle minimale
- RAM : 1 Go
- CPU : 1 cœur/vCPU
- Espace disque : 2 Go
🐳 Docker Compose
Cette configuration repose sur des fichiers Docker Compose utilisant l'extension x-include.
Vous aurez besoin de :
- Docker Engine version 24 ou supérieure
- Docker Compose version 2.20 ou supérieure
✅ Vous pouvez vérifier les versions installées avec :
docker --version
docker compose version
🔗 Si Docker n'est pas installé, suivez le guide d'installation officiel de Docker.
📦 Fichiers de configuration
Pour récupérer les fichiers Docker Compose de Sync-in (sync-in-docker) depuis https://github.com/Sync-in/server/releases, utilisez l'une des méthodes suivantes :
curletunzip:curl -L -o sync-in-docker.zip \https://github.com/Sync-in/server/releases/latest/download/sync-in-docker.zip && \unzip sync-in-docker.zip- ou avec
curlettar:curl -L -o sync-in-docker.tar.gz \https://github.com/Sync-in/server/releases/latest/download/sync-in-docker.tar.gz && \tar zxvf sync-in-docker.tar.gz
Vous devriez obtenir la structure suivante dans le répertoire sync-in-docker :
├── config
│ ├── collabora
│ │ └── docker-compose.collabora.yaml
│ ├── drawio
│ │ └── docker-compose.drawio.yaml
│ ├── nginx
│ │ ├── collabora.conf
│ │ ├── docker-compose.nginx.yaml
│ │ ├── drawio.conf
│ │ ├── nginx.conf
│ │ ├── onlyoffice.conf
│ │ └── eurooffice.conf
│ ├── onlyoffice
│ │ └── docker-compose.onlyoffice.yaml
│ ├── eurooffice
│ │ └── docker-compose.eurooffice.yaml
│ └── sync-in-desktop-releases
│ ├── docker-compose.sync-in-desktop-releases.yaml
│ └── update.sh
├── docker-compose.yaml
└── environment.yaml
Vous pouvez vérifier la structure et le contenu depuis le dépôt GitHub.
🚀 Démarrage rapide
1. Configurer les secrets requis
Accédez au répertoire Docker Compose :
cd sync-in-docker
Avant de démarrer le serveur, définissez les secrets requis pour les tokens d'accès et de rafraîchissement, puis configurez une clé de chiffrement dédiée.
Modifiez le fichier environment.yaml :
server:
# Optionnelle pour le moment ; obligatoire dans la prochaine version majeure
publicUrl: 'https://sync-in.domain.com'
mysql:
# Utilisez le mot de passe root défini dans docker-compose.yaml
url: 'mysql://root:MySQLRootPassword@mariadb:3306/sync_in'
auth:
encryptionKey: 'REPLACE_WITH_LONG_RANDOM_ENCRYPTION_KEY'
token:
access:
secret: 'REPLACE_WITH_LONG_RANDOM_ACCESS_SECRET'
refresh:
secret: 'REPLACE_WITH_LONG_RANDOM_REFRESH_SECRET'
publicUrl doit correspondre à l'adresse exposée aux utilisateurs, avec le protocole et tout port non standard. Elle reste optionnelle jusqu'à la
prochaine version majeure. L'URL doit être accessible depuis les navigateurs des utilisateurs et, pour les éditeurs bureautiques qui communiquent
avec Sync-in, depuis leurs conteneurs. Lorsque publicUrl est absente, les éditeurs utilisent l'origine de la requête comme solution de repli pour
assurer la compatibilité. Pour des raisons de sécurité, elle deviendra obligatoire dans la prochaine version majeure afin que les endpoints transmis
aux éditeurs soient construits à partir d'une origine de confiance contrôlée par l'administrateur plutôt qu'à partir des en-têtes de la requête.
Puis, modifiez le fichier docker-compose.yaml pour vous assurer que le mot de passe MySQL correspond :
services:
mariadb:
environment:
MYSQL_ROOT_PASSWORD: 'MySQLRootPassword'
Utilisez des chaînes longues et générées aléatoirement pour vos secrets afin de garantir une sécurité maximale.
Dans les fichiers YAML, utilisez des guillemets simples pour les mots de passe contenant des caractères spéciaux.
Vous pouvez utiliser des variables d'environnement pour configurer les secrets précédemment définis.
Consultez la section Variables d'environnement pour plus de détails
2. Configurer le stockage des données
Les données de Sync-in et de MariaDB sont déjà persistées dans des volumes Docker nommés. Pour une installation de test, aucune modification n'est nécessaire. En production, vous pouvez monter des répertoires de l'hôte afin de maîtriser directement leur emplacement et leur sauvegarde. Les exemples ci-dessous montrent comment remplacer chacun de ces volumes par un répertoire de l'hôte.
Sync-in
Le volume data, monté sur /app/data, contient les fichiers gérés par Sync-in.
services:
sync_in:
volumes:
# Volume Docker par défaut
# - data:/app/data
# Répertoire de l'hôte
- '/home/sync-in-data:/app/data'
L'entrypoint Docker force toujours applications.files.dataPath à /app/data. N'ajoutez pas dataPath dans environment.yaml et n'essayez pas
de le surcharger avec SYNCIN_APPLICATIONS_FILES_DATAPATH : toute valeur fournie au conteneur est remplacée. Pour choisir l'emplacement de
stockage, configurez uniquement la source du volume monté sur /app/data.
MariaDB
Le volume mariadb_data, monté sur /var/lib/mysql, contient les données de la base MariaDB.
services:
mariadb:
volumes:
# Volume Docker par défaut
# - mariadb_data:/var/lib/mysql
# Répertoire de l'hôte
- '/home/sync-in-mariadb:/var/lib/mysql'
3. Lancer le serveur Sync-in
Pour définir vos propres identifiants administrateur au premier lancement, utilisez :
INIT_ADMIN=true INIT_ADMIN_LOGIN='user' INIT_ADMIN_PASSWORD='password' docker compose up -d
Remplacez user et password par les identifiants souhaités.
Pour consulter des exemples de fichiers Compose et les détails sur la gestion des guillemets, voir Variables & Secrets.
Si vous ne définissez pas ces variables et lancez simplement :
INIT_ADMIN=true docker compose up -d
Le serveur utilisera les identifiants administrateur par défaut :
- Login :
sync-in - Mot de passe :
sync-in
Important : Pour des raisons de sécurité, il est fortement recommandé de modifier ces identifiants dès votre première connexion.
Pour vérifier le statut des conteneurs : docker compose ps
4. Accéder à l'interface web
Une fois le serveur lancé, ouvrez votre navigateur à l'adresse suivante :
http://localhost:8080
Connectez-vous en utilisant les identifiants administrateur définis à l'étape 3.
Pour exposer Sync-in via le service Nginx inclus sur les ports HTTP/HTTPS standards, consultez la configuration du reverse proxy Docker.