Volver al Blog

FFHS: Soberanía de datos con mi propio Cloud Storage

¿Qué es FFHS?

FFHS (Free File Host System) es un sistema de hosting de archivos open source diseñado para ser desplegado en tu propia infraestructura. Funciona como un "bucket" privado y soberano: te permite subir archivos, generar enlaces de compartición y gestionar tu almacenamiento sin depender de proveedores externos como Google Drive, Dropbox o S3.

Lo puedes ver en funcionamiento en ffhs.hgccarlos.es.


¿Por qué construirlo?

La motivación principal fue la soberanía de datos. Necesitaba una forma rápida de compartir archivos con URLs limpias, sin anuncios, sin límites de almacenamiento impuestos por un tercero y con control total sobre dónde están mis datos.

Las alternativas existentes (Nextcloud, Seafile, Minio…) son potentes pero tienen una curva de configuración considerable. Quería algo mucho más simple: sube y comparte, sin más.


Características principales


Stack técnico

El proyecto utiliza un stack sencillo y moderno:

| Capa | Tecnología | |------|------------| | Frontend | Next.js, TypeScript, Tailwind CSS | | Backend | Spring Boot | | Almacenamiento | Sistema de archivos local / configurable | | Despliegue | Docker + Coolify |

La decisión de usar Next.js para el frontend y una potente API en Spring Boot permitió separar responsabilidades: un backend robusto con tipado fuerte y un frontend moderno y ágil.


Despliegue en tu VPS

El despliegue está pensado para ser lo más sencillo posible:

Con Coolify (recomendado)

  1. Añade el repositorio como nueva aplicación en Coolify.
  2. Configura las variables de entorno (directorio de almacenamiento, clave de acceso…).
  3. Despliega con un clic.

En cuestión de minutos tienes tu propio sistema de hosting de archivos funcionando.


Lecciones aprendidas

Simplicidad por encima de todo

La tentación al construir este tipo de herramientas es añadir features indefinidamente: usuarios, permisos, previsualizaciones, versiones de archivos… Pero el valor de FFHS es precisamente que hace una cosa y la hace bien: alojar y compartir archivos de forma rápida y privada.

Docker como unidad de despliegue

Tener la separación backend/frontend bien definida pero desplegable vía Docker redujo significativamente la complejidad operativa. Para un proyecto de auto-hosting, esto es clave.


Conclusión

FFHS es un proyecto pequeño pero muy útil en el día a día. Si eres desarrollador y usas un VPS propio, te recomiendo probarlo. El código fuente está disponible para que lo adaptes a tus necesidades.