You can install the package to your \$GOPATH with the go tool from shell:
go get -u github.com/drakkan/sftpgo
Or you can download the sources and use go build.
Make sure Git is installed on your machine and in your system's PATH.
The following build tags are available:
nogcs, disable Google Cloud Storage backend, default enablednos3, disable S3 Compabible Object Storage backends, default enablednobolt, disable Bolt data provider, default enablednomysql, disable MySQL data provider, default enablednopgsql, disable PostgreSQL data provider, default enablednosqlite, disable SQLite data provider, default enablednoportable, disable portable mode, default enablednometrics, disable Prometheus metrics, default enabledIf no build tag is specified the build will include the default features.
The optional SQLite driver is a CGO package and so it requires a C compiler at build time.
On Linux and macOS, a compiler is easy to install or already installed. On Windows, you need to download MinGW-w64 and build SFTPGo from its command prompt.
The compiler is a build time only dependency. It is not required at runtime.
Version info, such as git commit and build date, can be embedded setting the following string variables at build time:
github.com/drakkan/sftpgo/version.commitgithub.com/drakkan/sftpgo/version.dateFor example, you can build using the following command:
go build -tags nogcs,nos3,nosqlite -ldflags "-s -w -X github.com/drakkan/sftpgo/version.commit=`git describe --always --dirty` -X github.com/drakkan/sftpgo/version.date=`date -u +%FT%TZ`" -o sftpgo
You should get a version that includes git commit, build date and available features like this one:
$ ./sftpgo -v
SFTPGo 0.9.6-dev-b30614e-dirty-2020-06-19T11:04:56Z +metrics -gcs -s3 +bolt +mysql +pgsql -sqlite +portable