¿Por qué Nextcloud? Nextcloud proporciona un espacio personal para almacenar, sincronizar y compartir archivos desde varios dispositivos, mediante una interfaz web y clientes dedicados.
¿Por qué el autoalojamiento? Permite mantener el control del lugar de almacenamiento, del ciclo de actualización y de las reglas de acceso. A cambio, hay que garantizar uno mismo la disponibilidad, el endurecimiento, la capacidad de disco, las copias de seguridad y las pruebas de restauración.
🧩 Arquitectura implementada
- VM Ubuntu 24.04 dedicada al servicio (VM205)
- Un contenedor Docker para la aplicación Nextcloud
- Un contenedor Docker independiente para MariaDB
- Dos volúmenes Docker que separan archivos de la aplicación y base de datos
- Autoarranque de la VM después de los servicios prioritarios, seguido de la reanudación de ambos contenedores
- Publicación HTTPS detrás del proxy inverso compartido (VM200)
🎯 Competencias aplicadas
- Operación de una aplicación autoalojada en una VM Proxmox
- Separación de aplicaciones Nextcloud / MariaDB
- Persistencia mediante volúmenes Docker
- Diagnóstico cruzado systemd · Docker · HTTP · herramienta
occ - Construcción de una prueba reproducible y depurada tras un reinicio
🌐 Publicación HTTPS validada
Nextcloud es accesible en nextcloud.stephanemuraro.fr. El servicio conserva su autenticación propia mientras el proxy inverso (VM200) centraliza la terminación TLS y reenvía las solicitudes a la VM de aplicación.
Validado desde una red externa:
- establecimiento de la conexión HTTPS
- autenticación
- consulta de archivos
- subida de un archivo desde la interfaz web
- sincronización mediante el cliente de escritorio
El diagnóstico previo aisló dos extensiones de la aplicación defectuosas, neutralizadas de forma reversible para restaurar primero la interfaz y luego las escrituras, sin eliminar datos.
🔄 Prueba reproducible — estado tras el reinicio
Ejecutados dentro de la VM, estos comandos determinan automáticamente el nombre del contenedor y el puerto local publicado, por lo que la prueba no depende de las etiquetas propias de la instalación.
bash — verificación de estado
date --iso-8601=seconds
systemctl is-system-running
systemctl --failed --no-pager
nextcloud_container=$(
sudo docker ps --filter ancestor=nextcloud --format '{{.Names}}' | head -n 1
)
nextcloud_port=$(
sudo docker port "$nextcloud_container" 80/tcp | awk -F: 'NR == 1 {print $NF}'
)
sudo docker ps --format \
'table {{.Image}}\t{{.Status}}' | awk 'NR == 1 || /nextcloud|mariadb/'
sudo docker exec -u www-data "$nextcloud_container" php occ status
curl -fsS "http://127.0.0.1:${nextcloud_port}/status.php"extracto depurado — validación tras el reinicio del host
Horodatage : 2026-08-15T07:51:40+00:00 État système : running Unités systemd en échec : 0 nextcloud Up About an hour mariadb Up About an hour installed: true versionstring: 33.0.0 maintenance: false needsDbUpgrade: false productname: Nextcloud
Lectura:
occ status y el endpoint de estado HTTP confirman que Nextcloud 33.0.0 está instalado, fuera de mantenimiento y sin migraciones de base de datos pendientes. La presencia simultánea de los contenedores Nextcloud y MariaDB tras el reinicio demuestra su recuperación automática.Límites y trabajos abiertos:
- Volúmenes Docker en el disco de sistema de la VM — el almacenamiento ZFS dedicado previsto aún no está montado/en uso.
- Capacidad libre del disco de sistema a vigilar antes de un crecimiento importante de los datos.
- Copias de seguridad independientes y prueba de restauración: aún no demostradas.
- Cadena de análisis antivirus por redesplegar de forma persistente antes de reactivar su extensión de Nextcloud.
- Conector de almacenamiento externo neutralizado, a sustituir por una versión compatible o a retirar definitivamente.