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 /dav del 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.