Docudjeex
Fichiers & partage

File Browser Quantum

Installer File Browser Quantum, un fork modernisé de File Browser, pour parcourir et gérer les fichiers de votre serveur depuis une interface web rapide.

File Browser Quantum est un fork communautaire de File Browser, réécrit pour de meilleures performances (recherche indexée, moins de mémoire consommée) et configuré via un unique fichier config.yaml plutôt qu'uniquement par une base de données.

Installation

  • /
    • srv
      • docker
        • filebrowser-quantum
          • compose.yaml
          • data
            • config.yaml
            • filebrowser.sqlite

Créer le fichier de configuration

Créez le dossier de données :

Terminal
sudo mkdir -p /srv/docker/filebrowser-quantum/data

Créez le fichier config.yaml :

Terminal
sudo nano /srv/docker/filebrowser-quantum/data/config.yaml

Collez ce qui suit, en ajoutant une entrée sources par dossier que vous voulez parcourir :

config.yaml
server:
  cacheDir: /home/filebrowser/data/tmp
  sources:
    - path: /srv/docker
      config:
        defaultEnabled: true
    - path: /media
      config:
        defaultEnabled: true

Appuyez sur Ctrl+O, puis Enter pour enregistrer, et Ctrl+X pour quitter.

Déployer la stack

Ouvrez Dockge, cliquez sur compose, nommez la stack filebrowser-quantum, puis copiez-collez ce qui suit :

compose.yaml
---
services:
  filebrowser-quantum:
    container_name: filebrowser-quantum
    image: gtstef/filebrowser:beta
    restart: unless-stopped
    volumes:
      - /srv/docker:/srv/docker
      - /media:/media
      - /srv/docker/filebrowser-quantum/data:/home/filebrowser/data
    ports:
      - 8020:80
Montez chaque dossier listé sous sources dans config.yaml au même chemin à l'intérieur du conteneur (ici /srv/docker et /media), sans quoi File Browser Quantum ne les trouvera pas.
Astuce : ajoutez le label watchtower pour automatiser les mises à jour.
compose.yaml
services:
  filebrowser-quantum:
    #...
    labels:

      - com.centurylinklabs.watchtower.enable=true
