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.
Added 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.