Configuración de Almacenamiento
Configuración → Avanzado → Almacenamiento controla dónde LeadHub almacena los archivos subidos — adjuntos de clientes, imágenes de avatar, archivos de exportación y cargas de formularios.
Controladores de Almacenamiento
| Controlador | Cuándo Usarlo |
|---|---|
| Local (sistema de archivos del servidor) | Predeterminado. Los archivos se almacenan en el disco del servidor en storage/app/. Adecuado para instalaciones de servidor único. |
| Compatible con S3 | Para implementaciones en la nube, entrega CDN o cuando el disco del servidor es limitado. Admite AWS S3, DigitalOcean Spaces, MinIO, Backblaze B2, Cloudflare R2 y cualquier proveedor compatible con S3. |
Almacenamiento Local
Este es el predeterminado. No se necesita configuración. Los archivos se almacenan en:
/ruta/a/leadhub/storage/app/public/
Accesible en https://tudominio.com/storage/... a través del enlace simbólico de almacenamiento configurado durante la instalación.
Almacenamiento Compatible con S3
Paso 1 — Elegir tu Proveedor
| Proveedor | Notas |
|---|---|
| AWS S3 | El más común. Deja la URL del Endpoint en blanco. |
| DigitalOcean Spaces | Endpoint: https://nyc3.digitaloceanspaces.com (reemplaza la región) |
| MinIO (auto-alojado) | Endpoint: la URL de tu servidor MinIO |
| Backblaze B2 | Endpoint: https://s3.us-west-004.backblazeb2.com (varía según la región) |
| Cloudflare R2 | Endpoint: https://ACCOUNT_ID.r2.cloudflarestorage.com |
Paso 2 — Crear un Bucket
- En el panel de control de tu proveedor, crea un nuevo bucket.
- Establece el bucket como público si quieres acceso público directo a los archivos subidos (recomendado para avatares y adjuntos de formularios).
- Anota el Nombre del Bucket y la Región.
Paso 3 — Crear Claves de Acceso
Genera un Access Key ID y un Secret Access Key con permisos de lectura/escritura en el bucket.
Para AWS S3:
- IAM → Usuarios → Crear Usuario → adjunta la política
AmazonS3FullAccess(o una política de bucket específica). - Crea la Clave de Acceso → copia ambos valores.
Paso 4 — Configurar en LeadHub
- Ve a Configuración → Avanzado → Almacenamiento.
- Establece el Disco de Almacenamiento en Compatible con S3.
- Completa los campos: URL del Endpoint, Nombre del Bucket, Región, Access Key ID, Secret Access Key.
- Haz clic en Probar Conexión para verificar los ajustes antes de guardar.
- Haz clic en Guardar Configuración.
Probar la Conexión
Haz clic en Probar Conexión — LeadHub escribe un pequeño archivo de prueba en el disco de almacenamiento y lo elimina inmediatamente. Una notificación ✅ significa que la conexión funciona. Una notificación ❌ muestra el error.
Siempre prueba antes de guardar — una configuración incorrecta puede romper las cargas de archivos en todo el espacio de trabajo.
Migrar de Local a S3
- Configura los ajustes de S3 y prueba la conexión.
- Guarda los ajustes — las nuevas cargas irán ahora a S3.
- Los archivos existentes en el disco local no se migran automáticamente. Cópialos manualmente usando la CLI de tu proveedor (p. ej.,
aws s3 sync storage/app/public s3://tu-bucket).
Solución de Problemas
| Problema | Solución |
|---|---|
| "Prueba de conexión fallida: Acceso Denegado" | Verifica que la Clave de Acceso tenga permisos de escritura en el bucket |
| Los archivos no son públicamente accesibles | Asegúrate de que el bucket tenga ACL de lectura pública, o configura una CDN |
| Error "NoSuchBucket" | Verifica que el nombre del bucket y la región sean correctos |
| Errores de URL del Endpoint | Para proveedores que no son AWS, asegúrate de que la URL del endpoint sea correcta e incluya https:// |
| El secreto no se guarda | Deja el Secret Access Key en blanco para conservar el secreto almacenado existente |