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

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_URL et X-Forwarded-*.
  • HTTPS : en mode natif, Filestash peut gérer les certificats ACME automatiquement.

Alternatives

Open Source

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