SFTPGo
SFTPGo is an open source file transfer server you can self-host — a managed file transfer alternative to AWS Transfer Family and Files.com that serves SFTP, FTPS, and WebDAV from local or cloud storage, with per-user accounts, quotas, and event-driven automation.
What is SFTPGo?
SFTPGo is an open source, self-hostable file transfer server written in Go. It serves the same files over SFTP, FTP/S, WebDAV, and an HTTP web client, backed by local disk or cloud object storage, all managed from a single web admin panel and REST API. It ships as one static binary with no runtime dependencies.
What is SFTPGo best for?
Teams and operators who need to run their own secure file transfer server — accepting SFTP or FTPS uploads from partners, exposing S3 buckets over SFTP, or replacing a paid managed file transfer service. It suits anyone who wants per-user accounts, quotas, and automation without sending files through a vendor’s cloud.
What can SFTPGo do?
- Serve files over SFTP, FTP/S, WebDAV, and a browser-based HTTPS web client from one server
- Store data on local disk, encrypted local disk, S3-compatible storage, Google Cloud Storage, Azure Blob, or a remote SFTP server
- Manage users, virtual folders, per-user and per-folder quotas, and granular permissions from a WebAdmin UI and REST API
- Protect access with multi-factor authentication, OpenID Connect single sign-on, brute-force defense, and rate limiting
- Trigger event-driven automation (run commands, HTTP calls, and more) on uploads, downloads, and other actions
- Expose Prometheus metrics and run anywhere via Docker, Kubernetes (with official Helm charts), Linux, or Windows
Is SFTPGo free?
Yes — the SFTPGo Community edition is free and open source under the AGPL-3.0 license, and it is fully production-ready. A separate commercial SFTPGo Enterprise edition (and a managed SaaS) adds paid features and vendor support on top of the same foundation, but you never have to buy them to run a complete server.
Where does SFTPGo fall short?
- Some governance and integration features are Enterprise-only, not in the free edition — LDAP/Active Directory authentication, Geo-IP filtering, searchable audit-log export, IMAP ingestion, antivirus/DLP scanning, and publishing events to Kafka, NATS, or RabbitMQ.
- The AGPL-3.0 license is strong copyleft: if you modify SFTPGo and offer it to others over a network, you must release your changes, which some companies’ policies disallow.
- It is a transfer server, not a sync-and-share app — there are no desktop sync clients or team collaboration features like you would get from a tool such as Seafile.
What does SFTPGo replace?
SFTPGo is a self-hosted alternative to managed file transfer products like AWS Transfer Family, Files.com, and GoAnywhere MFT. It does the same secure SFTP/FTPS/WebDAV transfer job — including fronting cloud storage like S3 — but you run it on your own infrastructure without per-endpoint-hour or per-user fees.
FAQ
Is SFTPGo open source? Yes. The Community edition is licensed under AGPL-3.0-only, and its source is on GitHub. There is also a commercial Enterprise edition with extra features, but the open source version is complete and production-ready.
Can I self-host SFTPGo for free? Yes. Self-hosting the Community edition is free — you only pay for the server it runs on. It ships as a single Go binary, so there is no license to buy for the open source version.
Is SFTPGo a good AWS Transfer Family alternative? For teams that want control and predictable cost, yes — it serves SFTP/FTPS in front of S3 and other storage without AWS’s per-hour endpoint and per-gigabyte pricing. The tradeoff is that you operate the server yourself instead of AWS managing it.
What do I need to run SFTPGo? A Linux, Windows, or macOS host (or Docker/Kubernetes). It uses an embedded SQLite database by default and can use PostgreSQL, MySQL/MariaDB, or CockroachDB for larger deployments. For cloud storage backends you supply S3, GCS, or Azure Blob credentials.