Custom Upgrade Server
Syncthing by default upgrades automatically from the official release packages on GitHub. If this is unsuitable, Syncthing can instead be configured to look for upgrades on a local or private upgrade server.
New in version 0.12.0.
Usage
The URL used to fetch release information can be set in Advanced Configuration, under the name releasesURL
. The URL should point to a location serving a valid release list. The release list is a JSON file on the following format:
[
{
"tag_name": "v0.11.24",
"prerelease": false,
"assets": [
{
"url": "https://example.com/dl/syncthing-dragonfly-amd64-v0.11.24.tar.gz",
"name": "syncthing-dragonfly-amd64-v0.11.24.tar.gz"
},
{
"url": "https://example.com/dl/syncthing-freebsd-386-v0.11.24.tar.gz",
"name": "syncthing-freebsd-386-v0.11.24.tar.gz"
},
{
"url": "https://example.com/dl/syncthing-freebsd-amd64-v0.11.24.tar.gz",
"name": "syncthing-freebsd-amd64-v0.11.24.tar.gz"
},
{
"url": "https://example.com/dl/syncthing-linux-386-v0.11.24.tar.gz",
"name": "syncthing-linux-386-v0.11.24.tar.gz"
}
]
},
{
"tag_name": "v0.11.23",
"prerelease": false,
"assets": [
{
"url": "https://example.com/dl/syncthing-dragonfly-amd64-v0.11.23.tar.gz",
"name": "syncthing-dragonfly-amd64-v0.11.23.tar.gz"
},
{
"url": "https://example.com/dl/syncthing-freebsd-386-v0.11.23.tar.gz",
"name": "syncthing-freebsd-386-v0.11.23.tar.gz"
},
{
"url": "https://example.com/dl/syncthing-freebsd-amd64-v0.11.23.tar.gz",
"name": "syncthing-freebsd-amd64-v0.11.23.tar.gz"
},
{
"url": "https://example.com/dl/syncthing-linux-386-v0.11.23.tar.gz",
"name": "syncthing-linux-386-v0.11.23.tar.gz"
}
]
}
]
The file may include additional attributes; these are ignored. Syncthing looks for a version number in tag_name
, then for an asset name
matching syncthing-$os-$arch-$version.$ext
. Only beta releases (i.e. releases with version numbers of the form v0.11.24-beta...
) will consider an upgrade to a release marked as "prerelease": true
. The actual assets must be official releases downloaded from GitHub, or they must be custom compiled and signed according to the process outlined in Release Signing.