sftpgo
Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob
File Explorer
Download Latest Version (.zip)- bug_report.yml
- config.yml
- feature_request.yml
- .editorconfig
- codeql.yml
- development.yml
- docker.yml
- release.yml
- dependabot.yml
- FUNDING.yml
- PULL_REQUEST_TEMPLATE.md
- download-plugins.sh
- backup
- README.md
- bulkuserupdate
- README.md
- convertusers
- README.md
- go.mod
- go.sum
- main.go
- README.md
- root.go
- serve.go
- config.go
- auth.go
- httpd.go
- ldapauth.go
- models.go
- tlsutils.go
- logger.go
- request_logger.go
- sync_wrapper.go
- utils.go
- version.go
- go.mod
- go.sum
- ldapauth.toml
- main.go
- README.md
- go.mod
- main.go
- README.md
- go.mod
- main.go
- README.md
- go.mod
- main.go
- README.md
- README.md
- README.md
- README.md
- scanuserquota
- Aledade_logo.png
- IDCS.png
- jumptrading.png
- logo.png
- reui.png
- servinga.png
- wpengine.png
- com.github.drakkan.sftpgo.plist
- sftpgo
- sftpgo.service
- account.go
- acme.go
- bundle.go
- acme.go
- gen.go
- gencompletion.go
- genman.go
- initprovider.go
- install_windows.go
- ping.go
- portable.go
- portable_disabled.go
- reload_windows.go
- resetprovider.go
- resetpwd.go
- revertprovider.go
- root.go
- rotatelogs_windows.go
- serve.go
- service_windows.go
- signals_unix.go
- signals_windows.go
- smtptest.go
- start_windows.go
- status_windows.go
- stop_windows.go
- uninstall_windows.go
- command.go
- command_test.go
- actions.go
- actions_test.go
- clientsmap.go
- clientsmap_test.go
- common.go
- common_test.go
- connection.go
- connection_test.go
- dataretention.go
- dataretention_test.go
- defender.go
- defender_test.go
- defenderdb.go
- defenderdb_test.go
- defendermem.go
- eventmanager.go
- eventmanager_test.go
- eventscheduler.go
- httpauth.go
- httpauth_test.go
- protocol_test.go
- ratelimiter.go
- ratelimiter_test.go
- tlsutils.go
- tlsutils_test.go
- transfer.go
- transfer_test.go
- transferschecker.go
- transferschecker_test.go
- config.go
- config_darwin.go
- config_fallback.go
- config_linux.go
- config_test.go
- actions.go
- admin.go
- apikey.go
- bolt.go
- bolt_disabled.go
- cachedpassword.go
- cacheduser.go
- configs.go
- dataprovider.go
- eventrule.go
- group.go
- iplist.go
- memory.go
- mysql.go
- mysql_disabled.go
- node.go
- pgsql.go
- pgsql_disabled.go
- quotaupdater.go
- role.go
- scheduler.go
- session.go
- share.go
- sqlcommon.go
- sqlite.go
- sqlite_disabled.go
- sqlqueries.go
- unixcrypt.go
- unixcrypt_disabled.go
- user.go
- cryptfs_test.go
- ftpd.go
- ftpd_test.go
- handler.go
- internal_test.go
- server.go
- transfer.go
- httpclient.go
- api_admin.go
- api_configs.go
- api_defender.go
- api_eventrule.go
- api_events.go
- api_folder.go
- api_group.go
- api_http_user.go
- api_iplist.go
- api_keys.go
- api_maintenance.go
- api_mfa.go
- api_quota.go
- api_retention.go
- api_role.go
- api_shares.go
- api_user.go
- api_utils.go
- auth_utils.go
- file.go
- flash.go
- flash_test.go
- handler.go
- httpd.go
- httpd_test.go
- internal_test.go
- middleware.go
- oauth2.go
- oauth2_test.go
- oidc.go
- oidc_test.go
- oidcmanager.go
- resetcode.go
- resources.go
- resources_embedded.go
- server.go
- token.go
- web.go
- webadmin.go
- webclient.go
- webtask.go
- webtask_test.go
- httpdtest.go
- httpfsimpl.go
- jwt.go
- jwt_test.go
- basesecret.go
- builtin.go
- kms.go
- local.go
- hclog.go
- lego.go
- logger.go
- mail.go
- request_logger.go
- slog.go
- sync_wrapper.go
- metric.go
- metric_disabled.go
- mfa.go
- mfa_test.go
- totp.go
- auth.go
- ipfilter.go
- kms.go
- notifier.go
- plugin.go
- searcher.go
- util.go
- service.go
- service_portable.go
- service_windows.go
- signals_unix.go
- signals_windows.go
- cryptfs_test.go
- handler.go
- httpfs_test.go
- internal_test.go
- lister.go
- scp.go
- server.go
- sftpd.go
- sftpd_test.go
- ssh_cmd.go
- transfer.go
- oauth2.go
- smtp.go
- router.go
- telemetry.go
- telemetry_test.go
- errors.go
- i18n.go
- resources.go
- resources_embedded.go
- util.go
- util_fallback.go
- util_unix.go
- version.go
- azblobfs.go
- azblobfs_disabled.go
- cryptfs.go
- fileinfo.go
- filesystem.go
- folder.go
- gcsfs.go
- gcsfs_disabled.go
- httpfs.go
- nonblock_other.go
- nonblock_unix.go
- osfs.go
- s3fs.go
- s3fs_disabled.go
- sftpfs.go
- statvfs_fallback.go
- statvfs_linux.go
- statvfs_unix.go
- sys_unix.go
- sys_windows.go
- vfs.go
- file.go
- handler.go
- internal_test.go
- mimecache.go
- server.go
- webdavd.go
- webdavd_test.go
- favicon-16x16.png
- favicon-32x32.png
- index.css
- index.html
- swagger-initializer.js
- swagger-ui-bundle.js
- swagger-ui-standalone-preset.js
- swagger-ui.css
- httpfs.yaml
- openapi.yaml
- ChocolateyInstall.ps1
- sftpgo.nuspec
- config.diff
- series
- format
- changelog
- compat
- control
- copyright
- postinst
- rules
- sftpgo-docs.docs
- sftpgo.dirs
- sftpgo.install
- sftpgo.install.arm64
- sftpgo.install.armhf
- sftpgo.install.ppc64el
- postinstall.sh
- postremove.sh
- preremove.sh
- postinstall
- postremove
- preremove
- build.sh
- style.bundle.css
- scripts.bundle.js
- datatables.bundle.css
- datatables.bundle.js
- de.js
- es.js
- fr.js
- it.js
- zh.js
- formrepeater.bundle.js
- keenicons-duotone.eot
- keenicons-duotone.svg
- keenicons-duotone.ttf
- keenicons-duotone.woff
- keenicons-outline.eot
- keenicons-outline.svg
- keenicons-outline.ttf
- keenicons-outline.woff
- keenicons-solid.eot
- keenicons-solid.svg
- keenicons-solid.ttf
- keenicons-solid.woff
- plugins.bundle.css
- plugins.bundle.js
- login_image.png
- logo.png
- openid-logo.png
- translation.json
- translation.json
- translation.json
- translation.json
- translation.json
- translation.json
- cm6.bundle.min.js
- FileSaver.min.js
- UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2
- UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2
- UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2
- UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2
- UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2
- UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2
- UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2
- humanize-duration.min.js
- i18next.min.js
- i18nextBrowserLanguageDetector.min.js
- i18nextChainedBackend.min.js
- i18nextHttpBackend.min.js
- i18nextLocalStorageBackend.min.js
- jquery-i18next.min.js
- imageviewer.css
- imageviewer.js
- papaparse.min.js
- pdfobject.min.js
- favicon.png
- base.html
- baselogin.html
- changepassword.html
- forgot-password.html
- login.html
- message.html
- reset-password.html
- twofactor-recovery.html
- twofactor.html
- password-expiration.html
- reset-password.html
- admin.html
- admins.html
- adminsetup.html
- base.html
- configs.html
- connections.html
- defender.html
- eventaction.html
- eventactions.html
- eventrule.html
- eventrules.html
- events.html
- folder.html
- folders.html
- fsconfig.html
- group.html
- groups.html
- iplist.html
- iplists.html
- maintenance.html
- mfa.html
- profile.html
- role.html
- roles.html
- status.html
- user.html
- users.html
- base.html
- editfile.html
- files.html
- mfa.html
- profile.html
- share.html
- sharedownload.html
- sharelogin.html
- shares.html
- shareupload.html
- viewpdf.html
- go.mod
- go.sum
- main.go
- go.mod
- go.sum
- main.go
- icon.ico
- LICENSE_with_NOTICE.txt
- README.txt
- sftpgo.iss
- .cirrus.yml
- .gitignore
- .golangci.yml
- CODE_OF_CONDUCT.md
- CODEOWNERS
- crowdin.yml
- Dockerfile
- Dockerfile.alpine
- Dockerfile.distroless
- go.mod
- go.sum
- LICENSE
- main.go
- NOTICE
- README.md
- SECURITY.md
- sftpgo.json
# Installation Guide
1. Get the code
git clone https://github.com/drakkan/sftpgo
Downloads the entire project code from GitHub to your computer.
cd sftpgo
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t sftpgo .
Builds a runnable image based on the Dockerfile.
docker run -p 8080:80 sftpgo
Runs the built image as an actual container.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
3. Go
MediumPrerequisites
go build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
If the build finishes without errors, it worked. If you used go run ., check the terminal output.
// repository documentation
Was this content helpful?
(0 ratings)
