File Browser: Gestor de archivos autohospedado (Proyecto archivado)

Publicado por


filebrowser
Archivado – Sin mantenimiento

File Browser: Gestor de archivos autohospedado (Proyecto archivado)

Interfaz web para gestionar archivos en un directorio específico. Proyecto archivado desde septiembre de 2026 sin actualizaciones de seguridad ni correcciones de errores.

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar File Browser: Gestor de archivos autohospedado (Proyecto archivado) en el canal GENBYTE:

¿Qué es File Browser: Gestor de archivos autohospedado (Proyecto archivado)?

File Browser es una aplicación escrita en Go con frontend en Vue que proporciona una interfaz web para gestionar archivos dentro de un directorio determinado. Permite subir, eliminar, previsualizar y editar archivos, funcionando como una solución de nube personal autohospedada. El proyecto fue archivado oficialmente el 1 de septiembre de 2026, lo que significa que no habrá más lanzamientos, correcciones de errores ni parches de seguridad. La documentación oficial recomienda no exponerlo directamente a internet, mantener el ejecutor de comandos deshabilitado (está desactivado por defecto) y ejecutarlo sin privilegios dentro de un contenedor con solo el directorio a servir montado.

⚠ IMPORTANTE: File Browser está archivado y sin mantenimiento. Existen vulnerabilidades conocidas en el ejecutor de comandos y en la gestión de sesiones/JWT que no serán corregidas. Úselo bajo su propia responsabilidad y solo detrás de un proxy inverso con autenticación propia.

Características principales

Gestión completa de archivos

Interfaz web para subir, eliminar, previsualizar y editar archivos directamente desde el navegador.

Autohospedado

Se instala en su propio servidor y apunta a un directorio específico, sin depender de servicios de terceros.

Interfaz Material Design

Interfaz de usuario basada en Material Design, responsive y accesible desde navegadores modernos.

Soporte para múltiples usuarios

Permite crear usuarios con permisos y directorios raíz independientes.

Caché con Redis

Integración opcional con Redis para mejorar el rendimiento mediante caché distribuida.

Ejecución sin privilegios

La imagen Docker se ejecuta como usuario no root (UID 1000, GID 1000) siguiendo buenas prácticas de seguridad.

Requisitos del sistema

  • Docker Engine 20.10 o superior
  • Docker Compose v2 (plugin compose) o docker-compose standalone
  • Red Docker para comunicación entre contenedores (se crea automáticamente)
  • Volumen persistente para datos de File Browser (/flux/vault en el compose)
  • Opcional: Redis 7+ para caché distribuida (incluido en compose.yaml)

Instalación con Docker Compose

Despliegue con Docker Compose (recomendado)

El repositorio oficial proporciona un archivo compose.yaml que levanta File Browser junto a Redis con configuración ACL. El servicio filebrowser expone el puerto 8000 en el host y monta un volumen nombrado 'filebrowser' en /flux/vault. Redis se configura con un usuario 'default' y contraseña 'filebrowser' mediante ACL.

services:
filebrowser:
container_name: filebrowser
image: filebrowser/filebrowser:latest
networks:
– filebrowser
ports:
– 8000:80
volumes:
– filebrowser:/flux/vault
environment:
– FB_REDIS_CACHE_URL=redis://default:filebrowser@redis:6379

redis:
container_name: redis
image: redis:latest
networks:
– filebrowser
command:
– sh
– -c
– |
cat > /tmp/users.acl <<EOF
user default on >filebrowser ~* +@all
EOF
redis-server –aclfile /tmp/users.acl

networks:
filebrowser:

volumes:
filebrowser:

Iniciar la pila

Ejecute docker compose up -d en el directorio donde guardó el archivo compose.yaml. Esto descargará las imágenes, creará la red y el volumen, y levantará ambos contenedores.

docker compose up -d

Verificar estado

Compruebe que ambos contenedores estén en estado 'running' y que el healthcheck de File Browser pase (el Dockerfile define un healthcheck cada 5 segundos).

