Pourquoi auto-héberger FileBrowser sur un VPS
FileBrowser est un gestionnaire de fichiers web écrit en Go, distribué sous forme d'un seul binaire. Il expose un dossier de votre serveur dans une interface moderne : upload, téléchargement, prévisualisation, édition de texte, gestion d'utilisateurs et liens de partage. C'est l'outil idéal quand un Nextcloud serait surdimensionné : pas de base de données externe, pas de PHP, une empreinte de quelques dizaines de mégaoctets. Sur un VPS, il devient le point d'accès web à vos données serveur — livrer des fichiers à un client, donner un accès cadré à un dossier, ou simplement gérer les fichiers d'une application sans passer par SFTP. Un VPS est nécessaire car FileBrowser doit lire/écrire dans le système de fichiers et tourner en démon, ce qu'un hébergement mutualisé ne permet pas.
Bénéfices concrets de FileBrowser auto-hébergé
- Ultra-léger : un binaire Go, base SQLite intégrée, démarre en quelques millisecondes.
- Gestion fine des permissions : chaque utilisateur est cantonné à un sous-dossier (scope) avec droits précis.
- Liens de partage avec mot de passe et expiration : transmettez un fichier sans créer de compte au destinataire.
- Édition et prévisualisation dans le navigateur (texte, images, vidéos) sans télécharger.
- Commandes personnalisées et hooks : déclenchez un script à l'upload (conversion, scan antivirus).
- Interface web propre en remplacement du SFTP pour les utilisateurs non techniques.
Prérequis techniques
FileBrowser est l'un des outils les plus économes en ressources : 1 vCPU et 512 Mo de RAM suffisent amplement, l'espace disque dépendant uniquement du volume de fichiers à servir. Aucune base de données externe n'est requise — la configuration et les comptes sont stockés dans un fichier SQLite local. Il faut Docker et Docker Compose, un sous-domaine fichiers.votredomaine.ma pointé vers le VPS, et un reverse proxy pour le HTTPS. Important : prévoyez quel dossier de l'hôte vous voulez exposer (un dossier dédié /srv/partage, jamais la racine du système) et montez-le en volume dans le conteneur.
Déployer FileBrowser pas à pas
Préparer les dossiers et la config
Sur le VPS : mkdir -p /opt/filebrowser /srv/partage. Créez un fichier vide pour la base : touch /opt/filebrowser/filebrowser.db. Le dossier /srv/partage est celui que FileBrowser exposera.
Écrire le docker-compose.yml
Basez-vous sur l'image filebrowser/filebrowser:latest. Montez /srv/partage:/srv (les données), /opt/filebrowser/filebrowser.db:/database/filebrowser.db (la base) et fixez PUID/PGID. Exposez le port interne 80 vers le reverse proxy uniquement.
Lancer et récupérer les identifiants
Démarrez avec docker compose up -d. Au premier lancement, FileBrowser crée un compte admin avec un mot de passe affiché dans les logs : docker compose logs filebrowser. Notez-le pour la première connexion.
Mettre en place le reverse proxy et le SSL
Placez FileBrowser derrière un reverse proxy HTTPS. Avec Caddy : fichiers.votredomaine.ma { reverse_proxy filebrowser:80 }. Le certificat Let's Encrypt est généré et renouvelé automatiquement.
Sécuriser et créer les comptes
Connectez-vous, changez immédiatement le mot de passe admin, puis créez des utilisateurs en limitant chacun à son scope (sous-dossier) avec les droits adaptés. Activez la double authentification du reverse proxy si l'accès est sensible.
Exploitez les « commandes personnalisées » de FileBrowser pour automatiser le post-traitement : associez par exemple un script déclenché à chaque upload (after_upload) qui génère une vignette ou lance un scan ClamAV. Pour les partages clients, créez systématiquement un utilisateur dédié au scope réduit plutôt que de partager le compte admin, et activez l'expiration automatique sur les liens publics afin qu'aucun fichier ne reste accessible indéfiniment.