Nextcloud
Plataforma de archivos y colaboración con MariaDB, Redis, tareas cron y OnlyOffice Document Server.
Arquitectura y propósito
MariaDB guarda metadatos, Redis aporta bloqueo y caché, nextcloud sirve la web y nextcloud-cron ejecuta tareas en segundo plano sobre los mismos volúmenes. OnlyOffice es un servicio independiente para editar documentos y se integra mediante JWT.
Configuración
NC_DOMAIN,TRUSTED_PROXIESy las variablesOVERWRITE*hacen que Nextcloud genere HTTPS correctamente detrás de Traefik.MYSQL_*debe coincidir en Nextcloud, cron y MariaDB.NEXTCLOUD_ADMIN_*sólo inicializa la primera instalación; después administra usuarios desde Nextcloud.SMTP_*configura notificaciones a través demail_internal.OO_DOMAIN,OO_JWT_SECRETyOO_SECURE_LINK_SECRETprotegen la comunicación con OnlyOffice; el JWT configurado en la app de Nextcloud debe ser idéntico./opt/nextcloud/html,config,data,custom_appsythemesse comparten con cron para ejecutar el mismo código y configuración.
Redis no sustituye una copia de seguridad. Respalda MariaDB, configuración y datos de forma consistente, preferiblemente activando antes el modo mantenimiento.
Requisitos
- Docker Compose
- Redes externas
proxyymail_internal - Un archivo
.envlocal con dominios, credenciales, secretos de OnlyOffice, proxy de confianza y correo SMTP - Almacenamiento persistente bajo
/opt/nextcloudy/opt/onlyoffice
Despliegue
cd nextcloud
docker compose --env-file .env config
docker compose --env-file .env up -d
Traefik expone Nextcloud y OnlyOffice en los dominios configurados por NC_DOMAIN y OO_DOMAIN.
Operación
docker compose --env-file .env ps
docker compose --env-file .env logs -f nextcloud nextcloud-cron onlyoffice-documentserver
El montaje /opt/paperless/media es opcional y se presenta a Nextcloud en modo de sólo lectura.