Ir al contenido principal

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:

  • curl y 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
  • o con curl y 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

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'
URL pública

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'
Seguridad

Utilice cadenas largas generadas aleatoriamente para sus secretos para garantizar la máxima seguridad.

información

En archivos YAML, utilice comillas simples para las contraseñas que contengan caracteres especiales.

consejo

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'
Ruta de datos fija del contenedor

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
advertencia

Importante: Por razones de seguridad, se recomienda encarecidamente cambiar estas credenciales al iniciar sesión por primera vez.

información

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.