Skip to content

Documentation Map

A task-oriented index: find the page that answers your current question, without scrolling through the full navigation.

If you are looking for the definition of a term, see the Glossary.

Getting started

I want to... Go to
Understand what SFTPGo is and which features it has Features
Install SFTPGo on Linux, Windows, macOS, Docker, or Kubernetes Installation, Docker
Do the first-time setup (admin, first user, test login) Getting Started
Use example configurations for common deployments Configuration Examples

Users, groups, roles

I want to... Go to
Create a user (any backend) Getting Started, REST API
Use groups to centralize settings Groups, Groups tutorial
Understand primary vs secondary vs membership groups Groups
Delegate admin duties to scoped administrators Roles
Let users self-change their password WebClient

Storage backends

I want to... Go to
Use the local filesystem Local filesystem
Use encrypted local storage Data At Rest Encryption
Use Amazon S3 or S3-compatible storage (Wasabi, MinIO, etc.) S3
Use Google Cloud Storage GCS
Use Azure Blob Storage Azure Blob
Chain SFTPGo on top of another SFTP server SFTP backend
Use an FTP server as a backend FTP backend
Use a custom HTTP API as storage HTTPFs
Mount different backends at different paths Virtual Folders

Protocols

I want to... Go to
Configure SFTP/SCP (SSH) SSH
Configure FTP / FTPS FTP
Configure WebDAV WebDAV
Enable TUS resumable uploads Features

Authentication

I want to... Go to
Accept SSH public keys SSH
Integrate an OIDC Identity Provider (Entra ID, Okta, Google, Auth0, Keycloak…) OIDC, Auto-provision users via IdP
Integrate LDAP / Active Directory LDAP plugin
Enable multi-factor authentication Two-factor authentication
Use API keys for automation REST API
Replace the built-in login with a custom service External auth hook, Keyboard-interactive
Modify user records at login time Pre-login hook

Sharing

I want to... Go to
Let users create public / password-protected links Shares tutorial
Require email authentication on shares Shares tutorial

Automation (Event Manager)

I want to... Go to
Understand the Event Manager overview Event Manager, Event Manager tutorial
Write templates with placeholders and helper functions Placeholders & Templates
Send email or webhook notifications on upload Upload notifications & webhooks
Auto-provision users via OIDC Auto-provision via IdP
Schedule retention / cleanup Data retention
Copy or archive files across backends Copy & archive workflows
Scan uploads with antivirus (ICAP) Antivirus (ICAP)
Encrypt/decrypt with PGP PGP encryption & decryption
Build auto folder structures Automatic folder structure
Take daily backups Daily backups
Integrate virtual folders with events Virtual folders integration
Implement a recycle bin Recycle bin
Run actions before a file is published to clients Execute before file publish
See what a rule actually does in production Event report
Execute filesystem actions from rules Filesystem actions
Migrate from older custom action hooks Event Manager migration guide

Security and protection

I want to... Go to
Get TLS certificates automatically Let's Encrypt tutorial
Block brute-force attackers Defender
Rate-limit requests Rate limiting
Preserve client IPs behind a load balancer Configuration file
Store secrets in a cloud KMS KMS, Cloud KMS providers plugin
Restrict shares by IP country GeoIP plugin

Configuration and operation

I want to... Go to
Configure via config file Config file
Configure via environment variables Env vars
Use the CLI for administrative tasks CLI
Customize email templates Email templates
Use the WebAdmin or WebClient Web interfaces
Pick a data provider (SQLite, PostgreSQL, MySQL, CockroachDB) Data provider
Migrate from OSS 2.6.x to Enterprise Migration from OSS

Observability

I want to... Go to
Read server logs Logs
Collect Prometheus metrics Metrics
Store audit logs in a plugin Audit logs plugin
Forward events to Pub/Sub or a message broker Pub/Sub plugin
Profile CPU or memory usage Profiling

Integrations

I want to... Go to
Deploy on AWS SFTPGo on AWS
Deploy on Google Cloud SFTPGo on Google Cloud
Use OAuth2 for SMTP / IMAP OAuth2 for SMTP & IMAP
Extend SFTPGo with a plugin Plugins

Compliance and reference

I want to... Go to
Review SFTPGo's compliance posture Security & Compliance
Consult the REST API contract REST API + openapi/openapi.yaml (or https://sftpgo.com/assets/openapi.yaml)
Look up a specific term Glossary
See the changelog Changelog

AI-assisted workflows

I want to... Go to
Use Claude Code, Cursor, Copilot, ChatGPT, Gemini, or any other AI to write SFTPGo configuration, REST API payloads, WebAdmin form values, Event Action templates, or troubleshoot a deployment AI Assistants