diff --git a/.env.sample b/.env.sample index dc1c153..2c3504e 100644 --- a/.env.sample +++ b/.env.sample @@ -1,4 +1,5 @@ TYPE=mumble +ENABLE_BACKUPS=true DOMAIN=mumble.example.com @@ -7,6 +8,7 @@ DOMAIN=mumble.example.com LETS_ENCRYPT_ENV=production ENV=production + # This is here so later lines can extend it; you likely don't wanna edit COMPOSE_FILE="compose.yml" diff --git a/README.md b/README.md index 91ad78a..2e5f43d 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,10 @@ Low latency, high quality voice chat application. * **Maintainer**: [@amras](https://git.coopcloud.tech/amras) * **Category**: Apps -* **Status**: 1, alpha +* **Status**: 3, stable * **Image**: [mumblevoip/mumble-server](https://hub.docker.com/r/mumblevoip/mumble-server), 4, official -* **Healthcheck**: No -* **Backups**: No +* **Healthcheck**: Yes +* **Backups**: Yes * **Email**: N/A * **Tests**: No * **SSO**: N/A diff --git a/compose.yml b/compose.yml index 286f2e0..4c0bbe4 100644 --- a/compose.yml +++ b/compose.yml @@ -8,6 +8,12 @@ services: - proxy volumes: - "mumble_data:/data" + 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 @@ -22,6 +28,11 @@ services: - "traefik.udp.routers.${STACK_NAME}.service=${STACK_NAME}-udp-service" - "traefik.udp.services.${STACK_NAME}-udp-service.loadbalancer.server.port=64738" - "coop-cloud.${STACK_NAME}.version=0.1.0+v1.6.870-0" + - "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=mv /data/backup.sqlite /data/mumble-server.sqlite" networks: proxy: