Switch config format from YAML to TOML

Replaces gopkg.in/yaml.v3 with github.com/BurntSushi/toml. Updates
struct tags, default config path, Dockerfile CMD, README, and ships
config.example.toml in place of the YAML example. ${ENV_VAR}
expansion still runs on the raw file before parsing, so the behavior
is unchanged.
This commit is contained in:
prosolis
2026-05-24 21:05:41 -07:00
parent 035089c159
commit 8f38d3d9f4
8 changed files with 72 additions and 71 deletions

43
config.example.toml Normal file
View File

@@ -0,0 +1,43 @@
# Bellhop config. Values like ${ENV_VAR} are expanded from the environment
# at load time so secrets can stay out of this file.
[matrix]
homeserver = "https://matrix.example.com"
user_id = "@bellhop:example.com"
password = "${BELLHOP_MATRIX_PASSWORD}"
# Optional. Defaults shown.
display_name = "Bellhop"
data_dir = "./data" # device.json + crypto.db live here
pickle_key = "${BELLHOP_PICKLE_KEY}" # encrypts the crypto store; pick something stable
command_prefix = "!"
# Rooms the bot will respond to commands in. Messages anywhere else are
# ignored. The bot auto-joins on invite, but joining alone does not grant
# command access — the room ID must appear here.
allowed_rooms = [
"!room-id-one:example.com",
"!room-id-two:example.com",
]
# Configure any subset. Omit a section to disable that command:
# leaving out [services.radarr] makes `!movie` reply "Radarr is not configured".
[services.radarr]
url = "https://radarr.example.com"
api_key = "${RADARR_API_KEY}"
quality_profile_id = 1
root_folder = "/movies"
[services.sonarr]
url = "https://sonarr.example.com"
api_key = "${SONARR_API_KEY}"
quality_profile_id = 1
root_folder = "/tv"
[services.lidarr]
url = "https://lidarr.example.com"
api_key = "${LIDARR_API_KEY}"
quality_profile_id = 1
metadata_profile_id = 1 # required for Lidarr only
root_folder = "/music"