Aller au contenu principal

Installation via Docker

Sync-in peut être installé à l'aide de l’image Docker officielle.

Cette image officielle est conçue pour être utilisée dans une configuration avec Docker Compose.

📋 Prérequis

⚙️ Configuration matérielle minimale

  • RAM : 4 Go
  • CPU : 2 cores/vCPU
  • Espace disque : 2 Go

🐳 Docker

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 du dépôt Sync-in Docker depuis Github, utilisez au choix :

  • curl et unzip :
curl -L -o sync-in-docker.zip \
https://github.com/Sync-in/docker/archive/refs/heads/main.zip && \
unzip sync-in-docker.zip
  • ou git :
git clone https://github.com/Sync-in/docker.git sync-in-docker

Vous devriez obtenir la structure suivante dans le répertoire sync-in-docker :

├── config
│ ├── nginx
│ │ ├── docker-compose.nginx.yaml
│ │ └── nginx.conf
│ ├── onlyoffice
│ │ └── docker-compose.onlyoffice.yaml
│ └── sync-in-desktop-releases
│ └── docker-compose.sync-in-desktop-releases.yaml
│ └── update.sh
├── docker-compose.yaml
└── environment.yaml

🚀 Démarrage Rapide

1. Secrets par défaut

Accédez au répertoire Docker Compose :

cd sync-in-docker

Avant de démarrer le serveur, veillez à remplacer les secrets par défaut pour des raisons de sécurité.

Modifiez le fichier environment.yaml :

auth:
token:
access:
secret: changeAccessWithStrongSecret
refresh:
secret: changeRefreshWithStrongSecret
mysql:
# Utilisez le mot de passe root défini dans docker-compose.yaml
url: mysql://root:MySQLRootPassword@mariadb:3306/sync_in

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.

2. Lancer le serveur Sync-in

Pour définir vos propres identifiants administrateur au premier lancement, utilisez :

INIT_ADMIN_LOGIN='user' INIT_ADMIN_PASSWORD='password' docker compose up -d

Remplacez user et password par les identifiants souhaités.

Si vous ne définissez pas ces variables et lancez simplement :

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

3. 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 2.

🛠️ Configuration

Nginx

Dans un environnement de production, un reverse proxy permet un accès sécurisé et performant à votre instance Sync-in.

L’image officielle nginx est utilisée, et une configuration dédiée à Sync-in est incluse dans ce dépôt.

Pour l’activer, éditez le fichier docker-compose.yaml et décommentez les lignes suivantes en haut du fichier :

include:
- ./config/nginx/docker-compose.nginx.yaml

Pour configurer HTTPS, modifiez le fichier ./config/nginx/nginx.conf et ajoutez vos certificats SSL.

info

docker compose up -d pour appliquer les modifications

Nginx est maintenant activé le port 80, rendant Sync-in accessible via http://localhost.

OnlyOffice (optionnel)

⚠️ Pour activer l’intégration OnlyOffice, assurez-vous d’abord que la configuration Nginx est en place.

Ensuite, dans docker-compose.yaml, décommentez les lignes suivantes :

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
info

docker compose up -d && docker compose restart sync_in pour appliquer les changements

Sync-in et OnlyOffice s’exécutent dans des conteneurs Docker et communiquent via Nginx.
Il est essentiel d’accéder à l’interface en utilisant soit l’adresse IP du serveur, soit un nom de domaine correctement configuré.

attention

Accéder à Sync-in via http://localhost ou http://127.0.0.1 empêchera le bon fonctionnement d’OnlyOffice
les documents ne pourront ni être affichés ni édités.

Dépôt de clients (optionnel)

Si les applications de bureau ne disposent pas d’un accès à internet, le serveur Sync-in peut faire office de dépôt local pour les releases des clients applicatifs.
Les utilisateurs peuvent ainsi télécharger les applications directement depuis leur compte et bénéficier des mises à jour automatiques.

Pour activer cette fonctionnalité, éditez docker-compose.yaml et décommentez :

include:
- ./config/sync-in-desktop-releases/docker-compose.sync-in-desktop-releases.yaml

Puis, dans environment.yaml, ajoutez la section suivante :

applications:
files:
appStore:
repository: local

Pour activer ou mettre à jour les versions des clients, exécutez les commandes suivantes :

chmod +x ./config/sync-in-desktop-releases/update.sh
./config/sync-in-desktop-releases/update.sh