Guide de déploiement

Héberger FileBrowser sur votre propre VPS

Déployer sur un VPS Cloud →

Tutoriel

Héberger FileBrowser sur votre propre VPS

Self-hosting7 min de lecture6 étapes

Parfois vous n'avez pas besoin d'un Nextcloud complet, juste d'une interface web propre pour gérer et partager les fichiers d'un VPS. FileBrowser fait exactement ça : un binaire unique, sans base de données à installer, qui transforme n'importe quel dossier serveur en explorateur web avec comptes, permissions et liens de partage.

Sommaire· Pourquoi auto-héberger FileBrowser sur un VPS1/9
  1. 01Pourquoi auto-héberger FileBrowser sur un VPS
  2. 02FileBrowser vs alternatives self-hosted
  3. 03Bénéfices concrets de FileBrowser auto-hébergé
  4. 04Prérequis techniques
  5. 05Déployer FileBrowser pas à pas
  6. 06Sécuriser FileBrowser en production
  7. 07Checklist sécurité avant mise en production
  8. 08Personnaliser FileBrowser : branding, commandes et hooks
  9. 09Sauvegarder et mettre à jour FileBrowser

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.

FileBrowser vs alternatives self-hosted

Faites défiler le tableau

CritèreFileBrowserNextcloudSeafile
Base de donnéesSQLite intégréeMySQL/PostgreSQL requisMySQL/PostgreSQL requis
RAM minimum~30 Mo~500 Mo~200 Mo
InstallationUn binaire ou image DockerDocker Compose multi-servicesDocker Compose multi-services
Gestion d'utilisateursOui, avec scopesOui, complèteOui, complète
Synchronisation client bureauNonOuiOui
Partages avec expirationOui, natifOuiOui
Édition en ligneTexte uniquementTexte, Office (OnlyOffice)Non
Cas d'usage principalAccès et partage légerSuite bureautique complèteSync de données volumineuses

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.
  • Thème sombre natif, interface responsive sur mobile.
  • Recherche par nom de fichier en temps réel dans l'arborescence exposée.

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.com 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. Vérifiez que les ports 80 et 443 sont ouverts sur votre pare-feu, et que votre VPS dispose d'une entrée DNS A (ou AAAA pour IPv6) pointant vers son IP publique.

