Cabinet
Cabinet es un 'File Locker' autoalojado ligero de alto rendimiento. Prioriza una experiencia web rápida, diseño mobile-first y gestión simple de archivos sin la sobrecarga de motores de sincronización complejos.
Ficha actualizada 25 sept 2026, 4:19 · upstream 25 sept 2026, 4:10 · release sin release detectada
Qué es Cabinet
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Cabinet se presenta como una solución minimalista para el almacenamiento seguro de archivos en entornos self-hosted. Su arquitectura combina un frontend React responsivo con un backend modular en Express.js, todo ejecutándose dentro de una única imagen Docker ligera que incluye SQLite como base de datos. El sistema está optimizado para funcionar como una Progressive Web App (PWA), permitiendo su instalación en dispositivos móviles y acceso fluido sin necesidad de aplicaciones nativas.
- Almacenamiento personal seguro de archivos con cifrado AES-256-GCM para detección de alteraciones.
- Compartición pública de enlaces con protección por contraseña, límites de descargas y fechas de caducidad.
- Gestión de archivos grandes mediante subida en chunks (hasta 50 GiB) tolerante a proxies estrictos.
- Despliegue simplificado en servidores domésticos o pequeños VPS utilizando un solo contenedor Docker.
- Visualización de previsualizaciones automáticas para imágenes, videos y PDFs.
- Arquitectura monolítica ligera: Frontend React, backend Express y SQLite en una sola imagen Docker.
- Cifrado robusto: Uso de AES-256-GCM para nuevos archivos con soporte de migración para archivos legacy AES-CTR.
- Optimización móvil-first: Interfaz responsive con action drawers personalizados y soporte PWA.
- Gestión eficiente de subidas grandes: Chunking por defecto de 8 MiB para evitar límites de cuerpo en proxies.
- Persistencia simplificada: Todo el estado (DB, archivos, logs) reside en un único directorio montable.
- Dependencia crítica de claves secretas: La pérdida de ENCRYPTION_KEY o JWT_SECRET hace los datos inaccesibles o invalida sesiones.
- No incluye motor de sincronización complejo: No es una alternativa directa a soluciones como Nextcloud para sincronización bidireccional automática.
- Requiere configuración manual de entorno (.env): Necesita generación segura de secretos antes del primer arranque.
- Logs detallados en modo debug pueden generar volumen excesivo si no se configura LOG_LEVEL=info.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para producción, asegúrese de configurar HTTPS y establecer COOKIE_SECURE=true. Utilice un proxy inverso (Nginx/Traefik/Caddy) y configure TRUST_PROXY=true solo si el proxy es confiable. Realice copias de seguridad periódicas del directorio CABINET_DATA_DIR (ej. /srv/cabinet/user_data). Nunca cambie la ENCRYPTION_KEY tras guardar archivos, ya que los datos existentes se volverán ilegibles.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.

