d328e0fb75
This adds autodetection of the fastest hashing library on startup, thus handling the performance regression. It also adds an environment variable to control the selection, STHASHING=standard (Go standard library version, avoids SIGILL crash when the minio library has bugs on odd CPUs), STHASHING=minio (to force using the minio version) or unset for the default autodetection. GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3617 |
||
---|---|---|
.. | ||
clean.go | ||
db.go | ||
LICENSE | ||
main.go | ||
psql.go | ||
ql.go | ||
querysrv.go | ||
README.md | ||
stats.go | ||
stdiscosrv |
stdiscosrv
This is the global discovery server for the syncthing
project.
To get it, run go get github.com/syncthing/stdiscosrv
or download the
latest build
from the build server.
Usage
The discovery server supports ql
and postgres
backends.
Specify the backend via -db-backend
and the database DSN via -db-dsn
.
By default it will use in-memory ql
backend. If you wish to persist the
information on disk between restarts in ql
, specify a file DSN:
$ stdiscosrv -db-dsn="file:///var/run/stdiscosrv.db"
For postgres
, you will need to create a database and a user with permissions
to create tables in it, then start the stdiscosrv as follows:
$ export STDISCOSRV_DB_DSN="postgres://user:password@localhost/databasename"
$ stdiscosrv -db-backend="postgres"
You can pass the DSN as command line option, but the value what you pass in will be visible in most process managers, potentially exposing the database password to other users.
In all cases, the appropriate tables and indexes will be created at first startup. If it doesn't exit with an error, you're fine.
See stdiscosrv -help
for other options.