# 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: 1. from command line option: `--config myConfig.json` 1. `$HOME/.xds/server/server-config.json` file 1. `/etc/xds/server/server-config.json` file 1. `/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 ) - **syncthing.gui-apikey** : syncthing api-key to use (default auto-generated) All fields are optional and example below corresponds to the default values. ```json { "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: ```json { "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.