Cómo respaldar Nextcloud con Docker usando Portabase
En pocas palabras: Se respaldan los volúmenes Docker persistentes de Nextcloud (nextcloud-data, nextcloud-postgres y redis-data) con Portabase, herramienta open-source Apache 2.0 que usa un agente conectado al host. Según su documentación oficial, soporta Docker Engine 20.10+ y nueve motores de bases de datos, sin abrir puertos entrantes hacia el servidor protegido.
Si instalaste Nextcloud con Docker y pensás que con hacer un docker commit del contenedor ya estás cubierto, tengo una mala noticia: eso no es un backup. Lo que hay que respaldar son los volúmenes persistentes (datos, base y cache), y un tutorial del equipo de Portabase muestra cómo hacerlo con un agente conectado al host Docker.
Portabase es una plataforma open-source y self-hosted para centralizar backups de bases de datos y volúmenes Docker, con licencia Apache 2.0 según su repositorio en GitHub. Sirve para programar copias de PostgreSQL, MySQL, MongoDB y siete motores más, además de volúmenes Docker completos, todo desde un dashboard central que no necesita puertos abiertos hacia los servidores que protege.
En este artículo:
- En 30 segundos
- ¿Por qué los contenedores de Nextcloud no alcanzan como backup?
- ¿Qué volúmenes de Docker usa una instalación de Nextcloud?
- ¿Qué es Portabase y cómo se integra con Docker?
- ¿Cómo se instala Nextcloud con Docker Compose?
- ¿Cómo se instala Portabase y se conecta el agente al host de Docker?
- ¿Cómo configurar y ejecutar el primer backup de Nextcloud con Portabase?
- ¿Qué política de retención conviene según el tamaño de tu instalación?
- ¿Cómo automatizar backups y restaurar Nextcloud si falla el servidor?
- Errores comunes al respaldar Nextcloud con Docker
- Preguntas Frecuentes
- Conclusión
- Fuentes
En 30 segundos
- Nextcloud con Docker usa tres volúmenes críticos: nextcloud-data, nextcloud-postgres y redis-data.
- Portabase soporta 9 motores de base de datos más volúmenes Docker (Docker Engine 20.10+), según su documentación oficial.
- La arquitectura usa un servidor central y un agente en el host de Docker, sin abrir puertos entrantes.
- El tutorial oficial despliega Nextcloud en el puerto 7689 y Portabase en el 8887, ambos con Docker Compose.
- Portabase llegó a 500 estrellas en GitHub en marzo de 2026, según el blog del proyecto.
¿Por qué los contenedores de Nextcloud no alcanzan como backup?
Los contenedores son desechables: se recrean en segundos desde su imagen y no guardan el estado real de la aplicación. Lo que importa está en los volúmenes Docker, ahí vive la configuración, la base de datos y los archivos que subieron tus usuarios.
Ponele que tu servidor de Nextcloud se cae por una falla de disco. Reinstalás el contenedor en diez minutos, listo. ¿Y los archivos, los contactos, el calendario compartido con todo el equipo? Si no respaldaste los volúmenes, se fueron con el disco. El tutorial de Portabase lo dice sin vueltas: los volúmenes son, en la práctica, donde vive el estado de una aplicación contenedorizada. Nada nuevo para quien administra Docker hace rato, pero conviene decirlo porque es el error más común en instalaciones caseras de Nextcloud.
¿Qué volúmenes de Docker usa una instalación de Nextcloud?
Una instalación típica de Nextcloud con Docker Compose define tres volúmenes persistentes, según el docker-compose.yml publicado en el tutorial de Portabase: uno para los archivos de la app, otro para la base PostgreSQL y otro para la cache de Redis.
| Volumen | Servicio | Qué guarda |
|---|---|---|
| nextcloud-data | nextcloud-app | Archivos de usuarios, config y apps (montado en /var/www/html) |
| nextcloud-postgres | nextcloud-db | Base de datos PostgreSQL con usuarios, metadatos y permisos |
| redis-data | nextcloud-redis | Cache de sesiones y locking de la app Nextcloud |

