Auto-resume: save playback position on stream errors and cancellation, restore automatically after reconnect or container restart once the channel is silent. Plugin lifecycle hook (on_connected) ensures the reconnect watcher starts without waiting for user commands. Sorcerer tier: new permission level between oper and admin. Configured via [mumble] sorcerers list in derp.toml. Mumble cert auth: pass certfile/keyfile to pymumble for client certificate authentication. Fixes: stream_audio now re-raises CancelledError and Exception so _play_loop detects failures correctly. Subprocess cleanup uses 3s timeout. Graceful shutdown cancels background tasks before stopping pymumble. Safe getattr for _opers in core plugin. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
20 lines
463 B
YAML
20 lines
463 B
YAML
services:
|
|
derp:
|
|
build:
|
|
context: .
|
|
dockerfile: Containerfile
|
|
container_name: derp
|
|
network_mode: host
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: k8s-file
|
|
options:
|
|
max_size: 10mb
|
|
volumes:
|
|
- ./src:/app/src:ro,Z
|
|
- ./plugins:/app/plugins:ro,Z
|
|
- ./config/derp.toml:/app/config/derp.toml:ro,Z
|
|
- ./data:/app/data:Z
|
|
- ./secrets:/app/secrets:ro,Z
|
|
command: ["--verbose", "--cprofile"]
|