Déployer FileBrowser pas à pas

  1. 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/gtsteffaniak/filebrowser.db. Le dossier /srv/partage est celui que FileBrowser exposera. Ajustez les permissions pour que l'UID du conteneur puisse y écrire : chown -R 1000:1000 /srv/partage /opt/filebrowser.

  2. Écrire le docker-compose.yml

    Basez-vous sur l'image gtsteffaniak/filebrowser:latest. Montez /srv/partage:/srv (les données), /opt/gtsteffaniak/filebrowser.db:/database/filebrowser.db (la base) et fixez PUID/PGID à 1000 (ou l'UID réel du dossier partagé). Exposez le port interne 80 vers le reverse proxy uniquement — ne pas mapper directement sur 80/443 de l'hôte si Caddy ou nginx occupe déjà ces ports. Ajoutez restart: unless-stopped pour que FileBrowser redémarre automatiquement après un reboot du serveur.

  3. 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. Si les logs ne montrent pas de mot de passe, connectez-vous avec admin/admin (identifiants par défaut de l'image officielle) et changez-le immédiatement.

  4. Mettre en place le reverse proxy et le SSL

    Placez FileBrowser derrière un reverse proxy HTTPS. Avec Caddy : fichiers.votredomaine.com { reverse_proxy filebrowser:80 }. Le certificat Let's Encrypt est généré et renouvelé automatiquement. Avec nginx, créez un vhost dédié avec proxy_pass http://127.0.0.1:<port_conteneur>; et un bloc ssl_certificate pointant vers les fichiers certbot. Assurez-vous que l'en-tête X-Forwarded-For est transmis pour que FileBrowser consigne la vraie IP des clients dans ses logs d'accès.

  5. 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. Dans les paramètres de FileBrowser, désactivez les inscriptions publiques (allow registration: false) et limitez les méthodes d'authentification. Pour un accès très restreint, configurez une basic auth au niveau du reverse proxy en couche supplémentaire.

  6. Tester le partage et les liens publics

    Uploadez un fichier de test, générez un lien de partage avec expiration (par exemple 7 jours) et mot de passe optionnel. Copiez le lien et ouvrez-le dans un navigateur en mode privé pour vérifier qu'il fonctionne sans session active. Vérifiez que la limite d'expiration est bien respectée en consultant l'heure d'expiration dans l'interface d'administration.

Sécuriser FileBrowser en production

Exposer un gestionnaire de fichiers sur internet sans couche de sécurité supplémentaire est risqué. Plusieurs mesures complémentaires s'appliquent selon votre contexte : restreindre l'accès par IP côté reverse proxy si l'outil n'est destiné qu'à une équipe sur un réseau fixe ; forcer l'authentification HTTP basique devant FileBrowser pour ajouter une barrière avant même l'écran de login de l'application ; activer les journaux d'accès détaillés pour détecter des tentatives de brute-force. FileBrowser n'offre pas nativement de verrouillage après N tentatives échouées : si votre VPS est exposé publiquement, un fail2ban sur les logs nginx ou Caddy avec un pattern sur les 401 est un complément indispensable. Enfin, le dossier exposé doit impérativement être différent du dossier home ou du dossier système — FileBrowser ne connaît que ce que vous lui montez, pas ce qui reste à côté.

Checklist sécurité avant mise en production

  • Mot de passe admin changé dès le premier lancement.
  • Inscriptions publiques désactivées dans les paramètres FileBrowser.
  • Reverse proxy HTTPS actif, redirection HTTP→HTTPS forcée.
  • Chaque utilisateur limité à son propre scope de dossier.
  • Fail2ban (ou Crowdsec) configuré sur les logs du reverse proxy.
  • Expiration activée par défaut sur les liens de partage (paramètre global).
  • Sauvegardes régulières de /opt/gtsteffaniak/filebrowser.db (comptes, config, permissions).
  • Accès restreint par IP côté reverse proxy si les utilisateurs ont des adresses fixes.

Personnaliser FileBrowser : branding, commandes et hooks

FileBrowser propose plusieurs niveaux de personnalisation accessibles depuis l'interface d'administration. La section Branding permet de remplacer le logo, le nom de l'application et les couleurs — utile pour livrer un accès white-label à des clients. La section Commandes personnalisées (Custom Commands) est l'une des fonctionnalités les plus puissantes : chaque dossier (scope) peut porter des commandes shell disponibles en un clic dans l'interface. Vous pouvez par exemple créer une commande Compresser en ZIP qui appelle un script zip -r /srv/archive.zip /srv/dossier-cible et le rend téléchargeable. Les hooks before_copy, after_copy, before_rename, after_rename, before_upload, after_upload, before_delete, after_delete permettent d'automatiser des actions sans intervention utilisateur : générer une vignette à l'upload d'une image, notifier un webhook Slack, lancer un scan ClamAV, synchroniser vers un stockage objet S3.

Sauvegarder et mettre à jour FileBrowser

FileBrowser stocke toute sa configuration dans un seul fichier SQLite : /opt/gtsteffaniak/filebrowser.db. Ce fichier contient les comptes, les scopes, les permissions, les tokens de partage et les paramètres de l'application. Une sauvegarde quotidienne de ce fichier suffit à garantir une restauration complète. La mise à jour se résume à tirer la nouvelle image Docker : docker compose pull && docker compose up -d. FileBrowser applique automatiquement les migrations de base de données au démarrage — aucune intervention manuelle n'est requise. Avant toute mise à jour majeure, copiez le fichier SQLite en dehors du dossier Docker pour conserver un point de retour sûr. Consultez le changelog GitHub du projet pour identifier les changements cassants entre versions, notamment les éventuelles modifications des URLs d'API internes si vous avez des scripts qui s'y appuient.

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. Pour automatiser les sauvegardes du fichier SQLite, un cron quotidien avec cp /opt/gtsteffaniak/filebrowser.db /backup/filebrowser-$(date +%F).db suffit — pensez à purger les copies de plus de 30 jours pour ne pas saturer le disque.

Déployer FileBrowser depuis le Marketplace ServOrbit

ServOrbit propose FileBrowser pré-configuré sur VPS : gestionnaire de fichiers web léger, moins de 50 Mo de RAM, volumes persistants montés automatiquement. Aucun domaine requis — premier accès en quelques secondes, fichiers sous votre contrôle.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet