5.4 KiB
title: Filestash created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-management, go, react, s3, sftp, modern-ui] confidence: high contested: false sources: [https://selfh.st/apps/?tag=File+Management, https://github.com/mickael-kerjean/filestash]
Filestash 🪣
File manager web moderne écrit en Go avec frontend React/TypeScript : se connecte à S3, SFTP, FTP, WebDAV, S3-compatible, Git, LDAP, Google Drive et expose une UX soignée (drag&drop, preview Office/PDF/images, partage public). L'alternative design aux projets chinois.
| Métadonnée | Valeur |
|---|---|
| Site web | https://www.filestash.app |
| GitHub | https://github.com/mickael-kerjean/filestash |
| License | AGPL-3.0 |
| Langage | Go + React/TypeScript |
| Étoiles | 984 ⭐ |
| Dernière MAJ | 2026-05 |
| Catégorie | cat-file-management |
Description
Filestash est le projet d'un développeur français (Mickael Kerjean) qui a voulu réconcilier design moderne et gestion de fichiers multi-protocoles. L'idée est née d'un constat : les file managers classiques sont soit jolis mais mono-backend (app-file-browser), soit multi-backends mais moches (Alist, OpenList). Filestash vise les deux.
L'UI est clairement la plus aboutie de la catégorie : sidebar avec treeview, listing en grille ou liste, preview intégrée pour PDF, images, vidéos, audio, ePub, Office (via OnlyOffice ou Collabora optionnels), drag&drop natif, partage par lien avec expiration, recherche full-text côté serveur. Le frontend est en React + TypeScript avec un build webpack bien fait, et le backend en Go avec plugins par protocole (S3 via AWS SDK, SFTP via pkg/sftp, etc.).
Les backends supportés sont nombreux : filesystem local, S3, S3-compatible (MinIO, Wasabi, Backblaze B2), FTP, FTPS, SFTP, WebDAV, Git, Google Drive, Dropbox, OneDrive, et via plugins LDAP/AD. L'authentification peut se faire via plusieurs backends simultanément : local, LDAP, OAuth2 (Google/GitHub), OIDC, SAML.
L'architecture est modulaire : chaque "backend" est un plugin Go, et il existe un système d'extensions pour ajouter des viewers (OnlyOffice, Collabora) ou des fonctionnalités. La version gratuite AGPL est complète, une offre Filestash Cloud (SaaS) existe mais le projet reste 100% open source.
Installation
Option 1 : Docker Compose (recommandé)
services:
filestash:
image: machines/filestash:latest
container_name: filestash
restart: unless-stopped
ports:
- "8334:8334"
volumes:
- ./data:/app/data
environment:
- APPLICATION_URL=http://localhost:8334
UI sur http://localhost:8334. Créer un compte admin au premier accès (wizard intégré).
Option 2 : Binaire
wget https://github.com/mickael-kerjean/filestash/releases/latest/download/filestash_linux_amd64.tar.gz
tar xf filestash_linux_amd64.tar.gz
./filestash
Configuration
- Premier accès : wizard web pour créer l'admin, puis ajouter un "connection" (backend de stockage).
- Plugins : aller dans Admin → Plugins pour activer OnlyOffice/Collabora, le chiffrement E2E, le partage, etc.
- Auth : configurer LDAP, OAuth2, ou OIDC dans Admin → Authentication.
- Stockage des sessions : SQLite par défaut, peut basculer sur PostgreSQL/MySQL pour la prod.
- Reverse proxy : subpath supporté, configurer
APPLICATION_URLetX-Forwarded-*. - HTTPS : en mode natif, Filestash peut gérer les certificats ACME automatiquement.
Alternatives
Open Source
- app-file-browser — Plus simple, mono-backend
- app-openlist — Beaucoup plus de backends (chinois)
- app-filebrowser-quantum — File Browser + éditeur de code
- app-filerun — UX riche, PHP commercial
- app-nextcloud — Cloud complet
- app-cloudreve — Cloud self-hosted
- app-filegator — PHP multi-user
Propriétaires
- CloudFuze
- MultCloud
- Cyberduck (client, pas serveur)
- Mountain Duck
Sécurité
- HTTPS obligatoire (app-caddy / app-traefik recommandé).
- Chiffrement E2E optionnel : Filestash supporte un mode "encrypted storage" où les fichiers sont chiffrés côté client (AES-GCM) avant d'être uploadés.
- Auth forte : brancher LDAP/AD ou OIDC pour les entreprises, sinon OAuth2.
- Backends S3 : utiliser des IAM roles ou des clés à scope limité (pas la clé root du compte AWS).
- Rate limiting : activer dans la config (par défaut 100 req/min par IP).
- CSRF : Filestash gère les tokens CSRF par session, ne pas désactiver.
- Logs d'audit : activer dans Admin → Logs pour tracer les accès fichiers.
- Mettre à jour régulièrement, le projet a un rythme soutenu (1 release/mois).
Ressources
Pages Liées
- cat-file-management — Catégorie parente
- app-file-browser — Concurrent plus simple
- app-openlist — Concurrent multi-backends
- app-onlyoffice / app-collabora — Office viewers intégrés
- app-caddy / app-traefik — Reverse proxy HTTPS
- recettes-docker-compose — Templates Docker
- securisation-home-lab — Bonnes pratiques