Cómo configurar Nextcloud Office con CODE Docker en 10 minutos

Nota actual para 2026: La documentación de Nextcloud 35 ahora separa Nextcloud Office , que funciona con Euro-Office, de Collabora Online , que sigue siendo una alternativa compatible y aún se puede autoalojar con la imagen Docker oficial de CODE. Esta guía utiliza esa ruta externa de Collabora/CODE. La nomenclatura es importante porque las guías antiguas a menudo describen CODE como si fuera el único servidor detrás de "Nextcloud Office". Consulte la descripción general actual de Nextcloud Office antes de aplicar las instrucciones escritas para versiones anteriores.

Si tu sitio Nextcloud ya funciona con HTTPS, tienes Docker instalado y un nombre DNS office.example.comlisto para Collabora, la integración se puede completar en unos 10 minutos. La propagación del DNS, la emisión de certificados, los cambios en el firewall o la solución de problemas con un proxy inverso pueden llevar más tiempo y no están incluidos en ese cálculo.

Lo que necesitas antes de empezar

La ruta rápida presupone una instancia de Nextcloud existente, un host Linux compatible con Docker y un nombre de host HTTPS dedicado para CODE. El ejemplo actual de Docker de Nextcloud recomienda un subdominio independiente y un certificado TLS válido. CODE escucha internamente en el puerto 9980, mientras que un proxy inverso lo expone de forma segura a los navegadores y a Nextcloud.

  • Un servidor Nextcloud en funcionamiento accesible en una URL como https://cloud.example.com.
  • Docker Engine en el host que ejecutará CODE.
  • Un registro DNS que office.example.comapunte a su proxy inverso.
  • Un certificado HTTPS válido para el nombre de host de la oficina.
  • Acceso de administrador a Nextcloud y acceso de root o sudo al host de Docker.

La documentación de instalación actual de Nextcloud indica que el servidor CODE integrado es la opción más sencilla para uso personal o en equipos pequeños, pero recomienda una instalación dedicada de Collabora Online para un mejor rendimiento. La imagen oficial de collabora/code en Docker Hub es la que se muestra a continuación.

Ventana de terminal que muestra la salida de la versión de Docker y la imagen oficial de collabora/code que se está descargando.
Primero, verifica Docker y luego descarga la imagen oficial de Collabora CODE. La versión exacta de Docker que se muestra es solo ilustrativa; utiliza una versión de Docker compatible con tu sistema.

Paso 1: Descarga la imagen Docker de CODE

En el host de Docker, confirme que Docker está disponible y descargue la imagen oficial:

docker --version
docker pull collabora/code:latest

La latestetiqueta resulta útil para una guía de configuración breve, ya que Collabora publica actualizaciones con frecuencia. Para un entorno de producción, considere fijar una versión específica que haya probado y, a continuación, programe actualizaciones planificadas en lugar de permitir un cambio de imagen inesperado durante una reconstrucción.

Paso 2: Inicie el CÓDIGO para su host Nextcloud.

El ejemplo actual de Docker de Nextcloud se utiliza aliasgroup1para indicarle a CODE qué host de Nextcloud tiene permiso para integrarse con él. Reemplace el nombre de host de ejemplo con su URL real de Nextcloud:

docker run -t -d   --name collabora-code   -p 127.0.0.1:9980:9980   -e 'aliasgroup1=https://cloud.example.com:443'   --restart always   --cap-add MKNOD   collabora/code:latest

La vinculación 127.0.0.1impide que el puerto 9980 quede expuesto directamente a Internet cuando el proxy inverso se ejecuta en el mismo servidor. Si su proxy se ejecuta en otra máquina, configure las reglas de red para que solo el proxy pueda acceder a CODE; no publique el puerto 9980 para todos.

Ventana de terminal que muestra un contenedor CODE iniciado en el puerto 9980 de localhost y listado por docker ps.
Ejecute CODE en 127.0.0.1:9980 cuando un proxy inverso en el mismo host proporcione el punto final HTTPS público.

Comprueba que el contenedor esté en funcionamiento:

docker ps --filter name=collabora-code
docker logs --tail 50 collabora-code

Paso 3: Coloca HTTPS y un proxy inverso delante del CÓDIGO.

