Aller au contenu principal

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 :

  • curl et unzip :
    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 curl et tar:
    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'
URL publique

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'
Sécurité

Utilisez des chaînes longues et générées aléatoirement pour vos secrets afin de garantir une sécurité maximale.

info

Dans les fichiers YAML, utilisez des guillemets simples pour les mots de passe contenant des caractères spéciaux.

astuce

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'
Chemin des données imposé dans le conteneur

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
attention

Important : Pour des raisons de sécurité, il est fortement recommandé de modifier ces identifiants dès votre première connexion.

info

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.