Cómo instalar Dufs - Servidor de archivos ligero y rápido en Docker

Dufs | File Server | Docker

Dufs: Servidor de archivos ultraligero, rápido y seguro en Docker

Servidor HTTP minimalista. Subida/descarga de archivos, búsqueda, WebDAV, autenticación. 2.5MB RAM. Rust puro. Interfaz web moderna. Control de acceso granular.

¿Qué es Dufs?


Dufs es un servidor de archivos ultraligero escrito en Rust que proporciona acceso rápido a tus datos sin toda la complejidad de aplicaciones como Nextcloud o Seafile. Es perfecto si solo necesitas compartir archivos de forma segura sin instalar una suite completa de colaboración.

Filosofía: Minimalismo extremo. Solo 2.5MB de RAM. Sin bases de datos complejas, sin dependencias pesadas. Sirve archivos rápidamente, soporta subida/descarga, búsqueda, WebDAV (para montar como disco), autenticación granular por usuario y carpeta, descarga de carpetas como ZIP, y mucho más. Perfecto para homelabs, transferencia rápida de archivos, o compartir carpetas internamente.

Alternativa ligera: Si Nextcloud es un camión, Dufs es una bicicleta. Rápido, eficiente, y hace exactamente lo que necesitas sin overhead innecesario.

Características principales

Ultraligero

2.5MB RAM. Rust compilado. Sin dependencies pesadas.

Subida de archivos

Drag-and-drop web. Upload y delete con permisos.

Descarga de carpetas

Descarga directorios completos como ZIP automáticamente.

Búsqueda integrada

Busca archivos rápidamente en la estructura.

WebDAV

Monta carpetas como disco en Windows/Mac/Linux.

Autenticación granular

Usuario y contraseña por ruta. Control acceso total.

Serving estático

Sirve sitios web estáticos, SPAs, documentación.

HTTPS/TLS

Soporte nativo para certificados SSL/TLS.

CORS habilitado

Para acceso desde navegadores cross-origin.

Compresión

Comprime respuestas automáticamente.

Renderizado de índices

Auto-serve index.html en carpetas.

UI personalizable

Plain HTML/JS/CSS. Fácil de customizar.

Requisitos del sistema

  • Docker instalado
  • 64 MB - 512 MB de RAM (es así de ligero)
  • Espacio disco según archivos que quieras servir
  • Puerto 5000 por defecto (configurable)
  • CPU mínimo (cualquiera funciona)
Perfecto para: Raspberry Pi, VPS $5, contenedores limitados, clusters Kubernetes.

Instalación con Docker

Opción 1: Docker Run (30 segundos)

docker run -d \ --name dufs \ -p 5000:5000 \ -v /mnt/data:/data \ --restart unless-stopped \ sigoden/dufs:latest /data -A

Opción 2: Docker Compose

version: '3.8' services: dufs: image: sigoden/dufs:latest container_name: dufs restart: unless-stopped ports: - "5000:5000" volumes: - /mnt/data:/data command: /data -A # -A = allow all (permisos completos)

Iniciar

docker compose up -d

Acceder

Abre http://localhost:5000

Configuración con autenticación

Básico: Usuario simple

command: /data -A -a admin:admin # Usuario: admin, Contraseña: admin, Acceso: lectura/escritura

Múltiples usuarios con permisos diferentes

command: | /data -a admin:admin@/:rw -a user:pass@/:r -a viewer:view123@/public:r

Desglose:

  • admin:admin@/:rw - Usuario admin, contraseña admin, acceso /data (rw = lectura+escritura)
  • user:pass@/:r - Usuario user, contraseña pass, acceso solo lectura (/data)
  • viewer:view123@/public:r - Usuario viewer, solo acceso a carpeta /public en lectura

Ocultar archivos/carpetas

command: | /data -A --hidden tmp --hidden '*.log' --hidden '*.lock'

Con archivo de configuración

volumes: - /mnt/data:/data - ./dufs.yaml:/etc/dufs.yaml command: -C /etc/dufs.yaml

Archivo dufs.yaml:

serve-path: /data bind: 0.0.0.0 port: 5000 allow-upload: true allow-delete: true allow-search: true allow-archive: true render-index: true auth: - admin:admin@/:rw - user:pass@/:r

Primeros pasos

1. Acceder a la interfaz web

  1. Abre http://localhost:5000
  2. Verás lista de archivos en la carpeta /data
  3. Sin autenticación, acceso completo (porque usamos -A)

2. Subir archivos

  1. Click en botón "Upload" o arrastra archivos
  2. Selecciona uno o múltiples archivos
  3. Se suben automáticamente

3. Descargar carpetas como ZIP

  1. Click en una carpeta
  2. Botón "Download" descarga como ZIP

4. Buscar archivos

  1. Usa barra de búsqueda arriba
  2. Busca por nombre de archivo

5. Usar WebDAV (montar como disco)

Windows:

net use Z: http://localhost:5000/data /persistent:yes

Mac/Linux:

sudo mount -t davfs http://localhost:5000/data /mnt/dufs

Casos de uso

  • Compartir archivos internos: Equipo accede a carpeta compartida sin Nextcloud overhead
  • Respaldos ligeros: Servidor backup ultraligero en Raspberry Pi
  • Servidor estático: Sirve sitios web HTML estáticos rápidamente
  • Transferencia rápida: Upload/download sin UI compleja
  • WebDAV remoto: Monta carpetas como disco en tu PC
  • Servidor multimedia: Sirve música/videos desde home server
  • Documentación: Hosting de wikis/docs estáticos

HTTPS con Caddy

Caddyfile

files.tudominio.com { reverse_proxy localhost:5000 }

Acceso remoto seguro

Ahora accesible en https://files.tudominio.com con HTTPS automático.

Gestión y mantenimiento

Ver logs

docker logs -f dufs

Reiniciar

docker restart dufs

Ver espacio usado

du -sh /mnt/data/

Cambiar permisos sin reiniciar

Edita docker-compose.yml y reinicia:

docker compose up -d --force-recreate

Backup de archivos

tar czf backup-$(date +%Y%m%d).tar.gz /mnt/data/

Actualizar a la última versión

docker pull sigoden/dufs:latest docker compose up -d

Guía rápida de permisos

Abreviaciones

  • r = Read (lectura)
  • w = Write (escritura/upload)
  • d = Delete (eliminación)
  • rw = Lectura + Escritura
  • rwd = Lectura + Escritura + Eliminación
  • @/ruta = Aplicado solo a esa ruta

Ejemplos prácticos

# Admin total en raíz -a admin:admin@/:rwd # Usuario solo lectura -a viewer:pass@/:r # Usuario upload en carpeta específica -a uploads:pass@/incoming:rw # Usuario sin permisos (lectura solo) -a guest:pass@/:r

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.