45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
# 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_PROXIES` y las variables `OVERWRITE*` 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 de `mail_internal`.
|
|
- `OO_DOMAIN`, `OO_JWT_SECRET` y `OO_SECURE_LINK_SECRET` protegen la comunicación con OnlyOffice; el JWT configurado en la app de Nextcloud debe ser idéntico.
|
|
- `/opt/nextcloud/html`, `config`, `data`, `custom_apps` y `themes` se 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 `proxy` y `mail_internal`
|
|
- Un archivo `.env` local con dominios, credenciales, secretos de OnlyOffice, proxy de confianza y correo SMTP
|
|
- Almacenamiento persistente bajo `/opt/nextcloud` y `/opt/onlyoffice`
|
|
|
|
## Despliegue
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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.
|