Configuration
xds-server
configuration is driven by a JSON config file (server-config.json
).
Here is the logic to determine which server-config.json
file will be used:
- from command line option:
--config myConfig.json
$HOME/.xds/server/server-config.json
file/etc/xds/server/server-config.json
file<xds-server executable dir>/server-config.json
file
Supported fields in configuration file are:
- httpPort : HTTP port of client webapp/REST API
- webAppDir : location of client web application (default: webapp/dist)
- shareRootDir : root directory where projects will be copied
- logsDir : directory to store logs (eg. syncthing output)
- sdkScriptsDir : directory where scripts, used to managed SDKs, are installed
- sdkDbUpdate : define how SDK database(s) is(are) updated, supported values are:
disable
,startup
(default:startup
) - syncthing.binDir : syncthing binaries directory (default: executable directory)
- syncthing.home" : syncthing home directory (usually .../syncthing-config)
- syncthing.gui-address : syncthing gui url (default http://localhost:8385)
- syncthing.gui-apikey : syncthing api-key to use (default auto-generated)
All fields are optional and example below corresponds to the default values.
{
"httpPort": 8000,
"webAppDir": "webapp/dist",
"shareRootDir": "${HOME}/.xds/server/projects",
"logsDir": "/tmp/logs",
"sdkScriptsDir": "${EXEPATH}/scripts/sdks",
"sdkDbUpdate": "startup",
"syncthing": {
"binDir": "./bin",
"home": "${HOME}/.xds/server/syncthing-config",
"gui-address": "http://localhost:8385",
"gui-apikey": "123456789",
}
}
Notes:
Environment variables are supported by using
${MY_VAR}
syntax.
When xds-server
is started as a systemd service, default environment variables
are set into /etc/default/xds-server
file.
xds-server
configuration is also driven by a JSON config file (server-config.json
),
and default JSON config is /etc/xds/server/server-config.json
.
Note:
You can use your own JSON config by settings APP_CONFIG
variable of
/etc/default/xds-server
file to your file, for example /home/MYUSER/.xds/server/server-config.json
Disable syncthing
CloudSync
synchronization type based on syncthing
tool can be disabled by
simply removing (or renaming) "syncthing"
key in configuration file.
Here is a JSON configuration file example where syncthing key as been renamed:
{
"httpPort": 8000,
"webAppDir": "webapp/dist",
"shareRootDir": "${HOME}/.xds/server/projects",
"logsDir": "/tmp/logs",
"sdkScriptsDir": "${EXEPATH}/scripts/sdks",
"syncthing_DISABLE": {
"binDir": "./bin",
"home": "${HOME}/.xds/server/syncthing-config",
}
}
On benefit to do that is to increase XDS-Server startup time.
Note:
CloudSync
(AKA syncthing) synchronization type can also be disabled when"syncthing"
key is not defined in JSON configuration file.