File Browser : un explorateur de fichiers léger en web

Sommaire
Il existe différentes solutions pour accéder à des fichiers sur un système. Nous avons le plus simple, le partage Windows (samba), mais limité au réseau local. Une autre solution efficace, c’est le FTP ou le SFTP, très pratique, mais pas vraiment confortable, et fastidieux pour du partage de fichiers à d’autres utilisateurs. A la place, je vous propose un logiciel qui fait parfaitement le job : File Browser.
Interface
L’interface se veut très légère, afin d’aller à l’essentiel. Vous accédez directement aux dossiers et fichiers présents sur le système (contrairement à Nextcloud par exemple qui possède sa propre arborescence). Beaucoup de fonctionnalités sont présentes :
- Le téléchargement d’un dossier en archive compressée
- Une visualisation des images
- Un éditeur de texte
- Un lanceur de commandes système (peu utile dans le cas d’une installation Docker)
- La possibilité de partager simplement du contenu, avec durée, et protection par mot de passe




Installation
Cela devient redondant, mais encore une fois, c’est via Docker que nous installerons cet outil.
Le fichier docker-compose.yml
:
services:
filebrowser:
image: docker.io/filebrowser/filebrowser
container_name: filebrowser
hostname: filebrowser
user: 1000:1000
networks:
- nginx_proxy
volumes:
- ./files/database.db:/database/filebrowser.db
- ./files/settings.json:/.filebrowser.json
- /home:/srv
restart: always
networks:
nginx_proxy:
external: true
Quelques éléments à préciser :
- La partie
user
dans le fichierdocker-compose.yml
est à adapter selon l’ID de votre utilisateur - Il est nécessaire de créer un dossier
files
là où se trouve votre fichier compose - Dans ce dossier, vous devrez créer un fichier vide nommé
database.db
(qui comme son nom l’indique, servira de base de données) - Optionnel, mais vous pouvez créer également un dossier
img
, avec un fichierlogo.svg
et un sous dossier icons avec vos icônes au format.webp (plus d’explications ici) - Enfin, il vous faut créer dans ce même dossier
files
un fichier nommésettings.json
avec le contenu suivant :
{
"port": 8080,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database/filebrowser.db",
"root": "/srv"
}
Reverse proxy
Afin d’accéder à votre application fraîchement installée, je vous conseille d’utiliser un reverse proxy pour plus de sécurité.
Pour rappel, un article dédié est disponible ici.
L’image Docker de Linuxserver.io propose un fichier sample de configuration. Si votre reverse proxy est en place, utilisez la commande suivante pour activer sa configuration :
sudo cp /opt/nginx/nginx/proxy-confs/filebrowser.subdomain.conf.sample /opt/nginx/nginx/proxy-confs/filebrowser.subdomain.conf
Et enfin, un petit redémarrage pour la prise en compte du nouveau fichier :
sudo docker restart nginx
Configuration
Dans la partie Paramètres, vous avez dans l’onglet Paramètres généraux, des éléments à modifier, notamment le dossier par défaut qui sera utilisé lors de la création d’un nouvel utilisateur, ses droits, mais également la possibilité de créer un sous dossier directement par utilisateur.

Conclusion
Quelques éléments et protocoles peuvent manquer à File Browser comparé à un outil comme Nextcloud (le WebDAV, un client de synchronisation…). Mais ce n’est pas l’objectif de cet outil, qui est de proposer une solution légère d’accès à ses fichiers. Et si c’est seulement ce dont vous avez besoin, File Browser est clairement une solution que je recommande chaudement.