Configuration is stored in a config.json file.
Available options:
clickhouseUrl(string): Connection URL for Clickhouse. Note that it should start with the protocol (http://)clickhouseDb(string): Clickhouse database name.clickhouseUsername(string): Clickhouse username.clickhousePassword(string): Clickhouse password.clickhouseFlushInterval(number): Interval (in seconds) of how often messages should be flushed to the database. A lower value means that logs are available sooner at the expense of higher database load. Defaults to 10.listenAddress(string): Listening address for the web server. Defaults to0.0.0.0:8025.channels(array of strings): List of channel ids to be logged.clientId(string): Twitch client id.clientSecret(string): Twitch client secret.admins(array of strings): List of usernames who are allowed to use administration commands.optOut(object of strings: booleans): List of user ids who opted out from being logged.adminAPIKey(string): API key for admin requests
Recent-message recovery is configured separately through environment variables:
JUSTLOG_RECENT_MESSAGES_ENABLED: Enables best-effort Robotty recent-message backfill when set to1,true,yes, ory(case-insensitive). Defaults to0(disabled).JUSTLOG_RECENT_MESSAGES_URL: Robotty-compatible recent-messages base URL. Defaults tohttps://recent-messages.robotty.de/api/v2/recent-messages. Only HTTP and HTTPS URLs are accepted.JUSTLOG_RECENT_MESSAGES_LIMIT: Maximum number of recent messages requested per channel. Defaults to800.
When enabled, rustlog requests recent messages after it successfully joins a channel at startup, after reconnecting, and after a runtime channel addition. Backfill is best-effort: request, response, and individual IRC parsing failures are logged without stopping live Twitch ingest.
Example config:
{
"clickhouseUrl": "http://clickhouse:8123",
"clickhouseDb": "rustlog",
"clickhouseUsername": "user",
"clickhousePassword": "SuperSecretPassword",
"listenAddress": "0.0.0.0:8025",
"channels": ["12345"],
"clientID": "id",
"clientSecret": "secret",
"admins": [],
"optOut": {},
"adminAPIKey": "verysecurekey"
}