```

Déployez le conteneur et allez sur http://ipdevotreserveur:8020. Connectez-vous avec les identifiants par défaut admin / admin, puis changez immédiatement le mot de passe dans les réglages de votre profil.

Terminé !

Si ça ne marche pas : vérifiez les règles de votre pare-feu.

Exposer File Browser Quantum avec Swag

File Browser Quantum ne gère pas l'authentification multifacteur. L'exposer publiquement pourrait mettre vos systèmes en danger. Ne le faites que si vous utilisez une solution d'authentification robuste comme TinyAuth ou Authentik. Sinon, ne l'exposez pas avec SWAG. Utilisez plutôt un VPN comme Wireguard.

Vous voudrez peut-être accéder à File Browser Quantum à distance depuis tous vos appareils. Pour cela, nous allons l'exposer à travers Swag.

📋 Au préalable : nous partons du principe que vous avez déjà créé un sous-domaine du type fbq.mondomaine.fr dans votre zone DNS, pointant vers mondomaine.fr avec un CNAME. À moins d'utiliser Cloudflare Zero Trust, nous partons aussi du principe que vous avez déjà redirigé le port 443 de votre box vers le port 443 de votre serveur avec les règles NAT.

Ajouter le réseau de File Browser Quantum à SWAG

Dans Dockge, allez sur la stack SWAG et modifiez le fichier compose pour y ajouter le réseau de File Browser Quantum :

compose.yaml
---
services:
  swag:
     container_name: # ...
      # ... 
     networks:                          # Rattache le conteneur au réseau personnalisé 
      # ...           
      - filebrowser-quantum             # Nom du réseau déclaré dans la stack

networks:                               # Définit le réseau personnalisé
  # ...
  filebrowser-quantum:                  # Nom du réseau déclaré dans la stack
    name: filebrowser-quantum_default   # Nom réel du réseau externe
    external: true                      # Précise qu'il s'agit d'un réseau externe
Nous partons ici du principe que le nom du réseau de File Browser Quantum est filebrowser-quantum_default. Vous pouvez confirmer que la connexion fonctionne en accédant au tableau de bord de SWAG sur http://ipdevotreserveur:81.

Redémarrez la stack en cliquant sur « deploy » et attendez que SWAG soit complètement initialisé.

Créer le fichier subdomain.conf

Dans les dossiers de Swag, créez le fichier fbq.subdomain.conf.

Terminal
sudo nano /srv/docker/swag/config/nginx/proxy-confs/fbq.subdomain.conf

Et collez la configuration suivante :

fbq.subdomain.conf
## Version 2023/12/19

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name fbq.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth (requires ldap-location.conf in the location block)
    #include /config/nginx/ldap-server.conf;

    # enable for Authelia (requires authelia-location.conf in the location block)
    #include /config/nginx/authelia-server.conf;

    # enable for Authentik (requires authentik-location.conf in the location block)
    #include /config/nginx/authentik-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable for ldap auth (requires ldap-server.conf in the server block)
        #include /config/nginx/ldap-location.conf;

        # enable for Authelia (requires authelia-server.conf in the server block)
        #include /config/nginx/authelia-location.conf;

        # enable for Authentik (requires authentik-server.conf in the server block)
        #include /config/nginx/authentik-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app filebrowser-quantum;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }
}

Appuyez sur Ctrl+O, puis Enter pour enregistrer, et Ctrl+X pour quitter.

Terminé !

Et voilà ! File Browser Quantum est maintenant exposé.

Protéger File Browser Quantum avec TinyAuth

Ajoutez la vérification forward-auth de TinyAuth directement dans fbq.subdomain.conf, de la même façon que dans le tutoriel TinyAuth :

fbq.subdomain.conf
## Version 2023/12/19

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name fbq.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth (requires ldap-location.conf in the location block)
    #include /config/nginx/ldap-server.conf;

    # enable for Authelia (requires authelia-location.conf in the location block)
    #include /config/nginx/authelia-server.conf;

    # enable for Authentik (requires authentik-location.conf in the location block)
    #include /config/nginx/authentik-server.conf;

    location /tinyauth {
        internal;
        proxy_pass http://tinyauth:3000/api/auth/nginx;
        proxy_pass_request_body off;
        proxy_set_header Content-Length "";
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Forwarded-Uri $request_uri;
    }

    location @tinyauth_login {
        return 302 https://tinyauth.mondomaine.fr/login?redirect_uri=$scheme://$http_host$request_uri;
    }

    location / {
        auth_request /tinyauth;
        error_page 401 = @tinyauth_login;

        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable for ldap auth (requires ldap-server.conf in the server block)
        #include /config/nginx/ldap-location.conf;

        # enable for Authelia (requires authelia-server.conf in the server block)
        #include /config/nginx/authelia-location.conf;

        # enable for Authentik (requires authentik-server.conf in the server block)
        #include /config/nginx/authentik-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app filebrowser-quantum;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }
}
Le bloc location /tinyauth s'exécute dans le conteneur de SWAG lui-même, SWAG doit donc être sur le réseau Docker de TinyAuth pour le joindre par son nom (tinyauth ici). Cela devrait déjà être en place depuis l'exposition de TinyAuth. Si vous rencontrez une erreur, revérifiez que le fichier compose de SWAG a toujours ce réseau rattaché.
Astuce : vous pouvez protéger cette application avec Authentik plutôt que TinyAuth, en ouvrant fbq.subdomain.conf et en décommentant include /config/nginx/authentik-server.conf; et include /config/nginx/authentik-location.conf;. N'oubliez pas de créer une application et un provider dans Authentik.
Contributeur:Djeex
Copyright © 2026