Déploiement d'un serveur Sync-In
1. Contexte
Sync-in est une solution open-source qui permet de stocker, partager, collaborer et synchroniser des fichiers à travers différents OS.
La solution est déployée via Docker Compose puis exposé sur Internet via un paramétrage de domaine (sécurisé par Cloudflare) et un reverse proxy. Elle comporte différents éléments :
- Sync-in : application principale
- OnlyOffice : éditeur permettant l'édition en temps réel pour la suite Microsoft Office
- Collabora : un éditeur similaire mais orienté pour les environments open standards / free software.
Ressources
https://www.it-connect.fr/tuto-sync-in-plateforme-collaborative-open-source/#Configurer_OnlyOffice
https://sync-in.com/fr/docs/setup-guide/proxy
https://sync-in.com/docs/user-guide/collaborative_editors/
https://sync-in.com/docs/setup-guide/docker/optional-services/collabora/
https://sync-in.com/docs/setup-guide/docker/optional-services/onlyoffice/
2. Procédure d'installation de Sync-In
Sync-In est distribué sous forme d'image Docker officielle, spécifiquement conçue pour un environnement Docker Compose utilisant l'extension x-include.
2.1. Prérequis techniques
| **Composant** | **Configuration minimale requise** |
| **Mémoire (RAM)** | 1 GB |
| **Processeur (CPU)** | 1 cœur / vCPU |
| **Espace disque** | 2 GB |
| **Docker Engine** | Version 24 ou supérieure |
| **Docker Compose** | Version 2.20 ou supérieure |
2.2. Récupération des fichiers de configuration
Pour obtenir les fichiers de déploiement officiels depuis le dépôt GitHub de Sync-In, exécutez l'une des commandes suivantes pour télécharger et extraire l'archive.
| zip | tar.gz |
|
|
2.3. Configuration de la sécurité et des secrets
Éditez le fichier environment.yaml pour remplacer les clés de chiffrement et les secrets des tokens par de longues chaînes de caractères aléatoires :
auth:
encryptionKey: "VOTRE_CLE_DE_CHIFFREMENT_FORTE"
token:
access:
secret: "VOTRE_SECRET_ACCES_FORT"
refresh:
secret: "VOTRE_SECRET_RAFRAICHISSEMENT_FORT"
mysql:
url: mysql://root:VOTRE_MOT_DE_PASSE_SQL@mariadb:3306/sync_in
Pour rajouter collabora à votre application intégrez les parametres suivants à votre fichier environnement :
applications:
files:
dataPath: /app/data
collabora:
enabled: true
externalServer: https://sync-in.domaine.fr
onlyoffice:
enabled: false
secret: <votre secret>
Note : Veillez à intégrer les options pour collabora si il se trouve aussi derrière un reverse proxy.
Éditez ensuite le fichier docker-compose.yaml pour synchroniser le mot de passe de la base de données MariaDB :
services:
mariadb:
environment:
MYSQL_ROOT_PASSWORD: "VOTRE_MOT_DE_PASSE_SQL"
2.4. Configuration du stockage des données
Par défaut, l'application utilise un volume Docker géré automatiquement. Pour un usage en production, il est fortement recommandé d'utiliser un point de montage local (bind mount) afin de faciliter les sauvegardes.
Modifiez la section volumes du service sync_in dans le fichier docker-compose.yaml :
services:
sync_in:
volumes:
# Remplacer le volume par défaut par un chemin absolu sur l'hôte
- /chemin/vers/votre/dossier/sync-in/data:/app/data
2.5. Démarrage du serveur
Pour initialiser le serveur avec vos propres identifiants administrateur dès le premier lancement, exécutez la commande suivante en remplaçant les valeurs :
INIT_ADMIN=true INIT_ADMIN_LOGIN='votre_utilisateur' INIT_ADMIN_PASSWORD='votre_mot_de_passe' docker compose up -d
3. Mise en place des fonctionnalités supplémentaires
Il est possible d'utiliser Sync-in sans Collabora ni OnlyOffice. Il est également possible d'installation que l'un des deux composants additionnels
Accéder à Sync-in via http://localhost ou http://127.0.0.1 rendra l'utilisation de Collabora ou OnlyOffice impossible ⇒ les documents ne seront ni affichés ni modifiable
3.1 OnlyOffice
Modifiez ./config/nginx/nginx.conf, décommentez la ligne suivante à la fin du fichier :
include onlyoffice.conf;
Dans docker-compose.yaml, les lignes suivantes doivent être décommentées :
include:
- ./config/nginx/docker-compose.nginx.yaml
- ./config/onlyoffice/docker-compose.onlyoffice.yaml
Modifiez environment.yaml pour activer l'intégration :
applications:
files:
onlyoffice:
# activer l'intégration
enabled: true
# utiliser le même secret que dans docker-compose.yaml
secret: onlyOfficeSecret
Remplacez onlyOfficeSecret par une valeur sécurisée, et assurez-vous qu'elle correspond à celle définie dans ./config/onlyoffice/docker-compose.onlyoffice.yaml :
services:
onlyoffice:
environment:
- JWT_SECRET=onlyOfficeSecret
exécuter docker compose up -d && docker compose restart nginx sync_in pour appliquer les changements
3.2 Collabora
Activer le service
Dans ./config/nginx/nginx.conf, décommenter la ligne suivante :
include collabora.conf;
Il faut faire de même dans le docker-compose.yaml, avec les lignes suivantes :
include:
- ./config/nginx/docker-compose.nginx.yaml
- ./config/collabora/docker-compose.collabora.yaml
Enfin, activer l'intégration dans environment.yaml :
applications:
files:
collabora:
# enable integration
enabled: true
En cas d'utilisation d'un HTTPS avec reverse proxy
Il faut editer ./config/collabora/docker-compose.collabora.yaml file afin de paramétrer la terminaison SSL sur true :
docker compose up -d && docker compose restart nginx sync_in to apply the changes
services:
collabora:
environment:
extra_params: >-
--o:ssl.enable=false
# Passez ssl.termination en true pour dire a Collabora de communiquer en websocket avec un certificat ssl
--o:ssl.termination=true
# Possibilité d'activer les logs pour Collabora avec le paramètre suivant
# --o:logging.level=trace
exécuter docker compose up -d && docker compose restart nginx sync_in pour appliquer les changements
No comments to display
No comments to display