Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

shelf-compose

Repositorio de Docker para Shelf.nu: gestión de activos en contenedor con Supabase como base de datos y autenticación, mail catcher y backups diarios.

Ficha actualizada 23 sept 2026, 12:37 · upstream 23 sept 2026, 10:20 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es shelf-compose

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Shelf-compose es una implementación autoalojada de Shelf.nu (herramienta de gestión de activos) ejecutada en Docker. Utiliza su propio stack Supabase (PostgreSQL, Auth, Storage) en lugar del servicio Cloud, eliminando la dependencia externa. Se conecta a Tailscale mediante HTTPS para acceso seguro desde dispositivos remotos. Incluye un mail catcher que captura correos electrónicos y los descarga automáticamente cada hora.

CASOS DE USO
  • Gestión de activos digitales (documentos, imágenes, archivos) en entornos aislados
  • Almacenamiento descentralizado con autenticación mediante códigos de email
  • Compartición segura de archivos entre dispositivos en red local sin necesidad de internet
  • Automatización de backups diarios del estado del repositorio
  • Despliegue en entornos aislados (airgapped) o redes privadas sin infraestructura externa
PUNTOS DESTACADOS
  • Implementación completa en Docker con imágenes pinadas a versiones específicas, garantizando consistencia entre app y base de datos
  • Supabase se ejecuta como contenedor separado dentro del mismo namespace de red (127.0.0.1), permitiendo que Caddy y Tailscale compartan certificados válidos sin necesidad de certificados externos
  • Configuración de autenticación mediante códigos de email de 6 dígitos, con identidad persistente guardada en el volumen de datos tras la primera conexión
  • Mailpit como mail catcher que intercepta todos los correos y descarga automáticamente cada hora al servidor local
  • Backup diario del estado del repositorio (archivos + DB) mediante un contenedor dedicado que ejecuta un script de restauración
PRECAUCIONES
  • Depende de Tailscale para el acceso HTTPS desde dispositivos remotos; sin la red Tailnet no es usable
  • El almacenamiento en Supabase se mantiene dentro del mismo namespace de red (127.0.0.1), lo que limita la escalabilidad horizontal
  • La autenticación requiere códigos de email de 6 dígitos, lo que puede ser ineficiente para usuarios con pocos contactos
  • El mail catcher descarga correos en tiempo real; si el servidor local falla, se perderá la descarga hasta que se reinicie
  • No incluye un sistema de notificaciones push ni notificaciones por correo electrónico (solo captura)
  • La configuración requiere PowerShell o Bash y scripts personalizados para inicializar y gestionar el entorno
01

Perfil de infraestructura

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

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

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

Listo para automatizar

Para desplegar, necesitas Docker Desktop, PowerShell (pwsh) y una cuenta de Tailscale con HTTPS habilitado. Ejecuta `docker-compose.ps1 init-config` para generar config.env con todas las credenciales, luego `docker-compose.ps1 up`. El nodo se une a la red Tailnet primero, lee su nombre real y genera URLs internas (https://shelf.<tailnet>.ts.net). Para migrar, cambia el tag de la imagen shelf y ejecuta `docker-compose.ps1 up` tras un backup. Se recomienda usar una cuenta de Tailscale con HTTPS activado para evitar certificados SSL externos.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
Node.js
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
8025543299995000
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.