Nextcloud (LinuxServer): Plataforma de almacenamiento y colaboración en la nube autohospedada Introducción Este artículo documenta el despliegue de Nextcloud como nube privada autogestionada, utilizando contenedores Docker y una base de datos MariaDB dedicada. El objetivo es disponer de un servicio estable, mantenible y portable, sin acoplar la configuración al host ni perder datos ante recreaciones de contenedores. La instalación se integra con el resto del entorno mediante reverse proxy (Caddy) y volúmenes persistentes, manteniendo una separación clara entre aplicación, datos y base de datos. Nota importante sobre la imagen utilizada: este despliegue no utiliza la imagen oficial de Nextcloud, sino la imagen mantenida por LinuxServer.io, que introduce ajustes propios orientados a entornos self-hosted (gestión de permisos, estructura de volúmenes, variables adicionales, etc.). Esto implica que ciertas rutas y comportamientos pueden diferir respecto a la imagen oficial. Enfoque general / Arquitectura El despliegue sigue un esquema clásico y probado: Contenedor Nextcloud como frontend web y lógica de aplicación. Contenedor MariaDB aislado como backend de base de datos. Red Docker dedicada para evitar interferencias con otros servicios. Volúmenes persistentes para configuración, datos de usuario y base de datos. Variables sensibles desacopladas mediante .env. Este enfoque permite: Actualizaciones limpias de imágenes. Backups sencillos a nivel de volumen. Reubicación del servicio sin migraciones complejas. Requisitos previos Docker y Docker Compose operativos. Almacenamiento persistente suficiente para datos de usuario. Puerto disponible o integración con reverse proxy. Acceso al repositorio de configuración en Gitea. Desarrollo Qué se hizo y por qué Uso de imagen LinuxServer.io Se opta por la imagen de LinuxServer.io por su enfoque consistente en permisos (PUID/PGID), claridad en la separación de volúmenes y buen mantenimiento en entornos Docker persistentes. Esta decisión prioriza estabilidad operativa frente a la fidelidad absoluta a la imagen oficial. Separación de secretos Todas las credenciales y parámetros sensibles se gestionan mediante un archivo .env, evitando hardcodeo y facilitando rotación de claves. Base de datos dedicada MariaDB se ejecuta en un contenedor independiente para aislar carga, facilitar backups y evitar dependencias internas del contenedor de Nextcloud. Volúmenes explícitos La configuración y los datos viven fuera de los contenedores, garantizando persistencia ante recreaciones o cambios de imagen. Red Docker propia Se define una red específica para Nextcloud, reduciendo ruido y riesgos de exposición accidental entre servicios. Sin HTTPS interno forzado El TLS se delega al reverse proxy. Esto evita certificados autofirmados innecesarios dentro del contenedor y simplifica la cadena de confianza. Configuración utilizada (solo enlaces) Los archivos de configuración se mantienen versionados en Gitea: Repositorio en Gitea No se incluyen configuraciones completas en el artículo para evitar duplicidades y errores de copia. Validación Comprobaciones mínimas tras el despliegue: Contenedores en estado running sin reinicios constantes. Logs de Nextcloud sin errores críticos de conexión a base de datos. MariaDB aceptando conexiones desde el contenedor de Nextcloud. Acceso correcto a la interfaz web desde el puerto o dominio configurado. Persistencia de datos tras reiniciar contenedores. Decisiones importantes o problemas detectados Evitar HTTPS autofirmado interno Nextcloud tiende a generar certificados propios si detecta HTTPS. En entornos con reverse proxy externo, esto solo añade fricción y advertencias innecesarias. Montaje de almacenamiento externo Se deja preparado el montaje de rutas adicionales ( /mnt) para futuras integraciones con almacenamiento externo o datasets grandes. Resumen breve Nextcloud desplegado con Docker y MariaDB dedicada. Uso de imagen LinuxServer.io en lugar de la oficial. Configuración desacoplada y versionada en Gitea. Volúmenes persistentes para datos y configuración. Arquitectura simple, estable y fácil de mantener. TLS gestionado externamente mediante reverse proxy. Referencias Documentación oficial de Nextcloud Imagen Docker Nextcloud de LinuxServer.io Nextcloud + Caddy: eliminar HTTPS autofirmado