Files
2026-06-09 18:40:21 +02:00

5.6 KiB


title: File Browser created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-management, go, web-ui, self-hosted, single-binary] confidence: high contested: false sources: [https://selfh.st/apps/?tag=File+Management, https://github.com/filebrowser/filebrowser]

File Browser 📂

Gestionnaire de fichiers web écrit en Go, léger et autonome : il transforme n'importe quel répertoire du serveur en explorateur web manipulable (upload, download, édition, partage, gestion d'utilisateurs). Le classique de la catégorie.

Métadonnée Valeur
Site web https://filebrowser.org
GitHub https://github.com/filebrowser/filebrowser
License Apache-2.0
Langage Go
Étoiles 3 868
Dernière MAJ 2026-05
Catégorie cat-file-management

Description

File Browser est né en 2018 comme un projet personnel de Filipe Freire avant de devenir la référence absolue des file managers self-hostés. L'idée est simple : un binaire Go unique (~15 Mo) qui se lance, scanne un répertoire local, et expose une interface web moderne (Vue.js) avec gestion des utilisateurs, partage de fichiers, et même un mini-éditeur de texte. Pas de base de données externe : tout est stocké dans une SQLite embarquée (filebrowser.db).

L'interface propose un treeview à gauche, un listing à droite, des opérations classiques (copier, déplacer, renommer, zipper, supprimer), un viewer intégré pour images/texte, un lecteur audio/vidéo HTML5, et un terminal web optionnel par utilisateur. L'authentification est basique (utilisateur + mot de passe hashé) mais extensible via OAuth2 (Google, GitHub) et on peut brancher en amont un SSO comme app-authelia ou app-authentik.

C'est l'outil idéal pour qui veut partager des fichiers ponctuellement avec des proches, donner accès à un disque de sauvegarde, ou remplacer un python -m http.server par quelque chose de propre. Le projet est mature, le rythme de publication est régulier (release tous les 1-3 mois), et la communauté est large. Il existe plusieurs forks améliorés, dont app-filebrowser-quantum qui apporte un éditeur Monaco.

Installation

Option 1 : Docker Compose (recommandé)

services:
  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - /srv/data:/srv      # répertoire à exposer (adapter le chemin)
      - ./config:/config    # configuration + base SQLite
      - ./database:/database
    environment:
      - PUID=1000
      - PGID=1000
      - FB_AUTH_ADMIN=admin
      - FB_AUTH_PASSWORD=***REMPLACER***

UI sur http://localhost:8080. Identifiants par défaut : admin / admin (à changer immédiatement).

Option 2 : Binaire unique

# Téléchargement direct
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/install.sh | bash
# ou via Go
go install github.com/filebrowser/filebrowser/v2@latest

# Initialisation
filebrowser config init
filebrowser config set --address 0.0.0.0 --port 8080 --root /srv/data

# Lancement
filebrowser

Configuration

  • Premier accès : se connecter en admin/admin puis changer le mot de passe (⚠️ critique).
  • Scopes utilisateur : chaque utilisateur peut avoir un sous-répertoire racine différent (scope).
  • Partage de fichiers : générer des liens avec expiration (share subcommand).
  • Commandes personnalisées : ajouter des actions contextuelles (ex. git pull, conversion d'images).
  • ACL granulaires : lecture seule, écriture, admin par utilisateur.
  • Reverse proxy : derrière app-caddy ou app-traefik avec HTTPS, ajouter X-Forwarded-* headers.

Alternatives

Open Source

Propriétaires

  • Google Drive
  • Dropbox
  • OneDrive
  • Box

Sécurité

  • Changer le mot de passe admin/admin immédiatement après installation.
  • Ne JAMAIS exposer File Browser directement sur Internet sans reverse proxy + authentification forte (SSO recommandé).
  • HTTPS obligatoire (app-caddy génère les certifs Let's Encrypt automatiquement).
  • Restreindre le scope par utilisateur : ne pas donner accès à / ou /etc.
  • Activer la journalisation d'accès (logs) et superviser via app-dozzle ou app-loki.
  • Mettre à jour régulièrement : les CVEs sur les file managers sont critiques.
  • Sauvegarder ./config et ./database (la base SQLite contient tous les utilisateurs et partages).

Ressources

Pages Liées