docker compose ps
docker compose logs filebrowser

Acceder al proyecto

Interfaz web

Acceda a http://<IP_DEL_HOST>:8000 tras iniciar los contenedores. La primera vez se le pedirá configurar un usuario administrador y contraseña mediante la interfaz de inicialización. No existen credenciales por defecto documentadas en el repositorio; la configuración inicial se realiza en el primer acceso.

Directorio servido

El volumen 'filebrowser' se monta en /flux/vault dentro del contenedor. Coloque allí los archivos que desee gestionar o monte un directorio del host en su lugar modificando la sección volumes del compose.

Casos de uso

  • Gestión personal de archivos en servidor propio (nube privada).
  • Compartir archivos entre usuarios de una red local o VPN sin servicios externos.
  • Interfaz web para editar archivos de configuración, scripts o documentos en remoto.
  • Sustitución ligera de servicios como Nextcloud cuando solo se necesita gestión de archivos básica.

Configuración avanzada

Endurecimiento de seguridad

Mantenga el ejecutor de comandos deshabilitado (opción –disable-exec=true por defecto). No exponga el puerto 8000 directamente a internet; use un proxy inverso (Nginx, Traefik, Caddy) que termine TLS y añada autenticación adicional (Basic Auth, OAuth, Authelia). Ejecute el contenedor con capacidades mínimas y sin privilegio (la imagen ya usa USER user). Monte solo el directorio estrictamente necesario en /flux/vault.

# Ejemplo de montaje de directorio específico del host
volumes:
– /ruta/en/host:/flux/vault

Configuración de Redis con TLS

Para usar Redis sobre TLS (rediss://), cambie la variable FB_REDIS_CACHE_URL a rediss://default:filebrowser@redis:6379 y configure Redis con certificados válidos. El compose.yaml incluye un comentario al respecto.

environment:
– FB_REDIS_CACHE_URL=rediss://default:filebrowser@redis:6379

Variables de entorno adicionales

File Browser acepta numerosas variables de entorno (prefijo FB_) para configurar puerto, base de datos, autenticación, logging, etc. Consulte la documentación oficial en el directorio docs/ del repositorio para la lista completa. No se documentan aquí por no estar en la investigación proporcionada.

# Ejemplos genéricos (ver docs oficial)
# FB_ADDRESS=0.0.0.0
# FB_PORT=80
# FB_DATABASE=/database/filebrowser.db
# FB_LOG=stdout

Gestión y mantenimiento

Actualizaciones (no aplicables)

Al estar el proyecto archivado, no habrá nuevas imágenes ni etiquetas. La etiqueta :latest apunta a la última versión publicada antes del archivo. No ejecute docker compose pull esperando mejoras de seguridad.

# No se recomienda actualizar
# docker compose pull # No traerá cambios

Copias de seguridad

Realice copias de seguridad del volumen 'filebrowser' (contiene la base de datos SQLite y los archivos servidos) y de la configuración de Redis si persiste datos. Use docker run –rm -v filebrowser:/data -v $(pwd):/backup alpine tar czf /backup/filebrowser-backup.tar.gz -C /data .

docker run –rm \
-v filebrowser:/data \
-v $(pwd):/backup \
alpine tar czf /backup/filebrowser-backup.tar.gz -C /data .

Limpieza de contenedores

Para detener y eliminar contenedores, red y volumen (pierde datos):

docker compose down -v

Migración a alternativa mantenida

Dado el estado archivado, evalúe migrar a alternativas activas como Nextcloud, Seafile, Alist o Cloudreve. Exporte sus archivos del volumen y recreéelos en la nueva plataforma.

Stack técnico

  • Go (backend)
  • Vue.js (frontend)
  • Docker / Docker Compose
  • Redis (caché opcional)
  • Alpine Linux (build stage)
  • BusyBox musl (runtime)
  • tini (init system)
  • SQLite (base de datos embebida por defecto)

Referencias oficiales

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 *