FileBrowser Quantum: Gestor de archivos web autohospedado

Publicado por


filebrowser
FileBrowser Quantum

FileBrowser Quantum: Gestor de archivos web autohospedado

Interfaz moderna, múltiples fuentes, autenticación avanzada y API para desarrolladores

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar FileBrowser Quantum: Gestor de archivos web autohospedado en el canal GENBYTE:

¿Qué es FileBrowser Quantum: Gestor de archivos web autohospedado?

FileBrowser Quantum es una aplicación web de código abierto para gestionar archivos desde el navegador. Es un fork masivo del proyecto original filebrowser que añade características avanzadas manteniendo una instalación sencilla mediante un único binario o imagen Docker. Permite acceder y administrar archivos con una interfaz responsiva, soporte para múltiples fuentes de almacenamiento, autenticación mediante OIDC, LDAP, JWT, contraseña con 2FA y proxy, y una API documentada con Swagger. El proyecto está escrito en Go, licenciado bajo Apache-2.0 y se distribuye gratuitamente.

Combina potencia y simplicidad: configuración por archivo YAML, búsqueda en tiempo real, miniaturas para oficina, vídeo, audio y modelos 3D, WebDAV, permisos granulares y compartición avanzada, todo en una imagen Docker de 180 MB con ffmpeg incluido.

Características principales

Múltiples fuentes de almacenamiento

Permite configurar varias fuentes simultáneas con reglas de inclusión y exclusión por ruta.

Autenticación flexible

Soporta OIDC, LDAP, JWT, autenticación por contraseña con doble factor (2FA) y autenticación por proxy.

Interfaz responsiva y personalizable

Diseño de tres componentes (panel lateral, barra de búsqueda, menú de vista) con temas, marca propia y modo oscuro.

Configuración centralizada

Un único archivo config.yaml define fuentes, usuarios, permisos, comparticiones y ajustes de la aplicación.

Búsqueda eficiente en tiempo real

Resultados instantáneos al escribir, monitorización de cambios en la UI, filtros por tamaño de archivo y carpeta.

Listado avanzado con miniaturas

Genera miniaturas para documentos ofimáticos, vídeo, portadas de álbumes y modelos 3D; muestra tamaños de carpeta y recuerda posición de scroll.

Soporte WebDAV y permisos granulares

Acceso WebDAV nativo y control de acceso por usuario, grupo y ruta de origen.

Compartición altamente configurable

Expiración, usuarios permitidos (incluyendo anónimos), temas, permisos de visualización, edición y subida.

API para desarrolladores

Tokens de API de larga duración y documentación interactiva Swagger disponible en el endpoint /swagger.

Sin comandos de shell

La funcionalidad de ejecución de comandos de shell ha sido eliminada completamente por seguridad.

Requisitos del sistema

  • Arquitectura compatible con binarios Go (Linux, Windows, macOS)
  • Mínimo 512 MB de RAM recomendados
  • Docker (opcional, para despliegue en contenedor)
  • ffmpeg incluido en la imagen Docker para generación de miniaturas de vídeo y audio

Instalación con Docker Compose

Despliegue con Docker Compose

La imagen oficial es gtstef/filebrowser. Se recomienda montar un volumen para la configuración y los datos. El puerto por defecto es 8080.

version: '3.8'
services:
filebrowser:
image: gtstef/filebrowser:latest
container_name: filebrowser
ports:
– "8080:8080"
volumes:
– ./config:/config
– ./data:/data
restart: unless-stopped

Binario independiente

Descarga el binario correspondiente a tu sistema desde la página de releases de GitHub, dale permisos de ejecución y ejecútalo con la bandera –config apuntando a tu config.yaml.

wget https://github.com/gtsteffaniak/filebrowser/releases/download/v2.0.0/filebrowser-linux-amd64.tar.gz
tar -xzf filebrowser-linux-amd64.tar.gz
chmod +x filebrowser
./filebrowser –config /ruta/a/config.yaml

Acceder al proyecto

Interfaz web

Accede a http://<IP_DEL_SERVIDOR>:8080 tras iniciar el contenedor o el binario. La primera vez se crea un usuario administrador según la configuración o mediante la UI de inicialización.

API y documentación Swagger

La documentación interactiva de la API está disponible en http://<IP_DEL_SERVIDOR>:8080/swagger para usuarios con permisos de API habilitados.

WebDAV

El endpoint WebDAV permite montar el almacenamiento como unidad de red en clientes compatibles (Windows, macOS, Linux, aplicaciones móviles).

Casos de uso

  • Gestor de archivos personal o familiar autohospedado
  • Acceso remoto a archivos del servidor mediante navegador o WebDAV
  • Compartición controlada de documentos con expiración y permisos granulares
  • Integración en infraestructuras con autenticación corporativa (LDAP, OIDC, SSO)
  • Previsualización y edición de archivos ofimáticos, multimedia y modelos 3D desde el navegador
  • Desarrollo de aplicaciones que requieren API de gestión de archivos con tokens de larga duración

Configuración avanzada

Configuración de fuentes múltiples

En config.yaml se definen varias fuentes (source) cada una con su ruta base, reglas include/exclude, y permisos por usuario o grupo.

sources:
– name: "Documentos"
path: "/data/docs"
include:
– "*.pdf"
– "*.docx"
exclude:
– "*.tmp"
– name: "Multimedia"
path: "/data/media"
include: []
exclude: []

Autenticación OIDC

Configura un proveedor OIDC (Keycloak, Authentik, Google, etc.) en config.yaml para delegar el inicio de sesión.

auth:
oidc:
enabled: true
issuer_url: "https://auth.ejemplo.com/realms/mi-realm"
client_id: "filebrowser"
client_secret: "${OIDC_CLIENT_SECRET}
scopes:
– "openid"
– "profile"
– "email"

Compartición con opciones avanzadas

Define plantillas de compartición con expiración, tema, permisos y usuarios permitidos.

shares:
default_expiration: "24h"
allow_anonymous: true
themes:
– "light"
– "dark"
permissions:
view: true
edit: false
upload: false

Gestión y mantenimiento

Actualización de la imagen Docker

Descarga la nueva imagen y recrea el contenedor manteniendo los volúmenes de configuración y datos.

docker compose pull
docker compose up -d

Copia de seguridad de la configuración

Los archivos críticos residen en el volumen montado en /config (config.yaml, base de datos de usuarios, claves). Realiza copias periódicas de ese directorio.

tar -czf filebrowser-config-$(date +%F).tar.gz ./config

Limpieza de miniaturas y caché

Las miniaturas generadas se almacenan en el directorio de datos. Si el espacio es limitado, se puede programar una limpieza periódica de archivos antiguos.

find /data/thumbnails -type f -mtime +30 -delete

Stack técnico

  • Go (Golang)
  • Docker
  • Docker Compose
  • WebDAV
  • ffmpeg (generación de miniaturas)
  • SQLite (base de datos embebida para usuarios y metadatos)
  • Swagger/OpenAPI (documentación de API)
  • YAML (configuración)

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *