Initial vault setup
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
---
|
||||
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é)
|
||||
|
||||
```yaml
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
- [[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
|
||||
|
||||
- [Site officiel](https://www.filestash.app)
|
||||
- [Documentation](https://www.filestash.app/docs/)
|
||||
- [GitHub](https://github.com/mickael-kerjean/filestash)
|
||||
- [Demo](https://demo.filestash.app)
|
||||
- [selfh.st/apps/?tag=File+Management](https://selfh.st/apps/?tag=File+Management)
|
||||
|
||||
## 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
|
||||
Reference in New Issue
Block a user