Files
mumble/compose.yml
notplants a1a5e2adac
Some checks failed
continuous-integration/drone/pr Build is failing
add backups
2026-03-03 15:11:10 -05:00

64 lines
1.9 KiB
YAML

---
version: "3.8"
services:
app:
image: mumblevoip/mumble-server:v1.6.870
entrypoint: ["/abra-entrypoint.sh"]
command: ["/usr/bin/mumble-server"]
volumes:
- mumble_data:/data
environment:
- MUMBLE_CONFIG_WELCOMETEXT=${MUMBLE_WELCOMETEXT:-<br />Welcome to this Mumble server.<br />}
- MUMBLE_CONFIG_USERS=${MUMBLE_USERS:-100}
- MUMBLE_CONFIG_SERVERPASSWORD=${MUMBLE_SERVERPASSWORD:-}
# Mumble uses its own protocol on port 64738 (TCP+UDP), not HTTP.
# Published directly on the host — cannot be proxied through Traefik
# without custom entrypoints.
ports:
- target: 64738
published: 64738
protocol: tcp
mode: host
- target: 64738
published: 64738
protocol: udp
mode: host
configs:
- source: abra_entrypoint
target: /abra-entrypoint.sh
mode: 0555
secrets:
- su_password
healthcheck:
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/64738'"]
interval: 30s
timeout: 10s
retries: 10
start_period: 30s
deploy:
restart_policy:
condition: on-failure
labels:
- "traefik.enable=false"
- "coop-cloud.${STACK_NAME}.version=0.1.0+1.6.870"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-60}"
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
- 'backupbot.backup.pre-hook=sqlite3 /data/mumble-server.sqlite ".backup /data/backup.sqlite"'
- "backupbot.backup.post-hook=rm -f /data/backup.sqlite"
- "backupbot.backup.volumes.mumble_data.path=backup.sqlite"
- "backupbot.restore.post-hook=cp /data/backup.sqlite /data/mumble-server.sqlite"
volumes:
mumble_data:
configs:
abra_entrypoint:
name: ${STACK_NAME}_entrypoint_${ABRA_ENTRYPOINT_VERSION}
file: abra-entrypoint.sh
secrets:
su_password:
external: true
name: ${STACK_NAME}_su_password_${SECRET_SU_PASSWORD_VERSION}