Guía de despliegue

Alojar FileBrowser en su propio VPS

Desplegar en un VPS Cloud →

Tutorial

Alojar FileBrowser en su propio VPS

Autoalojamiento7 min de lectura6 pasos

A veces no necesita un Nextcloud completo, sino solo una interfaz web limpia para gestionar y compartir los archivos de un VPS. FileBrowser hace exactamente eso: un único binario, sin base de datos que instalar, que convierte cualquier carpeta del servidor en un explorador web con cuentas, permisos y enlaces para compartir.

Contenido· Por qué autoalojar FileBrowser en un VPS1/9
  1. 01Por qué autoalojar FileBrowser en un VPS
  2. 02FileBrowser frente a alternativas autoalojadas
  3. 03Beneficios concretos de FileBrowser autoalojado
  4. 04Requisitos técnicos
  5. 05Desplegar FileBrowser paso a paso
  6. 06Proteger FileBrowser en producción
  7. 07Lista de verificación de seguridad antes de salir a producción
  8. 08Personalizar FileBrowser: marca, comandos y hooks
  9. 09Hacer copias de seguridad y actualizar FileBrowser

Por qué autoalojar FileBrowser en un VPS

FileBrowser es un gestor de archivos web escrito en Go y distribuido como un solo binario. Expone una carpeta de su servidor en una interfaz moderna: subida, descarga, previsualización, edición de texto, gestión de usuarios y enlaces para compartir. Es la herramienta ideal cuando un Nextcloud resulta sobredimensionado: sin base de datos externa, sin PHP y con una huella de unas pocas decenas de megabytes. En un VPS se convierte en el punto de acceso web a los datos del servidor: entregar archivos a un cliente, dar un acceso acotado a una carpeta o gestionar los archivos de una aplicación sin pasar por SFTP. Hace falta un VPS porque FileBrowser debe leer y escribir en el sistema de archivos y ejecutarse como demonio, algo que un alojamiento compartido no permite.

FileBrowser frente a alternativas autoalojadas

Desplace la tabla

CriterioFileBrowserNextcloudSeafile
Base de datosSQLite integradoMySQL/PostgreSQL requeridoMySQL/PostgreSQL requerido
RAM mínima~30 MB~500 MB~200 MB
InstalaciónUn binario o imagen DockerDocker Compose multiserviciosDocker Compose multiservicios
Gestión de usuariosSí, con scopesSí, completaSí, completa
Cliente de sincronización de escritorioNoSíSí
Enlaces con caducidadSí, nativoSíSí
Edición en líneaSolo textoTexto, Office (OnlyOffice)No
Caso de uso principalAcceso y compartición ligeraSuite ofimática completaSincronización de datos masivos

Beneficios concretos de FileBrowser autoalojado

  • Ultraligero: un binario Go con base SQLite integrada, que arranca en unos milisegundos.
  • Gestión fina de los permisos: cada usuario queda confinado a una subcarpeta (scope) con derechos precisos.
  • Enlaces para compartir con contraseña y caducidad: envíe un archivo sin crear una cuenta al destinatario.
  • Edición y previsualización en el navegador (texto, imágenes, vídeos) sin descargar nada.
  • Comandos personalizados y hooks: lance un script al subir un archivo (conversión, análisis antivirus).
  • Interfaz web limpia en sustitución del SFTP para los usuarios no técnicos.
  • Tema oscuro nativo, interfaz adaptable en móvil.
  • Búsqueda en tiempo real por nombre de archivo en el árbol expuesto.

Requisitos técnicos

FileBrowser es una de las herramientas más económicas en recursos: 1 vCPU y 512 MB de RAM bastan de sobra, y el espacio en disco depende únicamente del volumen de archivos que vaya a servir. No requiere ninguna base de datos externa: la configuración y las cuentas se guardan en un archivo SQLite local. Necesita Docker y Docker Compose, un subdominio files.yourdomain.com apuntando al VPS y un reverse proxy para el HTTPS. Importante: decida qué carpeta del host quiere exponer (una carpeta dedicada /srv/share, nunca la raíz del sistema) y móntela como volumen en el contenedor. Verifique que los puertos 80 y 443 estén abiertos en el cortafuegos, y que su VPS tenga un registro DNS A (o AAAA para IPv6) apuntando a su IP pública.

