← Volver al blog
Tutorial · 12 min

Integración OnlyOffice + Seafile con Docker: edición de documentos en línea

Integración OnlyOffice + Seafile con Docker: edición de documentos en línea

Edita documentos directamente desde tu nube privada

Una de las limitaciones de Seafile Community Edition es que no incluye un editor de documentos en línea integrado (solo disponible en la versión Pro). Pero puedes añadirlo instalando OnlyOffice Document Server como contenedor Docker adicional y conectándolo con Seafile mediante tokens JWT.

En esta guía te explicamos cómo instalar OnlyOffice junto a Seafile, configurar el proxy inverso con SSL y validar la comunicación con JWT para que puedas editar documentos Office (docx, xlsx, pptx) directamente desde la interfaz web de Seafile.

✅ Requisitos previos

  • Synology NAS con Docker o cualquier servidor con Docker Compose
  • Seafile Community ya instalado y funcionando
  • Dominio público con HTTPS (recomendado) o acceso por IP

¿Por qué OnlyOffice y no Collabora?

  • OnlyOffice Document Server: Docker nativo, interfaz moderna, compatible con formatos Microsoft Office. Sin licencia para uso personal y empresarial.
  • Collabora Online: Basado en LibreOffice, compatible con Nextcloud. Requiere más recursos y configuración más compleja.

Paso 1: Configurar la clave JWT compartida

El mecanismo de autenticación entre Seafile y OnlyOffice se basa en JSON Web Tokens (JWT). Ambos lados deben tener exactamente la misma clave.

⚠️ Clave fija obligatoria

OnlyOffice genera una nueva clave aleatoria en cada reinicio si no se especifica JWT_PASSWORD. SIEMPRE fijar la clave en el environment.

Paso 2: Añadir OnlyOffice al docker-compose

`
version: "3"
services:
  onlyoffice:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice-documentserver
    environment:
      - JWT_PASSWORD=***      - JWT_ENABLED=true
    ports:
      - "8081:80"
      - "4433:443"
`

Paso 3: Configurar seahub_settings.py

`
# --- Configuracion de ONLYOFFICE ---
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_FORCE_SAVE = True
ONLYOFFICE_APIJS_URL = 'https://onlyoffice.tudominio.com/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('docx', 'pptx', 'xlsx')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx', 'pdf')
ONLYOFFICE_JWT_SECRET='MiC...

Paso 4: Configurar Nginx para OnlyOffice

`
server {
    listen 443 ssl;
    server_name onlyoffice.tudominio.com;
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;
    client_max_body_size 512M;
    location / {
        proxy_pass http://IP-DE-TU-NAS:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 3600;
    }
}
`

Paso 5: Verificar la integración

`
curl -s -o /dev/null -w "%{http_code}" https://onlyoffice.tudominio.com
# Esperado: 200

docker exec seafile curl -s -o /dev/null -w "%{http_code}" http://onlyoffice-documentserver:80
# Esperado: 200
`

Problemas comunes

  • Token format invalid → JWT_SECRET no coincide entre ambos lados
  • Origin checking failed → Falta el dominio OnlyOffice en CSRF_TRUSTED_ORIGINS
  • Error 500 → Verificar VERIFY_ONLYOFFICE_CERTIFICATE = False
  • Documento no se guarda → La clave cambió tras reinicio del contenedor

Community + OnlyOffice vs Pro

  • Edición en línea: Community requiere config, Pro lo integrado
  • Soporte: Pro incluye soporte oficial
  • Mantenimiento: Pro más simple (un contenedor)
  • Coste: Community + OnlyOffice es gratuito

Siguiente paso

Combina Seafile + OnlyOffice con tu propio servidor de correo para un ecosistema completo auto-hospedado.

¿Quieres que te configuremos OnlyOffice?

En Dysfortic instalamos y configuramos soluciones completas de productividad auto-hospedadas. Contacta con nosotros.