Ojo con esto: si respaldás solo nextcloud-data y te olvidás de nextcloud-postgres, después de un restore vas a tener los archivos físicos pero sin la base que los indexa. Nextcloud no arranca bien así. Los tres volúmenes van juntos, siempre.
¿Qué es Portabase y cómo se integra con Docker?
Portabase es una herramienta open-source de backup y restore, mantenida por una organización sin fines de lucro, que centraliza copias de seguridad de múltiples servidores desde un solo dashboard. Soporta nueve motores de base de datos (PostgreSQL, MySQL, MariaDB, SQL Server, Firebird, SQLite, MongoDB, Redis y Valkey) más backup y restore de volúmenes Docker, según la documentación oficial.
La arquitectura tiene dos piezas. El servidor Portabase es el que da la interfaz web para configurar proyectos, destinos de almacenamiento, calendarios de backup y políticas de retención. El agente se instala directamente en el host de Docker (o en el servidor de base de datos) y ejecuta las operaciones reales, comunicándose de forma saliente hacia el servidor central. Esto significa que no hace falta abrir puertos entrantes en el servidor de Nextcloud, algo que cualquiera que haya tenido que justificar reglas de firewall en una auditoría va a agradecer.
Un usuario resumió bastante bien la propuesta en Reddit: “busaba algo así para mi homelab, el tema de retención GFS está bueno, no muchas herramientas self-hosted lo hacen bien”, comentó u/Any_Race_3389 según quedó registrado en la página de comunidad de Portabase. Tomalo como una opinión de usuario, no como benchmark independiente.
¿Cómo se instala Nextcloud con Docker Compose?
Se instala con un docker-compose.yml de cuatro servicios (postgres, redis, nextcloud y nextcloud-cron) y un archivo .env con las credenciales, siguiendo el flujo documentado en el tutorial de Portabase.
El compose usa las imágenes postgres:16, redis:7.2 y nextcloud:34, con healthchecks para que el contenedor de Nextcloud espere a que la base y el cache estén listos antes de arrancar. Las variables clave del .env son NEXTCLOUD_DB_PASSWORD, NEXTCLOUD_ADMIN_PASSWORD, NEXTCLOUD_REDIS_PASSWORD y DATA_PATH (apuntando a /var/www/html). Con docker compose up -d el stack levanta, y la instancia queda disponible en http://localhost:7689, puerto elegido en ese ejemplo puntual del tutorial.
¿Cómo se instala Portabase y se conecta el agente al host de Docker?
Portabase se instala igual que Nextcloud, con un docker-compose.yml propio que expone el dashboard en el puerto 8887 y usa las variables PROJECT_SECRET y PROJECT_URL del archivo .env.
Después de levantar el contenedor con docker compose up -d y entrar a http://localhost:8887, un asistente de configuración guía la instalación inicial. El siguiente paso es crear un agente desde el menú Agents: le ponés nombre, agregás una descripción opcional, y Portabase te da un token de registro. Ese token se usa para instalar el CLI en el host de Docker con:
- Instalación con un comando:
curl -sL https://portabase.io/install | bashdescarga e instala el CLI del agente. - Registro automático: el comando de registro que copiás del dashboard incluye el token de autenticación, así el agente queda vinculado al servidor sin pasos manuales extra.
- Detección de volúmenes: una vez conectado, el agente lista los volúmenes Docker disponibles en el host, incluidos los de Nextcloud.
Con el agente conectado, en la sección Managed Databases del dashboard aparecen los volúmenes detectados, listos para asignarse a un proyecto.
¿Cómo configurar y ejecutar el primer backup de Nextcloud con Portabase?
Primero se crea un proyecto en Portabase y se seleccionan los volúmenes de Nextcloud a proteger; después se corre el backup manual desde el dashboard. El flujo completo es volúmenes de Nextcloud → agente de Portabase → almacenamiento de backup.
Crear el proyecto es obligatorio: es donde se configuran y corren las operaciones de backup, no un paso decorativo. Elegís el nombre, marcás qué volúmenes entran (los tres que vimos antes, idealmente) y desde ahí Portabase muestra el estado de cada uno dentro del proyecto Nextcloud. Corrés el backup manual una vez para confirmar que todo el circuito funciona: agente, conexión con el volumen y destino de almacenamiento. Si eso anda bien, recién ahí pasás a la parte que importa de verdad, que es automatizarlo.
¿Qué política de retención conviene según el tamaño de tu instalación?
La documentación de Portabase menciona tres esquemas de retención disponibles: políticas GFS (por hora, día, semana, mes y año), keep-last-N (guardar las últimas N copias) y keep-for-X-days (guardar todo lo generado en los últimos X días), configurables por base de datos o volumen. Elegir entre ellas no es solo gusto, depende de para qué usás Nextcloud:
- Uso personal o homelab: alcanza con
keep-last-N(por ejemplo, las últimas 7 copias diarias). Es la política más simple de razonar y de auditar cuando el volumen de datos es chico. - Equipo chico con archivos compartidos activos: conviene combinar backups diarios con retención GFS semanal/mensual. Así se puede volver a un punto de varios días atrás sin acumular decenas de copias diarias innecesarias.
- Instalaciones con requisitos de cumplimiento o auditoría: GFS completo (hora/día/semana/mes/año) es la opción que deja trazabilidad más larga, a costa de más espacio de almacenamiento.
Ejemplo hipotético: imaginemos un equipo de 15 personas que usa Nextcloud para compartir calendarios y contratos con clientes. Configuran backup diario de los tres volúmenes con retención de 7 copias diarias más 4 semanales. Un martes, alguien borra por error la carpeta compartida con los contratos vigentes. Si el error se detecta el mismo día, restaurar el volumen nextcloud-data desde la copia del lunes anterior implica perder, como mucho, las modificaciones de esa jornada, en vez de días o semanas de trabajo. Este es un escenario ilustrativo para explicar el criterio, no un caso registrado en las fuentes.
¿Cómo automatizar backups y restaurar Nextcloud si falla el servidor?
Portabase permite configurar políticas de backup programado, políticas de retención, proveedores de almacenamiento externos y operaciones de restore, todo desde el mismo dashboard usado para el backup manual.
Para producción, la recomendación del propio tutorial es clara: guardar los backups en infraestructura separada del servidor de Nextcloud, así una falla que tumbe el host original no se lleva puesta también la copia. Portabase soporta destinos S3-compatible, Google Drive, Azure Blob Storage, SFTP y Rclone, entre otros, según la documentación, y puede mandar el mismo backup a más de un destino a la vez. Si estás pensando dónde alojar ese destino separado para una instancia argentina, un VPS o servicio de storage en donweb.com cumple ese rol sin depender del mismo proveedor donde corre Nextcloud.
Ahora bien, un backup que nunca se probó no es un backup, es una promesa. La única forma de saber si sirve es restaurarlo. ¿Alguien en tu equipo probó una restauración completa en los últimos meses? Si la respuesta es no, ese es el próximo paso, no el manual del año que viene.
Errores comunes al respaldar Nextcloud con Docker
- Respaldar solo el volumen de archivos: sin
nextcloud-postgres, el restore deja archivos huérfanos sin la base que los referencia. - Guardar el backup en el mismo host: si el disco del servidor Nextcloud falla, se lleva puesta la copia también. La separación de infraestructura no es opcional.
- No probar el restore nunca: un backup sin prueba de restauración es, en el mejor de los casos, un archivo que ocupa espacio.
- Confundir snapshot de contenedor con backup: un
docker commito export de imagen no captura el estado de los volúmenes montados, solo la capa del contenedor. - Dejar credenciales sin rotar en el .env: las contraseñas de
NEXTCLOUD_DB_PASSWORDoPROJECT_SECRETgeneradas al instalar suelen quedar como placeholders si nadie las cambia. - Usar retención uniforme sin pensar el caso de uso: aplicar la misma política a un homelab personal y a un Nextcloud de equipo con archivos compartidos activos suele dejar muy pocas copias en el primer caso o gastar espacio de más en el segundo.
Preguntas Frecuentes
¿Cómo se hace un backup de Nextcloud instalado con Docker?
Se respaldan los volúmenes Docker persistentes (datos, base y cache), no el contenedor en sí, usando una herramienta que se conecte al host de Docker, como Portabase con su agente instalado vía CLI.
¿Qué volúmenes de Docker hay que respaldar en Nextcloud?
Los tres definidos en el compose oficial: nextcloud-data (archivos y config), nextcloud-postgres (base de datos) y redis-data (cache de sesiones). Los tres van en el mismo backup para que el restore sea consistente.
¿Sirve Portabase para hacer backup de contenedores Docker?
Sí, Portabase soporta backup y restore de volúmenes Docker como tipo de fuente propio, además de nueve motores de base de datos, según su documentación oficial en portabase.io/docs.
¿Cómo se restaura un backup de Nextcloud si falla el servidor?
Desde el dashboard de Portabase se elige el backup guardado y se ejecuta la operación de restore sobre el volumen Docker correspondiente, apuntando a un host nuevo o al mismo servidor recuperado. La documentación oficial recomienda probar este proceso de forma periódica.
¿Es seguro respaldar solo el contenedor de Nextcloud sin los volúmenes?
No. Un contenedor se recrea desde su imagen en cualquier momento, pero no guarda el estado real de la aplicación. Sin los volúmenes respaldados, un restore de solo el contenedor deja la instancia sin archivos, sin base de datos y sin configuración.
Conclusión
La lección del tutorial de Portabase es simple y bastante vieja en el mundo Docker, pero se sigue pasando por alto: el contenedor es descartable, el volumen no. Si administrás Nextcloud propio, la lista de tareas es corta: identificar los tres volúmenes, conectar un agente de backup (Portabase u otra herramienta equivalente), elegir una política de retención acorde al tamaño real de tu instalación, programar la copia y, sobre todo, probar el restore al menos una vez antes de necesitarlo de verdad.





