Table of contents
Basics
The Status-API server is configured via a single JSON file. It must be mounted at /config.json into the container and can be set read-only. Take a look at config.example.json for an example configuration.
Structure
The basic structure of the config file is:
{
"<option>": "<value>",
"<option>": "<value>",
...
"notifiers": {
"<notifier-name>": {}, // non-configurable notifier
"<notifier-name>": { // configurable notifier
"<notifier-config>": "<value>",
...
},
...
},
"services": {
"<service name>": {
"friendly_url": "https://some-website.de",
"protocol": "http"
"protocol_config": {
"<protocol-config>": "<value>",
...
}
},
"<service name>": {
"friendly_url": "https://some-other-website.de/something",
"protocol": "http"
}
...
}
}
First level options
All of these options are optional and have default values that can be overwritten by setting the options.
| Option | Default value |
|---|---|
"host" |
0.0.0.0:3002 |
"db_path" |
/db.sqlite |
"check_interval" |
120 |
"no_frontend" |
false |
"frontend_path" |
../frontend/build |
"frontend_title" |
Service Status |
"frontend_logo_path" |
logo.png |
"allowed_api_keys" |
[] |
The "no_frontend" option is used to prevent the backend to serve any HTML. This can be useful if you want to build your own frontend on top of the API.
The "allowed_api_keys" option is used to specify keys to authenticate to the Messages API using the X-API-Key header. If it is left empty, a random one will be generated during startup and will be shown in the console. Keep in mind, that is changes on every startup!
Configure services an notifiers
To configure the protocol checkers, see [Protocol Modules](Protocol Modules).
To configure the notifieres, see Notifiers.