Initial vault setup
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
---
|
||||
title: SFTPGo
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, file-transfer-and-sync, sftp, ftp, webdav, go]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=file-transfer-and-sync]
|
||||
---
|
||||
|
||||
# SFTPGo 📁
|
||||
> Serveur SFTP/FTP/WebDAV full-featured avec interface web d'administration.
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://sftpgo.com |
|
||||
| **GitHub** | https://github.com/drakkan/sftpgo |
|
||||
| **License** | AGPL-3.0 |
|
||||
| **Langage** | Go |
|
||||
| **Étoiles** | 11000+ |
|
||||
| **Dernière MAJ** | 2025 |
|
||||
| **Catégorie** | [[cat-file-transfer-and-sync]] |
|
||||
|
||||
## Description
|
||||
SFTPGo est un serveur de transfert de fichiers moderne écrit en Go, supportant simultanément les protocoles **SFTP** (SSH File Transfer Protocol), **FTP/FTPS**, **WebDAV**, **HTTP/HTTPS** et l'API native. Il remplace avantageusement OpenSSH-sftpd, vsftpd ou ProFTPD par une stack unifiée, administrable depuis une interface web élégante.
|
||||
|
||||
La gestion des utilisateurs est très flexible : comptes locaux, base **PostgreSQL/MySQL/SQLite**, **LDAP**, authentification via **OIDC** (Keycloak, Authentik) ou via des providers externes (HTTP plugin). Chaque utilisateur peut avoir des **quotas** (taille, fichiers), des **bandwidth limits**, des permissions par répertoire, des virtual folders (montages), et des **expiration dates**.
|
||||
|
||||
Les backends de stockage supportés sont nombreux : filesystem local, S3, GCS, Azure Blob, Backblaze B2, SFTP distant, etc. SFTPGo embarque aussi un **event manager** (webhooks vers des URL) qui notifie en temps réel toute action (upload, download, delete) — idéal pour déclencher des pipelines d'analyse antivirus, de redimensionnement d'images ou de synchronisation.
|
||||
|
||||
## Installation
|
||||
### Docker Compose
|
||||
```yaml
|
||||
services:
|
||||
sftpgo:
|
||||
image: drakkan/sftpgo:latest
|
||||
container_name: sftpgo
|
||||
environment:
|
||||
- SFTPGO_DATA_PROVIDER__DRIVER=sqlite
|
||||
- SFTPGO_DATA_PROVIDER__NAME=/var/lib/sftpgo/sftpgo.db
|
||||
- SFTPGO_HTTPD__BINDINGS__0__PORT=8080
|
||||
- SFTPGO_HTTPD__BINDINGS__0__ADDRESS=0.0.0.0
|
||||
- SFTPGO_WEBDAVD__BINDINGS__0__PORT=8081
|
||||
volumes:
|
||||
- ./data:/var/lib/sftpgo
|
||||
- ./config:/etc/sftpgo
|
||||
- /srv/storage:/srv/storage
|
||||
ports:
|
||||
- "2022:2022" # SFTP
|
||||
- "8080:8080" # Web admin
|
||||
- "8081:8081" # WebDAV
|
||||
- "21:21" # FTP (optionnel)
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
### Manuelle (Linux)
|
||||
```bash
|
||||
curl -sSL https://github.com/drakkan/sftpgo/releases/latest/download/sftpgo_linux_amd64.tar.gz | tar xz
|
||||
sudo install -m 755 sftpgo /usr/local/bin/
|
||||
sftpgo init
|
||||
systemctl enable --now sftpgo
|
||||
```
|
||||
|
||||
## Configuration
|
||||
1. Première connexion : `https://<host>:8080/web/admin` avec admin par défaut (`admin`/`admin`, à changer !).
|
||||
2. Créer un utilisateur, définir home directory, quotas, password.
|
||||
3. Activer les protocoles souhaités dans la config (SFTP par défaut sur 2022).
|
||||
4. Configurer un reverse proxy HTTPS (Traefik, Nginx, Caddy) en frontal.
|
||||
5. Brancher un event handler (webhook) si besoin d'automatisation.
|
||||
|
||||
### Branche LDAP / OIDC
|
||||
```yaml
|
||||
environment:
|
||||
- SFTPGO_DATA_PROVIDER__DRIVER=postgres
|
||||
- SFTPGO_DATABASE__DSN=postgres://user:pass@db:5432/sftpgo
|
||||
- SFTPGO_HTTPD__BINDINGS__0__PORT=8080
|
||||
```
|
||||
|
||||
## Alternatives
|
||||
- **Open source** : OpenSSH-sftp (léger, basique), vsftpd (FTP), ProFTPD, Seafile, Nextcloud (file sharing), [[app-rclone]] (client sync).
|
||||
- **Propriétaire** : CrushFTP, WingFTP, Cerberus FTP, Files.com.
|
||||
|
||||
## Sécurité
|
||||
- Chiffrement TLS natif pour FTP/FTPS et WebDAV, SSH pour SFTP.
|
||||
- Authentification multi-source (LDAP, OIDC, MySQL, fichiers).
|
||||
- 2FA TOTP intégrable par utilisateur.
|
||||
- Chiffrement at-rest des mots de passe (Argon2).
|
||||
- Brute-force protection intégrée (rate limit par IP).
|
||||
- Event manager pour intégration antivirus (ClamAV via plugin).
|
||||
|
||||
## Ressources
|
||||
- Documentation : https://docs.sftpgo.com
|
||||
- Démo admin : https://demo.sftpgo.com (admin/admin)
|
||||
- Code source : https://github.com/drakkan/sftpgo
|
||||
- Releases : https://github.com/drakkan/sftpgo/releases
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-file-transfer-and-sync]] — Catégorie parente
|
||||
- [[app-rclone]] — Sync multi-cloud
|
||||
- [[app-ftpgrab]] — Grabber FTP
|
||||
- [[app-gomft]] — Managed File Transfer
|
||||
- [[recettes-docker-compose]] — Modèles de stacks
|
||||
Reference in New Issue
Block a user