Despliegue
Servicios que componen una instancia de Cloud y sus variables clave.
Servicios de una instancia
Cada instancia de Cloud son 5 contenedores trabajando juntos:
flowchart LR
T[Traefik] --> APP[app - interfaz web]
T -->|/dav| WD[webdav]
APP --> DB[(db - PostgreSQL)]
APP --> R[(redis)]
WK[worker - tareas en segundo plano] --> DB
WK --> R
WD --> DB
- app: la interfaz web (Flask + gunicorn).
- webdav: servidor WebDAV independiente, expuesto en
/davdel mismo dominio. Corre con un único worker a propósito, porque el bloqueo de archivos WebDAV (LOCK/UNLOCK) se mantiene en memoria de un solo proceso. - worker: procesa tareas en segundo plano (por ejemplo, indexado y limpieza) vía colas Redis.
- db: PostgreSQL, la base de datos de la instancia.
- redis: cola de tareas y caché.
Primer arranque
Al iniciar, el contenedor app aplica las migraciones de base de datos
automáticamente y crea el usuario owner inicial a partir de las credenciales
configuradas: no necesitas ejecutar ningún comando manual.
Variables de entorno relevantes
| Variable | Para qué sirve |
|---|---|
DATABASE_URL |
Cadena de conexión a PostgreSQL, ya preconfigurada por la plataforma |
MAX_UPLOAD_MB |
Tamaño máximo de subida por archivo |
STORAGE_BACKEND |
local (por defecto) o s3 |
S3_BUCKET, S3_ACCESS_KEY, S3_SECRET_KEY |
Requeridas solo si STORAGE_BACKEND=s3 |
Las integraciones opcionales (almacenamiento S3, antivirus, edición OnlyOffice) simplemente quedan desactivadas si no configuras sus variables: no rompen el resto de la instancia.
Publicación y TLS
Igual que los otros productos, solo Traefik expone puertos al exterior; el dominio de tu instancia recibe un certificado TLS automático vía Let's Encrypt.