Installation
Installation of Sync-in with Docker Compose.
Sync-in is distributed as an official Docker image, available on Docker Hub: https://hub.docker.com/r/syncin/server
This image is specifically designed to be deployed and run in a Docker Compose environment.
π Prerequisitesβ
βοΈ Minimum hardware requirementsβ
- RAM: 1 GB
- CPU: 1 core/vCPU
- Disk space: 2 GB
π³ Docker Composeβ
This configuration relies on Docker Compose files using the x-include extension.
You will need:
- Docker Engine version 24 or higher
- Docker Compose version 2.20 or higher
β You can check the installed versions with:
docker --version
docker compose version
π If Docker is not installed, follow the official Docker installation guide.
π¦ Configuration filesβ
To retrieve the Sync-in Docker Compose files (sync-in-docker) from https://github.com/Sync-in/server/releases, use one of the following methods:
curlandunzip: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- or with
curlandtar: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
You should get the following structure in the sync-in-docker directory:
βββ config
β βββ collabora
β β βββ docker-compose.collabora.yaml
β βββ nginx
β β βββ collabora.conf
β β βββ docker-compose.nginx.yaml
β β βββ nginx.conf
β β βββ onlyoffice.conf
β βββ onlyoffice
β β βββ docker-compose.onlyoffice.yaml
β βββ sync-in-desktop-releases
β βββ docker-compose.sync-in-desktop-releases.yaml
β βββ update.sh
βββ docker-compose.yaml
βββ environment.yaml
You can check the structure and content from the GitHub repository.
π Quick startβ
1. Default secretsβ
Navigate to the Docker Compose directory:
cd sync-in-docker
Before starting the server, make sure to replace the default secrets for security reasons.
Edit the environment.yaml file:
auth:
encryptionKey: "changeEncryptionKeyWithStrongKey"
token:
access:
secret: "changeAccessWithStrongSecret"
refresh:
secret: "changeRefreshWithStrongSecret"
mysql:
# Use the root password defined in docker-compose.yaml
url: mysql://root:MySQLRootPassword@mariadb:3306/sync_in
Then, edit the docker-compose.yaml file to ensure the MySQL password matches:
services:
mariadb:
environment:
MYSQL_ROOT_PASSWORD: "MySQLRootPassword"
Use long, randomly generated strings for your secrets to ensure maximum security.
Don't forget to add quotes if your passwords contain special characters.
You can use environment variables to configure the previously defined secrets. See the Environment variables section for more details
2. Start the Sync-in serverβ
To set your own administrator credentials on first launch, use:
INIT_ADMIN=true INIT_ADMIN_LOGIN='user' INIT_ADMIN_PASSWORD='password' docker compose up -d
Replace user and password with your desired credentials.
If you don't set these variables and simply run:
INIT_ADMIN=true docker compose up -d
The server will use the default administrator credentials:
- Login:
sync-in - Password:
sync-in
Important: For security reasons, it is strongly recommended to change these credentials upon your first login.
To check the status of containers: docker compose ps
3. Access the Web interfaceβ
Once the server is started, open your browser at the following address:
http://localhost:8080
Log in using the administrator credentials defined in step 2.