Files
wiki/Catalogue-Self-Hosted/apps/app-file-browser.md
T
2026-06-09 18:40:21 +02:00

129 lines
5.6 KiB
Markdown

---
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é)
```yaml
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
```bash
# 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
- [[app-filebrowser-quantum]] — Fork avec éditeur Monaco et thèmes
- [[app-openlist]] — Plus complet, multi-backends (S3, SFTP, etc.)
- [[app-filestash]] — UI plus moderne, multi-protocoles
- [[app-filegator]] — PHP, multi-utilisateurs
- [[app-cloud-commander]] — Node.js, double panneau type midnight-commander
- [[app-chibisafe]] — Spécialisé upload
- [[app-filerun]] — UX plus riche, PHP commercial
- [[app-nextcloud]] — Pour qui veut un cloud complet
### 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
- [Site officiel](https://filebrowser.org)
- [Documentation](https://filebrowser.org/docs/)
- [GitHub](https://github.com/filebrowser/filebrowser)
- [Docker Hub](https://hub.docker.com/r/filebrowser/filebrowser)
- [selfh.st/apps/?tag=File+Management](https://selfh.st/apps/?tag=File+Management)
## Pages Liées
- [[cat-file-management]] — Catégorie parente
- [[app-filebrowser-quantum]] — Fork amélioré
- [[app-openlist]] — Alternative multi-backends
- [[app-caddy]] / [[app-traefik]] — Reverse proxy HTTPS
- [[app-authelia]] — SSO pour protéger l'accès
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — Bonnes pratiques