Nextcloud + PostgreSQL + Redis
Nextcloud es una plataforma de almacenamiento y colaboración autoalojada: archivos sincronizados entre dispositivos, calendarios, contactos, edición colaborativa de documentos y videollamadas.
Este Stack lo instala con PostgreSQL y Redis, que Nextcloud usa para el bloqueo de archivos y la caché.
Servicios que incluye
Además de la aplicación, el Stack levanta PostgreSQL, Redis, un nginx que recibe el tráfico del puerto 80, un servicio de backups automáticos y el administrador de archivos web.
Estructura del proyecto
.
├── backup
│ └── backup-runner.sh
├── health
│ └── status.php
├── nginx
│ └── default.conf
├── .env.example
└── compose.yaml
Puesta en marcha
Instalá el Stack y levantalo:
docker-deploy-stack --stack php/nextcloud-postgres-redis
cd /root/stack/php/nextcloud-postgres-redis
docker compose up -d
Esta es una aplicación lista para usar: no hace falta que subas código. Los temas, plugins, extensiones y archivos que subas desde su panel de administración quedan guardados en el Stack y entran en los backups automáticos.
Configuración
Los valores editables están en el archivo .env del Stack:
| Variable | Por defecto | Para qué sirve |
|---|---|---|
APP_PORT |
80 |
Puerto público del Stack. |
APP_ENV |
development |
Entorno de la aplicación. |
DB_NAME |
nextcloud |
Nombre de la base de datos. |
DB_USER |
nextcloud |
Usuario de la base de datos. |
BACKUP_ENABLED |
1 |
Backups automáticos: 1 activados, 0 desactivados. |
BACKUP_INTERVAL_SECONDS |
86400 |
Cada cuántos segundos se hace un backup. |
BACKUP_RETENTION_DAYS |
7 |
Cuántos días se conservan los backups. |
NEXTCLOUD_VERSION |
apache |
Versión de la imagen correspondiente. |
POSTGRES_VERSION |
16-alpine |
Versión de la imagen correspondiente. |
REDIS_VERSION |
7-alpine |
Versión de la imagen correspondiente. |
Después de cambiarlo, aplicá los cambios con docker compose up -d.
Comandos útiles
docker compose ps # ver los contenedores que están corriendo
docker compose logs -f # ver los logs en vivo
docker compose restart # reiniciar los servicios
docker compose down # detener y eliminar los contenedores