Desplegar FileBrowser paso a paso

  1. Preparar las carpetas y la configuración

    En el VPS: mkdir -p /opt/filebrowser /srv/share. Cree un archivo vacío para la base de datos: touch /opt/gtsteffaniak/filebrowser.db. La carpeta /srv/share es la que expondrá FileBrowser. Ajuste los permisos para que el UID del contenedor pueda escribir en ella: chown -R 1000:1000 /srv/share /opt/filebrowser.

  2. Escribir el docker-compose.yml

    Báse en la imagen gtsteffaniak/filebrowser:latest. Monte /srv/share:/srv (los datos) y /opt/gtsteffaniak/filebrowser.db:/database/filebrowser.db (la base de datos), y fije PUID/PGID a 1000 (o el UID real de la carpeta compartida). Exponga el puerto interno 80 únicamente hacia el reverse proxy. Añada restart: unless-stopped para que FileBrowser se reinicie automáticamente tras un reinicio del servidor.

  3. Arrancar y recuperar las credenciales

    Arranque con docker compose up -d. En el primer arranque, FileBrowser crea una cuenta admin con una contraseña que muestra en los logs: docker compose logs filebrowser. Anótela para la primera conexión. Si los logs no muestran la contraseña, conéctese con admin/admin (los valores por defecto de la imagen oficial) y cámbiela de inmediato.

  4. Poner en marcha el reverse proxy y el SSL

    Coloque FileBrowser detrás de un reverse proxy HTTPS. Con Caddy: files.yourdomain.com { reverse_proxy filebrowser:80 }. El certificado Let's Encrypt se genera y se renueva automáticamente. Con nginx, cree un vhost dedicado con proxy_pass http://127.0.0.1:<puerto_contenedor>; y un bloque ssl_certificate apuntando a los archivos de certbot. Asegúrese de que la cabecera X-Forwarded-For se transmite para que FileBrowser registre las IP reales de los clientes.

  5. Proteger y crear las cuentas

    Conéctese, cambie de inmediato la contraseña de admin y cree después usuarios limitando cada uno a su scope (subcarpeta) con los derechos adecuados. Active la doble autenticación del reverse proxy si el acceso es sensible. En los ajustes de FileBrowser, desactive el registro público (allow registration: false) y restrinja los métodos de autenticación.

  6. Probar el uso compartido y los enlaces públicos

    Suba un archivo de prueba, genere un enlace para compartir con caducidad (por ejemplo 7 días) y contraseña opcional. Copie el enlace y ábralo en una ventana de navegación privada para verificar que funciona sin sesión activa. Compruebe que el límite de caducidad se respeta correctamente consultando la hora de expiración en la interfaz de administración.

Proteger FileBrowser en producción

Exponer un gestor de archivos en Internet sin capas de seguridad adicionales es arriesgado. Varias medidas complementarias aplican según su contexto: restringir el acceso por IP en el reverse proxy si la herramienta está destinada solo a un equipo en una red fija; forzar la autenticación HTTP básica delante de FileBrowser para añadir una barrera incluso antes de la pantalla de inicio de sesión de la aplicación; activar los registros de acceso detallados para detectar intentos de fuerza bruta. FileBrowser no ofrece nativamente bloqueo de cuenta tras N intentos fallidos: si su VPS está expuesto públicamente, una regla fail2ban sobre los logs de nginx o Caddy que coincida con las respuestas 401 es un complemento indispensable.

Lista de verificación de seguridad antes de salir a producción

  • Contraseña de admin cambiada en el primer arranque.
  • Registro público desactivado en los ajustes de FileBrowser.
  • Reverse proxy HTTPS activo, redirección HTTP→HTTPS forzada.
  • Cada usuario limitado a su propio scope de carpeta.
  • Fail2ban (o Crowdsec) configurado sobre los logs del reverse proxy.
  • Caducidad activada por defecto globalmente para todos los enlaces de compartición.
  • Copias de seguridad regulares de /opt/gtsteffaniak/filebrowser.db (cuentas, configuración, permisos).
  • Restricción de acceso por IP en el reverse proxy si los usuarios tienen direcciones fijas.

Personalizar FileBrowser: marca, comandos y hooks

FileBrowser ofrece varios niveles de personalización accesibles desde la interfaz de administración. La sección de Branding permite reemplazar el logotipo, el nombre de la aplicación y los colores — útil para entregar acceso con marca blanca a clientes. La sección de Comandos personalizados (Custom Commands) es una de las funcionalidades más potentes: cada scope puede llevar comandos shell disponibles con un solo clic en la interfaz. Los hooks — before_upload, after_upload, before_delete, after_delete y otros — permiten automatizar acciones sin intervención del usuario: generar una miniatura al subir una imagen, lanzar un análisis con ClamAV, sincronizar con almacenamiento de objetos S3.

Hacer copias de seguridad y actualizar FileBrowser

FileBrowser almacena toda su configuración en un único archivo SQLite: /opt/gtsteffaniak/filebrowser.db. Este archivo contiene cuentas, scopes, permisos, tokens de compartición y ajustes de la aplicación. Una copia de seguridad diaria de este archivo es suficiente para garantizar una restauración completa. Actualizar se reduce a descargar la nueva imagen Docker: docker compose pull && docker compose up -d. FileBrowser aplica automáticamente las migraciones de base de datos al iniciar. Antes de cualquier actualización mayor, copie el archivo SQLite fuera de la carpeta Docker para conservar un punto de retorno seguro.

Aproveche los «comandos personalizados» de FileBrowser para automatizar el postprocesado: asocie por ejemplo un script lanzado en cada subida (after_upload) que genere una miniatura o inicie un análisis con ClamAV. Para los envíos a clientes, cree siempre un usuario dedicado con un scope reducido en lugar de compartir la cuenta de admin, y active la caducidad automática en los enlaces públicos para que ningún archivo quede accesible de forma indefinida. Para automatizar las copias de seguridad del SQLite, un cron diario con cp /opt/gtsteffaniak/filebrowser.db /backup/filebrowser-$(date +%F).db es suficiente — recuerde purgar las copias de más de 30 días para no llenar el disco.

Desplegar FileBrowser desde el Marketplace ServOrbit

ServOrbit ofrece FileBrowser preconfigurado en VPS: gestor de archivos web ligero, menos de 50 MB de RAM, volúmenes persistentes montados automáticamente. No requiere dominio — primer acceso en unos segundos, archivos bajo su control.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva