Configuración
Todo en LibreDrive se configura mediante variables de entorno, leídas al arrancar el contenedor. Defínelas en .env, junto a docker-compose.yml; no hace falta tocar código ni forkear nada. .env.example en el repositorio es una plantilla lista para editar con todas las variables de abajo.
Ajustes principales
| Variable | Descripción | Valor por defecto |
|---|---|---|
LIBREDRIVE_DOMAIN | Dominio público, usado para construir enlaces (configuración, redirecciones de pago) | — (obligatorio) |
LIBREDRIVE_DATABASE_URL | Cadena de conexión a PostgreSQL | — (obligatorio) |
LIBREDRIVE_SECRET_KEY | Firma los tokens JWT de acceso. Mínimo 32 caracteres | — (obligatorio) |
LIBREDRIVE_ALLOW_SIGNUP | Si los nuevos usuarios pueden auto-registrarse (POST /api/auth/register) | false |
Cuotas de almacenamiento y subidas
| Variable | Descripción | Valor por defecto |
|---|---|---|
LIBREDRIVE_DEFAULT_QUOTA | Cuota asignada a usuarios sin plan ni ajuste manual | 5GB |
LIBREDRIVE_MAX_UPLOAD_SIZE | Tamaño máximo de un archivo individual, para toda la instancia | 5GB |
LIBREDRIVE_ALLOWED_FILE_TYPES | Extensiones/tipos MIME separados por comas, o * para todos | * |
LIBREDRIVE_TRASH_RETENTION_DAYS | Días que un archivo en la papelera sigue siendo recuperable antes de purgarse | 30 |
Los planes con cuotas personalizadas (Free, Pro, Team o los nombres que quieras) se crean desde el panel de administración una vez la instancia está en marcha; las variables anteriores solo definen el valor por defecto para cuentas sin plan.
Backend de almacenamiento
LibreDrive guarda los blobs de archivos cifrados en disco local o en un bucket compatible con S3.
| Variable | Descripción | Valor por defecto |
|---|---|---|
LIBREDRIVE_STORAGE_DRIVER | local o s3 | local |
LIBREDRIVE_STORAGE_LOCAL_PATH | Ruta para el driver local, montada desde el volumen libredrive_files | /data/files |
LIBREDRIVE_STORAGE_S3_BUCKET | Nombre del bucket (driver S3) | — |
LIBREDRIVE_STORAGE_S3_REGION | Región del bucket | — |
LIBREDRIVE_STORAGE_S3_ENDPOINT | Endpoint personalizado, para MinIO u otro almacén compatible con S3 | — |
LIBREDRIVE_STORAGE_S3_ACCESS_KEY_ID / LIBREDRIVE_STORAGE_S3_SECRET_ACCESS_KEY | Credenciales del bucket | — |
Métodos de pago
Activa uno o varios proveedores con LIBREDRIVE_PAYMENTS_ENABLED, una lista separada por comas entre stripe, paypal, crypto, manual.
LIBREDRIVE_PAYMENTS_ENABLED=stripe,paypal,manualIndependientemente de qué proveedores estén activos, un administrador siempre puede marcar cualquier factura como pagada a mano desde el panel de administración (POST /api/admin/invoices/:id/mark-paid). Cada proveedor activado necesita sus propias credenciales:
Stripe
| Variable | Descripción |
|---|---|
LIBREDRIVE_STRIPE_SECRET_KEY | Clave API secreta de tu panel de Stripe |
LIBREDRIVE_STRIPE_WEBHOOK_SECRET | Verifica los eventos entrantes en POST /api/payments/webhooks/stripe |
PayPal
| Variable | Descripción |
|---|---|
LIBREDRIVE_PAYPAL_CLIENT_ID | Client ID de tu app de desarrollador de PayPal |
LIBREDRIVE_PAYPAL_CLIENT_SECRET | Client secret de la misma app |
LIBREDRIVE_PAYPAL_MODE | sandbox o live; por defecto live |
Cripto
| Variable | Descripción |
|---|---|
LIBREDRIVE_CRYPTO_WALLET_ADDRESS | Dirección mostrada en la pantalla de pago |
LIBREDRIVE_CRYPTO_NETWORK | Etiqueta de red mostrada junto a la dirección (por ejemplo BTC, ETH) |
Los pagos en cripto se confirman manualmente desde el panel de administración; LibreDrive no vigila la blockchain por ti.
Transferencia manual
No requiere credenciales: las facturas pueden marcarse como pagadas a mano desde el panel de administración. Útil para transferencias bancarias o acuerdos informales.
Cifrado y backups
| Variable | Descripción | Valor por defecto |
|---|---|---|
LIBREDRIVE_ENCRYPTION_KEY | Base64, 32 bytes (openssl rand -base64 32). Cifra la clave de datos de cada archivo | — (obligatorio) |
LIBREDRIVE_ENCRYPTION_KEY_NEW | Se define solo durante la rotación de claves; consulta seguridad y backups | — |
LIBREDRIVE_BACKUP_TARGET | s3, local, o none | none |
LIBREDRIVE_BACKUP_SCHEDULE | Expresión cron para el backup automático | 0 3 * * * |
LIBREDRIVE_BACKUP_S3_BUCKET | Bucket para los archivos de backup (destino S3) | — |
LIBREDRIVE_BACKUP_LOCAL_PATH | Ruta para los archivos de backup (destino local), montada desde el volumen libredrive_backups | /data/backups |
Consulta seguridad y backups para ver el proceso completo de rotación de claves y restauración.