Nextcloud documenta las rutas necesarias de Collabora como /browser, /hosting/discovery, /hosting/capabilities, /cool/adminws, /cool, además del tráfico de WebSocket en /cool/.../ws. Por eso, una configuración genérica de "proxy para todo excepto WebSockets" suele producir un editor que se abre parcialmente y luego se desconecta.

Editor de configuración que muestra las rutas del proxy inverso para el navegador, el descubrimiento de alojamiento, las capacidades, cool y las rutas de WebSocket.
Su proxy inverso debe reenviar los puntos finales de Collabora browser, discovery, capabilities, /cool y WebSocket. Asegúrese de que el protocolo de origen coincida con el modo SSL de su contenedor CODE.

Para Nginx, el siguiente ejemplo compacto mantiene el HTTPS interno predeterminado de CODE y finaliza el TLS público en Nginx. Utilice sus propias rutas de certificado:

server {
    listen 443 ssl http2;
    server_name office.example.com;
    ssl_certificate /etc/letsencrypt/live/office.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/office.example.com/privkey.pem;

    location ^~ /browser { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /hosting/discovery { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /hosting/capabilities { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /cool/adminws { proxy_pass https://127.0.0.1:9980; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ~ ^/cool/(.*)/ws$ { proxy_pass https://127.0.0.1:9980; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_ssl_verify off; }
    location ^~ /cool { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
}

Este es un ejemplo mínimo de enrutamiento, no una configuración de seguridad completa para Nginx. Si ejecuta CODE con TLS interno deshabilitado, el servidor de origen cambia http://127.0.0.1:9980y el contenedor debe configurarse de forma consistente. No combine un proxy HTTP con un contenedor CODE que aún espera HTTPS.

Paso 4: Verificar el punto final público de CODE

Antes de modificar la configuración de Nextcloud, abre esta URL en un navegador:

https://office.example.com/hosting/discovery
El navegador muestra una respuesta XML de descubrimiento WOPI del servicio de alojamiento de descubrimiento office.example.com.
Una respuesta válida de /hosting/discovery es una forma rápida de confirmar que el punto final público de CODE y el proxy inverso están respondiendo.

Debería recibir el XML de descubrimiento de WOPI en lugar de un error de proxy, una advertencia de certificado o un fallo de conexión en blanco. También puede realizar la prueba desde la línea de comandos:

curl -fsS https://office.example.com/hosting/discovery | head

Si esto falla, primero solucione los problemas de DNS, TLS, el proxy o el contenedor. Conectar Nextcloud a un punto final defectuoso solo añade otra dificultad a la hora de solucionar problemas.

Paso 5: Habilitar la integración de Nextcloud Office

Inicie sesión en Nextcloud como administrador, abra Aplicaciones , vaya a Office y texto y habilite la aplicación de integración de Office disponible para su instalación. El ejemplo actual de Nextcloud Collabora Docker todavía indica a los administradores que instalen la aplicación "Nextcloud Office" y luego configuren el servidor externo en la configuración de administración de Office, aunque la descripción general de Nextcloud 35 ahora distingue entre los productos Euro-Office y Collabora.

Página de Nextcloud Apps en la categoría Office y texto con Nextcloud Office habilitado.
Habilite la aplicación de integración de Office en Nextcloud antes de introducir la dirección del servidor CODE externo.

Si tu versión de Nextcloud utiliza etiquetas ligeramente diferentes, sigue los nombres de producto que aparecen en tu propia interfaz de administración en lugar de asumir que una captura de pantalla antigua coincide exactamente.

Paso 6: Apunta Nextcloud al servidor CODE externo.

Abra la configuración de administración → Office . Elija la opción de servidor externo Collabora/Office e ingrese:

https://office.example.com
Pantalla de administración de Nextcloud Office con un campo para la URL de un servidor externo de Collabora Online y un indicador de accesibilidad correcta.
La página de administración de Office es donde se introduce la URL externa de Collabora una vez que se puede acceder al proxy.

Guarda la configuración y espera a que Nextcloud verifique la conexión. Nextcloud recomienda usar el mismo protocolo en ambos lados, preferiblemente HTTPS. Una verificación exitosa significa que Nextcloud puede acceder al punto final de Collabora, pero esto no garantiza que todas las rutas WebSocket del navegador y las solicitudes WOPI funcionen correctamente durante una sesión de edición real.

Paso 7: Restringir las solicitudes WOPI

Una vez establecida la conexión básica, ajuste la configuración de WOPI. La guía de configuración actual de Nextcloud recomienda encarecidamente restringir las solicitudes de WOPI a las direcciones IP de los servidores de Collabora que se espera que soliciten archivos. En Configuración de administración → Office , utilice el campo Lista de permitidos para solicitudes de WOPI, si está disponible.

Página de administración de Nextcloud Office que muestra la URL del servidor Collabora, el estado de conexión correcta y el campo de lista de permitidos de WOPI.
Una vez establecida la conexión, revise la lista de permisos de WOPI para asegurarse de que solo las direcciones de servidor de Collabora previstas puedan solicitar archivos.

Este es un control de seguridad importante, ya que el flujo WOPI es el que utiliza Collabora para recuperar y escribir documentos en nombre de los usuarios de Nextcloud. Utilice direcciones IP o redes que representen la ruta de su servidor CODE, según lo requiera su implementación; no copie un nombre de host en un campo de lista de direcciones IP permitidas solo porque se parezca al campo de URL del servidor. Consulte la configuración de Collabora y la guía WOPI de Nextcloud para conocer las opciones disponibles.

Paso 8: Abra un documento real y confirme el guardado.

Crea un archivo ODT o DOCX pequeño en Nextcloud, ábrelo, escribe una frase, cierra el editor y vuelve a abrir el archivo. Esto verifica la cadena completa: navegador → nombre de host público CODE → proxy inverso → CODE → solicitud WOPI a Nextcloud → guardado en el almacenamiento.

El editor de documentos Collabora, basado en navegador, se abre dentro de Nextcloud con un documento de ejemplo de plan de proyecto.
La prueba final es práctica: crea o abre un documento y confirma que el editor se carga, acepta los cambios y los guarda en Nextcloud.

La configuración no está completa solo porque la página de configuración de Office indique que el servidor es accesible. Un resultado correcto es que el editor se cargue sin advertencias de conexión, se pueda modificar el documento y los cambios guardados se conserven al volver a abrirlo. Si la interfaz del editor se carga, pero la edición se interrumpe, concéntrese primero en la /cool/.../wsruta WebSocket. Si el editor no puede cargar el archivo en absoluto, revise los registros de CODE, los registros de Nextcloud, la resolución DNS entre ambos servidores y las reglas de la lista de permitidos de WOPI.

Lista de verificación para la resolución rápida de problemas

SíntomaPrimera comprobación
Nextcloud indica que el servidor de la oficina no está disponible.Abrir /hosting/discoverymediante HTTPS desde el servidor de Nextcloud.
El navegador obtiene un error 502 o 504.Confirma que el contenedor se está ejecutando y que el proxy puede acceder a 127.0.0.1:9980.
El editor se abre y luego se desconecta.Verifique los encabezados de actualización de WebSocket y la /cool/(...)/wsruta.
Error de certificadoCorrija la cadena de certificados públicos y asegúrese de que la URL configurada utilice el nombre de host correcto.
Acceso a WOPI denegadoRevise la lista de permisos WOPI de Nextcloud y la configuración de hosts permitidos de Nextcloud de CODE.
Funciona en una red pero no en otra.Verifique la configuración de DNS dividido, las reglas del firewall y si tanto Nextcloud como CODE pueden resolver los nombres públicos del otro.

Mantén el código actualizado sin que las actualizaciones se conviertan en sorpresas.

Collabora publica actualizaciones de CODE con frecuencia. La página oficial de Docker Hub muestra etiquetas con mantenimiento activo, y la guía de actualización de Nextcloud indica que las implementaciones de Docker se actualizan descargando una imagen más reciente y recreando el contenedor. Para un servidor doméstico, el seguimiento latestpuede ser suficiente. Para uso empresarial, fije una etiqueta probada, lea las notas de la versión, haga una copia de seguridad de su configuración y, a continuación, actualice durante una ventana de mantenimiento.

También conviene tener en cuenta el alcance de CODE. Docker Hub describe CODE como la edición de desarrollo dirigida a usuarios domésticos, mientras que la documentación de Nextcloud recomienda las opciones empresariales compatibles para implementaciones de mayor envergadura o que requieran alta fiabilidad. Configurar Docker en 10 minutos es ideal para una nube personal, un laboratorio o un equipo pequeño, pero no sustituye la planificación de capacidad, la monitorización, las copias de seguridad ni el soporte empresarial.

Resultado final

Una vez que el contenedor esté en funcionamiento, el proxy HTTPS sea correcto, /hosting/discoveryresponda, la integración de Nextcloud apunte a https://office.example.com, WOPI esté restringido y se abra y guarde un documento real, la integración estará completa. El detalle más importante no es la cantidad de comandos, sino mantener la ruta de red consistente. Nextcloud, CODE, el proxy inverso y los navegadores de los usuarios deben poder acceder a los nombres de host HTTPS esperados con las rutas WebSocket y WOPI correctas.

Dejar un comentario

Solucionar el problema de conexión de audio en las salas de reuniones de BigBlueButton: una solución fiable

Solucionar el problema de conexión de audio en las salas de reuniones de BigBlueButton: una solución fiable

Solucione problemas de audio en salas de reuniones de BigBlueButton que se bloquean o no se conectan. Diagnostique problemas con los permisos del navegador, WebRTC, TURN, NAT, firewall y el puente de audio.

Solucionar el error de inicio de sesión de Zimbra "Cuenta bloqueada": Pasos para el usuario y el administrador

Solucionar el error de inicio de sesión de Zimbra "Cuenta bloqueada": Pasos para el usuario y el administrador

Solucione el error "Cuenta bloqueada" de Zimbra: compruebe el estado de la cuenta, desbloquee un bloqueo confirmado, busque credenciales obsoletas y verifique la solución.

Solucionar el alto consumo de memoria de la base de datos de Matrix Synapse en PostgreSQL

Solucionar el alto consumo de memoria de la base de datos de Matrix Synapse en PostgreSQL

Solucione los problemas de alto consumo de memoria de PostgreSQL con Matrix Synapse comprobando las conexiones, ajustando la configuración del pool y de la memoria, realizando limpiezas de tablas y verificando los resultados.

Cómo configurar Nextcloud Office con CODE Docker en 10 minutos

Cómo configurar Nextcloud Office con CODE Docker en 10 minutos

Configura un servidor Docker externo de Collabora CODE para Nextcloud en unos 10 minutos, con proxy HTTPS, comprobaciones WOPI, consejos de seguridad y solución de problemas.

Solucione de forma segura la advertencia de ownCloud Apache AllowOverride All.

Solucione de forma segura la advertencia de ownCloud Apache AllowOverride All.

Solucione la advertencia de ownCloud Apache AllowOverride All configurando el directorio correcto, probando Apache, recargando de forma segura y verificando la protección .htaccess.

Cómo montar un recurso compartido Samba/CIFS en ownCloud Server

Cómo montar un recurso compartido Samba/CIFS en ownCloud Server

Monta un recurso compartido Samba o CIFS en ownCloud Server con soporte para almacenamiento externo. Configura las credenciales SMB, limita el acceso y verifica el montaje.

Solucionar el error "No se pudo instalar la aplicación porque el servidor no tiene conexión a Internet" en Android.

Solucionar el error "No se pudo instalar la aplicación porque el servidor no tiene conexión a Internet" en Android.

Solucione el error de instalación de la aplicación de Android comprobando la conectividad, la caché de Play Store, el almacenamiento, la compatibilidad del dispositivo y la configuración de DNS o proxy del emulador.

Cómo realizar copias de seguridad y restaurar una base de datos PostgreSQL de Matrix Synapse

Cómo realizar copias de seguridad y restaurar una base de datos PostgreSQL de Matrix Synapse

Realice copias de seguridad y restaure una base de datos PostgreSQL de Matrix Synapse con pg_dump y pg_restore. Proteja las claves de un solo uso, cree un destino limpio y verifique la recuperación.

Cómo configurar un servidor TURN externo para Jitsi detrás de NAT

Cómo configurar un servidor TURN externo para Jitsi detrás de NAT

Configure un servidor TURN externo de coturn para Jitsi detrás de NAT, incluyendo puertos de retransmisión, credenciales de clave compartida, configuración de Prosody o Docker y pruebas.

Exportar un buzón de Zimbra a PST o EML: qué funciona y cómo hacerlo.

Exportar un buzón de Zimbra a PST o EML: qué funciona y cómo hacerlo.

Aprende cómo exportar el correo de Zimbra como EML o como archivo, cuándo resulta útil un Zimlet y cómo crear un archivo PST con Outlook después de confirmar la sincronización del buzón.