Skip to content

Latest commit

 

History

History
42 lines (36 loc) · 2.23 KB

CONFIG.md

File metadata and controls

42 lines (36 loc) · 2.23 KB

Configuration

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 to 0.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 to 1, true, yes, or y (case-insensitive). Defaults to 0 (disabled).
  • JUSTLOG_RECENT_MESSAGES_URL: Robotty-compatible recent-messages base URL. Defaults to https://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 to 800.

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"
}