Saltar al contenido principal

S3 (buckets)

Qué es "S3" como estándar y en qué partes de nuestro stack lo usamos (backups de Dokploy + uploads de los backends).


1. Qué es S3

S3 (Simple Storage Service) es el almacenamiento de objetos de AWS. Guarda archivos binarios (imágenes, videos, backups, zips) en buckets (una carpeta raíz con nombre único), accesibles por HTTP: PUT sube, GET baja, DELETE borra. Cada archivo es un objeto con una key (su ruta, ej. backups/2026-07-14/db.sql.gz).

El "protocolo S3" es un estándar de facto: otros proveedores lo implementan igual. Cuando Dokploy pide "S3 Bucket", no significa AWS — sirve cualquiera:

ProveedorProducto S3-compatible
AWSS3
DigitalOceanSpaces
CloudflareR2
BackblazeB2
MinIOself-hosted

Todos usan las mismas credenciales Access Key ID / Secret Access Key + un Endpoint distinto.

2. Dónde usamos S3

2.1 Como destino de backups (Dokploy)

Ver Backups de bases de datos y Volume Backups. Dokploy sube ahí los .sql.gz, .dump o snapshots, con un cron y un prefijo. Es infraestructura — se configura una vez en Settings → Destinations.

2.2 Como almacenamiento de archivos subidos por la app (uploads)

Distinto: aquí S3 es parte del backend, no de Dokploy. Ejemplo real en queruva-totems_quiz-back:

  • La API usa express-fileupload con useTempFiles: true, que escribe temporal en os.tmpdir() (disco efímero) antes de subir el archivo final al bucket.
  • El temporal se borra solo al reiniciar el contenedor — no hace falta respaldarlo.
  • El archivo real vive en el bucket, con sus propias env vars (AWS_ACCESS_KEY, AWS_SECRET_KEY, AWS_BUCKET, AWS_ENDPOINT).

Por qué importa para recuperación: si el servidor muere, los archivos subidos sobreviven — nunca vivieron en el disco del droplet.

2.3 Los dos usos son independientes

Backup destination (2.1)Uploads (2.2)
Quién lo usaDokploy (el panel)El código del backend
Qué guardaCopias de BD / volúmenesArchivos de los usuarios
Se configura enSettings → DestinationsEnv vars del proyecto
Si faltaPierdes histórico de backupsLa app no puede subir archivos

Pueden apuntar al mismo bucket o a buckets distintos.

3. Configurar un destino S3 en Dokploy

Settings → Destinations → Create Destination:

CampoValor típico
ProviderAWS S3 / DigitalOcean Spaces / etc.
Access Key ID / Secret Access Keycredenciales del bucket
Bucketnombre del bucket
Regionregión del bucket
Endpointvacío para AWS; requerido para Spaces y otros (ej. https://nyc3.digitaloceanspaces.com)

Una vez creado, queda disponible en Backups, Restore y Volume Backups.


📖 docs.dokploy.com/docs/core/databases