Vai al contenuto principale

Installazione con Docker Compose

Installazione di Sync-in con Docker Compose.

Sync-in viene distribuito come immagine Docker ufficiale, disponibile su Docker Hub: https://hub.docker.com/r/syncin/server

Questa immagine è progettata specificamente per la distribuzione e l'esecuzione in un ambiente Docker Compose.


📋 Prerequisiti​

⚙️ Requisiti hardware minimi​

  • RAM: 1 GB
  • CPU: 1 core/vCPU
  • Spazio su disco: 2 GB

🐳 Docker Compose​

Questa configurazione si basa su file Docker Compose che utilizzano l'estensione x-include. Sono necessari:

  • Docker Engine versione 24 o successiva
  • Docker Compose versione 2.20 o successiva

✅ È possibile verificare le versioni installate con:

docker --version
docker compose version

🔗 Se Docker non è installato, seguire la guida ufficiale all'installazione di Docker.

📦 File di configurazione​

Per scaricare i file Docker Compose di Sync-in (sync-in-docker) da https://github.com/Sync-in/server/releases, utilizzare uno dei metodi seguenti:

  • Con curl e 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
  • Oppure con curl e 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

Nella directory sync-in-docker si deve ottenere la struttura seguente:

├── 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

È possibile verificare la struttura e il contenuto nel repository GitHub.


🚀 Avvio rapido​

1. Configurare i segreti obbligatori​

Accedere alla directory Docker Compose:

cd sync-in-docker

Prima di avviare il server, definire i segreti obbligatori per i token di accesso e di rinnovo e configurare una chiave di cifratura dedicata.

Modificare il file environment.yaml:

server:
# Facoltativo per ora; obbligatorio nella prossima versione principale
publicUrl: 'https://sync-in.domain.com'
mysql:
# Utilizzare la password di root definita in 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 pubblico

publicUrl deve corrispondere all'indirizzo esposto agli utenti, includendo lo schema e l'eventuale porta non standard. Resta facoltativo fino alla prossima versione principale. L'URL deve essere raggiungibile dai browser degli utenti e, per gli editor per ufficio che comunicano con Sync-in, dai relativi container. Quando publicUrl viene omesso, gli editor utilizzano l'origine della richiesta come soluzione di compatibilità. Per motivi di sicurezza, diventerà obbligatorio nella prossima versione principale: gli endpoint degli editor verranno così creati da un'origine attendibile controllata dall'amministratore anziché dalle intestazioni della richiesta.

Modificare quindi il file docker-compose.yaml per verificare che la password MySQL corrisponda:

services:
mariadb:
environment:
MYSQL_ROOT_PASSWORD: 'MySQLRootPassword'
Sicurezza

Per garantire la massima sicurezza, utilizzare stringhe lunghe e generate casualmente per i segreti.

informazioni

Nei file YAML, utilizzare virgolette singole per le password che contengono caratteri speciali.

suggerimento

È possibile utilizzare variabili d'ambiente per configurare i segreti definiti in precedenza. Per ulteriori dettagli, consultare la sezione Variabili d'ambiente.

2. Configurare l'archiviazione dei dati​

I dati di Sync-in e MariaDB sono già memorizzati in volumi Docker denominati. Non è necessaria alcuna modifica per un'installazione di prova. In produzione, è possibile montare directory dell'host per controllare direttamente la posizione di archiviazione dei dati e le relative modalità di backup. Gli esempi seguenti mostrano come sostituire ciascun volume con una directory dell'host.

Sync-in​

Il volume data, montato in /app/data, contiene i file gestiti da Sync-in.

services:
sync_in:
volumes:
# Volume Docker predefinito
# - data:/app/data

# Directory dell'host
- '/home/sync-in-data:/app/data'
Percorso dati fisso nel container

L'entrypoint Docker imposta sempre applications.files.dataPath su /app/data. Non aggiungere dataPath a environment.yaml e non tentare di sostituirlo con SYNCIN_APPLICATIONS_FILES_DATAPATH: ogni valore fornito al container viene sostituito. Per scegliere dove archiviare i dati, configurare esclusivamente l'origine del volume montato in /app/data.

MariaDB​

Il volume mariadb_data, montato in /var/lib/mysql, contiene i dati del database MariaDB.

services:
mariadb:
volumes:
# Volume Docker predefinito
# - mariadb_data:/var/lib/mysql

# Directory dell'host
- '/home/sync-in-mariadb:/var/lib/mysql'

3. Avviare il server Sync-in​

Per impostare le proprie credenziali di amministratore al primo avvio, utilizzare:

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

Sostituire user e password con le credenziali desiderate.

Per esempi relativi ai file Compose e dettagli sulla gestione delle virgolette, consultare Variabili e segreti.

Se queste variabili non vengono impostate e si esegue semplicemente:

INIT_ADMIN=true docker compose up -d

Il server utilizzerà le credenziali di amministratore predefinite:

  • Nome utente: sync-in
  • Password: sync-in
avvertenza

Importante: per motivi di sicurezza, si consiglia vivamente di modificare queste credenziali al primo accesso.

informazioni

Per verificare lo stato dei container: docker compose ps

4. Accedere all'interfaccia web​

Dopo l'avvio del server, aprire nel browser l'indirizzo seguente:

http://localhost:8080

Accedere con le credenziali di amministratore definite al passaggio 3.

Per esporre Sync-in tramite il servizio Nginx incluso sulle porte HTTP/HTTPS standard, consultare la configurazione del reverse proxy Docker.