Headless Rust gRPC daemon to drive Bluetooth, HLS/DASH playback, and snapcast/shairport-sync/squeezelite on Raspberry Pi audio rigs.
1.2 kB
43 lines
1# zerod.toml — copy to ./zerod.toml, $XDG_CONFIG_HOME/zerod/zerod.toml, or /etc/zerod.toml
2
3[server]
4bind = "127.0.0.1:50151"
5# Leave empty to fall back to the ZEROD_BEARER_TOKEN env var, otherwise a
6# random token is generated and logged at startup.
7bearer_token = ""
8
9[systemd]
10# Only units listed here can be controlled via the SystemdService API.
11# Acts as an allowlist so the gRPC server can't be turned into a generic
12# remote systemctl.
13units = [
14 "snapserver.service",
15 "snapclient.service",
16 "shairport-sync.service",
17 "squeezelite.service",
18]
19
20# Each [[configs]] entry maps a logical key (used as the gRPC argument) to a
21# file path on this host plus an optional systemd unit to reload/restart after
22# a successful write. Set `unit = ""` to disable the post-write action for that
23# entry.
24
25[[configs]]
26key = "snapserver"
27path = "/etc/snapserver.conf"
28unit = "snapserver.service"
29
30[[configs]]
31key = "snapclient"
32path = "/etc/default/snapclient"
33unit = "snapclient.service"
34
35[[configs]]
36key = "shairport"
37path = "/etc/shairport-sync.conf"
38unit = "shairport-sync.service"
39
40[[configs]]
41key = "squeezelite"
42path = "/etc/default/squeezelite"
43unit = "squeezelite.service"