4.2 KiB
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
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)
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
- Première connexion :
https://<host>:8080/web/adminavec admin par défaut (admin/admin, à changer !). - Créer un utilisateur, définir home directory, quotas, password.
- Activer les protocoles souhaités dans la config (SFTP par défaut sur 2022).
- Configurer un reverse proxy HTTPS (Traefik, Nginx, Caddy) en frontal.
- Brancher un event handler (webhook) si besoin d'automatisation.
Branche LDAP / OIDC
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