Cómo instalar ownCloud Infinite Scale con Docker Compose en Ubuntu
Finalizas una instalación de Docker Compose, ejecutas el comando docker compose up -dy aún así no puedes acceder a ownCloud. Este es el patrón de fallo práctico más común con Infinite Scale: los contenedores pueden existir, pero el DNS, el TLS, las rutas de almacenamiento o un valor de entorno necesario impiden que la pila se pueda utilizar.
Esta guía utiliza el enfoque de Docker Compose orientado a producción documentado por ownCloud para una implementación en un solo servidor. La página de documentación actual de ownCloud se publica en la documentación de desarrollo 9.0, pero indica explícitamente que el ejemplo de producción descargable utiliza la última versión estable y actualmente apunta a la rama estable 8.2. Esta distinción es importante: no copie las etiquetas de la imagen de desarrollo en un servidor de producción a menos que desee específicamente una compilación de desarrollo.
La configuración que se describe a continuación es adecuada para uso doméstico y pequeñas organizaciones que deseen una instancia de Infinite Scale detrás de un proxy inverso con HTTPS. Requiere Ubuntu LTS, Docker Engine, el complemento Docker Compose, un dominio propio y acceso de administrador al servidor. El ejemplo de producción de ownCloud recomienda aproximadamente entre 4 y 6 GB de RAM para los servicios habilitados por defecto y requiere al menos el dominio de ownCloud; las integraciones opcionales con Office necesitan sus propios subdominios.
Antes de empezar: resuelve primero las cuestiones de red y almacenamiento.
No comience descargando los archivos de Compose. Primero confirme los elementos que son más difíciles de corregir una vez que la pila ya está en funcionamiento:
DNS: el nombre de host elegido, como por ejemplo ocis.example.com, debe resolverse en la dirección IP pública del servidor.
Cortafuegos y NAT: una instalación con acceso a internet necesita que los puertos TCP 80 y 443 sean accesibles para el proxy inverso y el flujo de certificados. Normalmente, se requiere SSH en el puerto TCP 22 para la administración.
Almacenamiento persistente: Los volúmenes gestionados por Docker son prácticos, pero los sistemas de producción suelen beneficiarse de rutas específicas para la configuración y los datos de usuario, de modo que las copias de seguridad y la planificación de la capacidad resulten más sencillas.
Remitente de correo electrónico: el ejemplo documentado de ownCloud requiere SMTP_SENDERque se configure, incluso si aún no ha configurado un relé SMTP que funcione.
Lo importante no es el número de versión específico que muestran estos comandos. Lo que se confirma es que ambos comandos se ejecutan correctamente y que Compose está disponible docker compose. La guía de ownCloud recomienda instalar Docker desde su propio repositorio en lugar de depender de los paquetes Docker integrados de Ubuntu, que pueden estar desactualizados.
Verifique que Docker Engine y el complemento Docker Compose estén instalados antes de descargar la pila de ownCloud.
2. Descarga el ejemplo oficial estable de Compose.
ownCloud proporciona un ejemplo completo de implementación con Compose en lugar de pedir a los administradores que creen una pila de producción desde cero. En el momento de la verificación, la documentación indica que la descarga de producción actual se basa en la stable-8.2rama porque la documentación de la versión 9.0 todavía está marcada como en desarrollo.
El flujo de trabajo oficial descarga el deployments/examples/ocis_fulldirectorio, transfiere el archivo resultante al servidor y lo extrae en una ruta como /opt/compose/ocis/ocis_full. El nombre exacto del archivo puede cambiar con la rama estable, así que utilice el enlace de descarga que aparece en la documentación actual de ownCloud en lugar de escribir un nombre de archivo directamente de un tutorial anterior.
Tras la extracción, acceda al directorio de despliegue e inspeccione el contenido:
cd /opt/compose/ocis/ocis_full
ls -la
Deberías ver los archivos de Compose, el directorio de configuración y .envel archivo proporcionado por el ejemplo. Si estás actualizando un ejemplo extraído existente, haz una copia de seguridad del .envprimero; ownCloud advierte que extraer un paquete más reciente puede sobrescribirlo.
3. Configure cuidadosamente el archivo .env.
La mayoría de los problemas al iniciar el programa provienen del archivo de entorno. Edítelo .enven el directorio extraído y revise la configuración en un orden específico.
Establecer como dominio público
Establézcalo OCIS_DOMAINcon el nombre de host que ya se resuelve al servidor, por ejemplo ocis.example.com, . Si habilita Collabora o ONLYOFFICE, configure también sus nombres de host documentados. No utilice un dominio .envque difiera de sus registros DNS.
Preparar TLS
Para una implementación con acceso a internet, el ejemplo oficial utiliza Traefik y Let's Encrypt. Configúrala TRAEFIK_ACME_MAILcon una dirección de correo electrónico real que controles. ownCloud recomienda usar primero la CA de prueba de Let's Encrypt, confirmar que la emisión de certificados funciona correctamente y solo entonces pasar a producción. Esto reduce la probabilidad de alcanzar los límites de uso de Let's Encrypt durante la resolución de problemas.
Seleccione las ubicaciones de datos y configuración.
Si desea utilizar almacenamiento montado en el host, configure OCIS_CONFIG_DIRlas OCIS_DATA_DIRrutas persistentes según lo previsto. Asegúrese de que el sistema de archivos subyacente tenga suficiente capacidad y de que su proceso de copia de seguridad incluya tanto la configuración como los datos.
Configurar un remitente SMTP
Como mínimo, defina SMTP_SENDER. Puede agregar el host SMTP completo, el puerto, el nombre de usuario, la contraseña, el método de autenticación y la configuración de seguridad cuando esté listo para enviar notificaciones.
El archivo central .env controla el dominio, el correo electrónico de contacto del certificado, el remitente del correo y las rutas de almacenamiento persistente.
4. Valide la configuración de Compose y, a continuación, inicie la pila.
Antes de descargar e iniciar los contenedores, pídale a Compose que renderice y valide la configuración ensamblada:
docker compose config
Si esto falla, corrija la sintaxis o las variables faltantes antes de continuar. Esta verificación es mucho más rápida que diagnosticar una implementación iniciada parcialmente.
Ejecuta `docker compose config` antes del inicio para detectar a tiempo los problemas de sintaxis y de variables.
Cuando la configuración se renderice correctamente, inicie el despliegue en modo independiente:
docker compose up -d
Compose descargará las imágenes necesarias e iniciará los servicios definidos en el ejemplo. En la primera ejecución, esto puede tardar más, ya que es necesario descargar las imágenes y es posible que se soliciten certificados.
Inicie la pila ownCloud Infinite Scale configurada con docker compose up -d.
Si el primer arranque falla, solucione los problemas desde el más fácil hasta el más difícil.
Comprobar el estado del contenedor
Comience con la vista Compose en lugar de intentar adivinar qué servicio falló:
docker compose ps -a --format "table {{.Service}} {{.State}} {{.ID}}"
Un servicio que se cierra repetidamente resulta más útil que un error del navegador, ya que reduce el problema a un único contenedor.
Lea los registros de Traefik para detectar problemas con los certificados.
La guía de ownCloud recomienda específicamente revisar Traefik primero cuando HTTPS no funciona. Las causas típicas incluyen un correo electrónico de contacto ACME no válido, puertos 80/443 cerrados o DNS que devuelve NXDOMAIN o apunta a una IP incorrecta. Después de corregir un problema de ACME, siga las instrucciones oficiales para eliminar solo el volumen del certificado que contiene los datos de prueba fallidos. No elimine todos los volúmenes.
Consulta los registros del servicio ownCloud.
Encuentra el ID del contenedor con docker compose ps, luego inspecciona sus registros:
docker logs -f <container_id>
El proceso de inicialización puede crear la configuración inicial en la primera ejecución. ownCloud documenta el patrón de comandos ocis init || true; ocis serverpara las implementaciones de Compose, por lo que se omite la inicialización cuando la configuración ya existe.
No utilice docker compose down -v de forma casual.
Para detener la implementación, utilice:
docker compose down --remove-orphans
No agregue -vvolúmenes a menos que desee eliminarlos intencionadamente. ownCloud advierte explícitamente que esto puede borrar datos de implementación. Si es necesario eliminar un volumen de certificado desechable durante la resolución de problemas de TLS, elimine ese volumen de forma selectiva.
Cómo verificar que la instalación se ha completado correctamente.
Un éxito docker compose up -dse logra con una sola comprobación. Verifique el resultado en cuatro niveles:
DNS: el nombre de host público se resuelve en la dirección del servidor correcta.
TLS: el navegador accede al sitio mediante HTTPS sin advertencia de certificado. Si utilizó deliberadamente la CA de entorno de pruebas de Let's Encrypt, verifique primero el certificado de entorno de pruebas y, a continuación, cambie al de producción según se indica en la documentación.
Contenedores:docker compose ps -a muestra los servicios esperados en ejecución en lugar de reiniciados o cerrados.
Aplicación: puede abrir la URL de ownCloud configurada, iniciar sesión con las credenciales de administrador iniciales que configuró o recuperó, crear una carpeta y cargar un pequeño archivo de prueba.
Para una nueva implementación, la documentación indica que el nombre de usuario de administrador predeterminado es admin, y que la contraseña se puede establecer manualmente durante la configuración o se puede obtener mediante los procedimientos documentados de registro de inicio/restablecimiento. Cambie la contraseña inicial de inmediato y no deje una instalación de producción con credenciales predeterminadas conocidas.
Una vez que el servicio de archivos básico funcione correctamente, agregue componentes de colaboración opcionales o integraciones más avanzadas. Hacer esto después de que la implementación principal esté en buen estado facilita enormemente la resolución de problemas, ya que un fallo en una suite ofimática, un proveedor de identidad externo o un servicio antivirus ya no se mezcla con problemas básicos de DNS y TLS.
Notas de mantenimiento para una implementación estable
Antes de actualizar, realice una copia de seguridad de sus datos y configuración, y lea las notas de migración específicas de la versión. La documentación de ownCloud distingue entre las actualizaciones rutinarias de imágenes y las actualizaciones que pueden requerir cambios de configuración. Una secuencia de mantenimiento común consiste en detener la pila, descargar las imágenes y reiniciar con la limpieza de archivos huérfanos, pero aun así, debe consultar la guía de actualización específica de la versión antes de cambiar de versión.
Para un servidor de producción, también es importante supervisar el uso del disco. Los volúmenes gestionados por Docker son fáciles de configurar al principio, pero el crecimiento del almacenamiento puede resultar sorprendente cuando el sistema operativo y los archivos de usuario comparten el mismo sistema de archivos. Si prevé un volumen considerable de datos, utilice rutas de almacenamiento dedicadas desde el principio o migre los volúmenes siguiendo el procedimiento documentado y asignando la propiedad correcta al usuario del contenedor.