0

Desplegar Onlyoffice Document Server con Docker

Hola a tod@s,

En este post vamos a ver como desplegar Onlyoffice Document Server con Docker, este servidor de documentos de la comunidad está diseñado para facilitar la ejecución de OnlyOffice en una instancia de Nextcloud sin necesidad de configurar un servidor de documentos externo, por lo tanto, lo vamos a integrar con el servidor de nextcloud que desplegamos en el post anterior.

  • Para empezar, vamos a ver que hemos preparado esta máquina virtual con Ubuntu Server 26.04 LTS, dónde tenemos dos discos, uno de sistema y otro de datos:

  • Como podemos ver, el disco de datos lo hemos montado sobre /opt/docker que es dónde vamos a ubicar todos los contenedores Dockers y sus configuraciones:

  • Nos creamos el registro DNS del tipo CNAME para onlyofficeds en nuestro DNS interno, apuntando a www y este a su vez apunta a la máquina docker dónde tenemos instalado un Nginx Proxy Manager para los accesos externos:

  • Verificamos las versiones de Docker instaladas, docker –version, docker compose version:

  • Ahora vamos a crear la estructura de directorios y permisos para el contenedor de Onlyoffice:
  • sudo mkdir -p /opt/docker/nextcloud/onlyofficeds/data
  • sudo mkdir -p /opt/docker/nextcloud/onlyofficeds/logs
  • sudo chmod -R 755 /opt/docker/nextcloud/onlyofficeds

  • Ahora vamos a crearnos el fichero .env para no dejar credenciales en texto plano en el fichero docker-compose.yaml que crearemos posteriormente, utilizando para ello variables, para ello, nos situamos en cd /opt/docker/nextcloud/onlyofficeds, y ejecutamos sudo nano .env:

  • Y así definimos el fichero:
  • JWT_SECRET=clave_muy_segura
  • JWT_HEADER=Authorization

  • Nos creamos el fichero docker-compose.yaml para el contenedor de MariaDB en la misma ubicación, sudo nano docker-compose.yaml:

  • Este sería el contenido del fichero:

services:

onlyoffice-ds:

image: onlyoffice/documentserver:9.4.0

container_name: onlyoffice-ds

restart: unless-stopped

#   ports:

#     – «8081:80»

environment:

– JWT_ENABLED=true

– JWT_SECRET=${JWT_SECRET}

– JWT_HEADER=${JWT_HEADER}

volumes:

– /opt/docker/nextcloud/onlyofficeds/data:/var/lib/onlyoffice

– /opt/docker/nextcloud/onlyofficeds/logs:/var/log/onlyoffice

networks:

– npmdmz-net

 

networks:

npmdmz-net:

external: true

  • Aquí vemos los ficheros creados:

  • Protegemos el archivo .env aplicando estos permisos:
  • sudo chmod 600 /opt/docker/nextcloud/onlyofficeds/.env

  • Ahora, iniciamos el contenedor de Onlyofficeds, cd /opt/docker/nextcloud/onlyofficeds/, sudo docker compose up -d:

  • Aquí vemos el contenedor levantado, sudo docker ps -a:

  • Ahora accedemos a nuestro portal de Nginx Proxy Manager para crear el host para onlyofficeds.
  • Accedemos a Hosts > Hosts Proxy:

  • Añadir Host Proxy:

  • En la pestaña Detalles:
  • Nombres de Dominio: onlyofficeds.ragasyssistemas.com
  • Esquema: http
  • Nombre de Host/IP de reenvío: onlyoffice-ds
  • Puerto: 80
  • Bloquear Exploits Comunes
  • Soporte de Websockets
  • En la pestaña SSL:
  • Seleccionamos el Certificado SSL que nos interese
  • Marcamos Forzar SSL
  • Guardar

  • Aquí vemos el host creado y conectado:

  • Y como vemos, ya tenemos acceso a nuestro Onlyoffice Document Server a través de nuestro proxy inverso con Nginx Proxy Manager:

  • Para que Onlyoffice nos funcione y se integre con nuestro servidor de Nextcloud, debemos de agregar esta línea al final del fichero config.php, sudo nano /opt/docker/nextcloud/nextcloudapp/html/config/config.php, ‘allow_local_remote_servers’ => true, :

  • Con sudo docker restart nextcloud-app reiniciamos la aplicación de Nextcloud:

  • Ahora accedemos a nuestro Nextcloud y vamos a instalar el conector de Onlyoffice Document Server, para ello, accedemos a Aplicaciones:

  • Sobre Archivos, buscamos Onlyoffice y damos a Descargar y activar:

  • Una vez descargada y activada, accedemos a Apps activas, y vemos que ya la tenemos operativa:

  • Ahora accedemos a Configuración de administración:

  • Sobre ONLYOFFICE >Ajustes de servidor, configuramos la Dirección de ONLYOFFICE y la Clave Secreta que configuramos en nuestro .env, Guardar:

  • Una vez guardada, tendremos los distintos ajustes para configurar, como las extensiones de ficheros que podremos editar con Onlyoffice:

  • Ahora vamos a realizar una prueba, nos vamos a abrir un documento de Word y otro de Excel para verificar que podemos editar documentos online a través de Nextcloud:

  • Edición fichero Word online:

  • Edición fichero Excel online:

 

Saludos y espero que os sea de ayuda 😉

Jose Ramon Ramos Gata

Técnico Superior STI

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.