fbs-core
fbs-core es un ecosistema de almacenamiento de objetos autoalojado compatible con AWS S3, optimizado para despliegues en un solo nodo como homelabs o proyectos pequeños. Utiliza Go y SQLite, con API S3 completa y autenticación dual (SigV4/Bearer).
Ficha actualizada 26 sept 2026, 3:40 · upstream 26 sept 2026, 3:35 · release v0.2.0
Qué es fbs-core
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
fbs-core es una solución de almacenamiento de objetos ligera y compatible con la API AWS S3, diseñada para despliegues en un solo nodo como homelabs o proyectos pequeños. Utiliza Go 1.27 como lenguaje principal, SQLite en modo WAL para metadatos y el sistema de archivos local para almacenamiento de objetos, aprovechando transferencias sin copia mediante sendfile().
El backend gestiona operaciones S3 (PUT, GET, DELETE, HEAD), buckets y subidas multipartes. Incluye caché en memoria LRU para metadatos SQLite, optimización de concurrencia con synchronous=NORMAL y busy_timeout=5000, y autenticación unificada vía tokens Bearer o AWS SigV4. La seguridad incluye sanitización de rutas, validación de checksums en tiempo real y reconciliación automática de datos.
El despliegue requiere inicialización manual mediante el endpoint /api/setup/bootstrap para crear el usuario admin inicial. No soporta Docker Compose, aunque incluye Dockerfile. La documentación detallada está en docs/README.md y quickstart.md.
- Almacenamiento personal de objetos (fotos, videos) en homelab con API S3 compatible
- Backend de almacenamiento para aplicaciones web autoalojadas que requieran compatibilidad S3
- CDN ligero para distribuir contenido estático en redes locales o pequeñas
- Sistema de backup local con validación de integridad mediante checksums
- Pruebas de API S3 sin dependencias externas (solo Go y SQLite)
- API S3 completa con operaciones multipartes, buckets y objetos
- Transferencias zero-copy usando sendfile() para alto rendimiento en disco local
- Autenticación dual: AWS SigV4 y tokens Bearer para flexibilidad de integración
- Optimización SQLite con WAL mode, caché LRU y tuning de concurrencia
- Reconciliación automática de datos al inicio para purgar datos huérfanos
- Validación en tiempo real de checksums (Content-MD5, x-amz-checksum-*)
- Solo soporta despliegues en un solo nodo; no hay soporte explícito para clusters o réplicas
- Requiere inicialización manual mediante endpoint /api/setup/bootstrap sin Docker Compose
- No incluye Docker Compose, aunque tiene Dockerfile disponible
- El bucket 'public' está reservado para URLs firmadas, no puede usarse como nombre de bucket
- Dependencia de SQLite; no soporta bases de datos distribuidas o escalables
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.
Despliegue en un solo nodo con Go o Docker. Configurar permisos de escritura en el directorio de almacenamiento local. Ejecutar POST /api/setup/bootstrap desde localhost para crear admin inicial. Usar SQLite con WAL mode y ajustar synchronous=NORMAL, busy_timeout=5000. Validar checksums en uploads. No usar 'public' como nombre de bucket. Documentación en docs/quickstart.md.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
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.