Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

CASOS DE USO
  • 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.
PUNTOS DESTACADOS
  • 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.
PRECAUCIONES
  • 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.
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Cabinet Mobile List ViewCabinet Mobile Grid View
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

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.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
ReactNode.js
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
4444
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.