Lint / Shell (shellcheck) (push) Successful in 2m0s
Lint / JS (eslint) (push) Successful in 2m1s
Lint / No secrets in webhook configs (push) Successful in 18s
Lint / Landing page is rendered (matrix (push) Successful in 18s
Lint / Python (ruff) (push) Successful in 25s
Lint / Secret scan (gitleaks) (push) Successful in 14s
Lint / Shell (shellcheck) (pull_request) Successful in 9s
Lint / JS (eslint) (pull_request) Successful in 9s
Lint / No secrets in webhook configs (pull_request) Successful in 7s
Lint / Python deps (pip-audit) (push) Successful in 1m7s
Lint / Landing page is rendered (matrix (pull_request) Successful in 4s
Lint / Python (ruff) (pull_request) Successful in 6s
Lint / Secret scan (gitleaks) (pull_request) Successful in 6s
Lint / Python deps (pip-audit) (pull_request) Successful in 30s
Production setup for the Discord voice bridge on LXC 151: config and appservice-registration templates (secrets rendered on the server), an idempotent install script (one Synapse restart on first install, creates the bot account so it can be invited), and a hardened systemd unit. voice-limit-guard: VOICE_LIMIT_EXEMPT_USERS lets the bridge's own bot listen in a call without taking a slot; relayed Discord speakers still count. Unit tests added (61 pass); verified live on the dev stack. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
35 lines
1.3 KiB
Plaintext
35 lines
1.3 KiB
Plaintext
# Lotus Guild voice bridge (nether-voicebridge, Lotus-patched build) — LXC 151.
|
||
# Rendered by voice-bridge/install.sh into /etc/lotus-voice/config.toml (0600).
|
||
# @AS_TOKEN@ and @PUPPET_TOKENS@ are filled in on the server; never commit them.
|
||
|
||
data_dir = "/var/lib/lotus-voice"
|
||
|
||
[server.lotus]
|
||
homeserver_url = "http://127.0.0.1:8008"
|
||
# MXIDs and .well-known discovery (https://matrix.lotusguild.org) use this domain.
|
||
matrix_domain = "matrix.lotusguild.org"
|
||
# Bot = @lotus-voice_bot, Discord speakers = @lotus-voice_<discord id>.
|
||
sender_localpart = "lotus-voice"
|
||
appservice_id = "lotus-voice"
|
||
appservice_token = "@AS_TOKEN@"
|
||
|
||
[puppets]
|
||
# Lotus Voice 1–3 (Discord apps 1565219639640858746 / 1565220427297722378 /
|
||
# 1565220532830470207). One per Matrix person speaking at the same time.
|
||
tokens = [@PUPPET_TOKENS@]
|
||
nickname_prefix = "[Matrix] "
|
||
|
||
[[bridge]]
|
||
name = "discord-voice-bridge"
|
||
server = "lotus"
|
||
# Matrix: "Discord Voice Bridge" voice room.
|
||
room_id = "!yS_ZIHL3sOKQJBt4NiIQyiHKt3cv6HrIDeq7OxDpSM0"
|
||
[bridge.discord]
|
||
# Lotus Guild server, voice channel "matrix-bridge".
|
||
guild_id = "1565159371355197570"
|
||
channel_id = "1565159372122882071"
|
||
[bridge.matrix]
|
||
# Shown as a call participant in encrypted calls (it receives the media keys).
|
||
bot_display_name = "Discord Voice Bridge"
|
||
bot_avatar_path = "/opt/lotus-voice/avatar.png"
|