Instalación con Docker Compose
Instalación de Sync-in con Docker Compose.
Sync-in se distribuye como una imagen oficial de Docker, disponible en Docker Hub: https://hub.docker.com/r/syncin/server
Esta imagen está diseñada específicamente para implementarse y ejecutarse en un entorno Docker Compose.
📋 Requisitos previos
⚙️ Requisitos mínimos de hardware
- RAM: 1GB
- CPU: 1 núcleo/vCPU
- Espacio en disco: 2 GB
🐳 Docker Compose
Esta configuración se basa en archivos Docker Compose que utilizan la extensión x-include. Necesitará:
- Docker Engine versión 24 o superior
- Docker Compose versión 2.20 o superior
✅ Puede consultar las versiones instaladas con:
docker --version
docker compose version
🔗 Si Docker no está instalado, siga la guía de instalación oficial de Docker.
📦 Archivos de configuración
Para recuperar los archivos de Docker Compose de Sync-in (sync-in-docker) desde https://github.com/Sync-in/server/releases, utilice uno de los siguientes métodos:
curlyunzip: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- o con
curlytar: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
Debería obtener la siguiente estructura en el directorio 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
Puede consultar la estructura y el contenido en el repositorio de GitHub.
🚀 Inicio rápido
1. Configurar los secretos necesarios
Navegue hasta el directorio Docker Compose:
cd sync-in-docker
Antes de iniciar el servidor, defina los secretos del token de acceso y del token de actualización necesarios y configure una clave de cifrado dedicada.
Edite el archivo environment.yaml:
server:
# Opcional por ahora; será obligatorio en la próxima versión principal
publicUrl: 'https://sync-in.domain.com'
mysql:
# Utilice la contraseña de root definida en 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'
publicUrl debe coincidir con la dirección expuesta a los usuarios, incluido el esquema y cualquier puerto no estándar. Sigue siendo opcional hasta la próxima versión importante. Se debe poder acceder a la URL desde los navegadores de los usuarios y, para los editores de Office que se comunican con Sync-in, desde sus contenedores. Cuando se omite publicUrl, los editores utilizan el origen de la solicitud como respaldo de compatibilidad. Por motivos de seguridad, será obligatorio en la próxima versión principal, para que los endpoints de los editores se construyan a partir de un origen de confianza controlado por el administrador y no de los encabezados de las solicitudes.
Luego, edite el archivo docker-compose.yaml para asegurarse de que la contraseña de MySQL coincida:
services:
mariadb:
environment:
MYSQL_ROOT_PASSWORD: 'MySQLRootPassword'
Utilice cadenas largas generadas aleatoriamente para sus secretos para garantizar la máxima seguridad.
En archivos YAML, utilice comillas simples para las contraseñas que contengan caracteres especiales.
Puede utilizar variables de entorno para configurar los secretos definidos previamente. Consulte la sección Variables de entorno para obtener más detalles.
2. Configurar el almacenamiento de datos
Los datos de Sync-in y MariaDB ya persisten en volúmenes Docker con nombre. No se requieren cambios para una instalación de prueba. En producción, puede montar directorios de host para controlar directamente dónde se almacenan los datos y cómo se realiza la copia de seguridad. Los ejemplos siguientes muestran cómo reemplazar cada volumen con un directorio de host.
Sync-in
El volumen data, montado en /app/data, almacena los archivos administrados por Sync-in.
services:
sync_in:
volumes:
# Volumen Docker predeterminado
# - data:/app/data
# Directorio del host
- '/home/sync-in-data:/app/data'
El punto de entrada de Docker siempre establece applications.files.dataPath en /app/data. No añada dataPath a environment.yaml ni intente sobrescribirlo con SYNCIN_APPLICATIONS_FILES_DATAPATH: cualquier valor proporcionado al contenedor se sustituye. Para elegir dónde se almacenan los datos, configure únicamente el origen del volumen montado en /app/data.
MariaDB
El volumen mariadb_data, montado en /var/lib/mysql, almacena los datos de la base de datos MariaDB.
services:
mariadb:
volumes:
# Volumen Docker predeterminado
# - mariadb_data:/var/lib/mysql
# Directorio del host
- '/home/sync-in-mariadb:/var/lib/mysql'
3. Iniciar el servidor Sync-in
Para configurar sus propias credenciales de administrador en el primer inicio, utilice:
INIT_ADMIN=true INIT_ADMIN_LOGIN='user' INIT_ADMIN_PASSWORD='password' docker compose up -d
Reemplace user y password con las credenciales que desee.
Para ver ejemplos de archivos Compose y detalles sobre el manejo de comillas, consulte Variables y secretos.
Si no configura estas variables y simplemente ejecuta:
INIT_ADMIN=true docker compose up -d
El servidor utilizará las credenciales de administrador predeterminadas:
- Identificador:
sync-in - Contraseña:
sync-in
Importante: Por razones de seguridad, se recomienda encarecidamente cambiar estas credenciales al iniciar sesión por primera vez.
Para comprobar el estado de los contenedores: docker compose ps
4. Acceder a la interfaz web
Una vez iniciado el servidor, abra su navegador en la siguiente dirección:
http://localhost:8080
Inicie sesión con las credenciales de administrador definidas en el paso 3.
Para exponer Sync-in a través del servicio Nginx incluido en puertos HTTP/HTTPS estándar, consulte la configuración Proxy inverso con Docker.