Files
2026-06-09 18:40:21 +02:00

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

  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

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

Pages Liées