Compare commits
10 Commits
0.2.0+v1.6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9fa5e949fd | |||
| cab64b3a26 | |||
| 7ee486c156 | |||
| 608f5d805a | |||
| 8530a5fae2 | |||
| dde7691e53 | |||
| ebbd2e57dc | |||
| e75aba093d | |||
| a707387872 | |||
| 5f66e5ba2d |
@ -1,4 +1,5 @@
|
|||||||
TYPE=mumble
|
TYPE=mumble
|
||||||
|
ENABLE_BACKUPS=true
|
||||||
|
|
||||||
DOMAIN=mumble.example.com
|
DOMAIN=mumble.example.com
|
||||||
|
|
||||||
@ -7,6 +8,7 @@ DOMAIN=mumble.example.com
|
|||||||
LETS_ENCRYPT_ENV=production
|
LETS_ENCRYPT_ENV=production
|
||||||
ENV=production
|
ENV=production
|
||||||
|
|
||||||
|
|
||||||
# This is here so later lines can extend it; you likely don't wanna edit
|
# This is here so later lines can extend it; you likely don't wanna edit
|
||||||
COMPOSE_FILE="compose.yml"
|
COMPOSE_FILE="compose.yml"
|
||||||
|
|
||||||
@ -22,6 +24,12 @@ COMPOSE_FILE="compose.yml"
|
|||||||
## SuperUser Password
|
## SuperUser Password
|
||||||
SECRET_SUPERUSER_PASSWORD_VERSION=v1
|
SECRET_SUPERUSER_PASSWORD_VERSION=v1
|
||||||
|
|
||||||
|
## Host-port Mode
|
||||||
|
# If enabled, the app container will bind directly to the host's port 64738,
|
||||||
|
# bypassing traefik's entrypoint.
|
||||||
|
# This is not recommended for multinode setups.
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.host-ports.yml"
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# MUMBLE CONFIG #
|
# MUMBLE CONFIG #
|
||||||
#################
|
#################
|
||||||
|
|||||||
23
README.md
23
README.md
@ -8,10 +8,10 @@ Low latency, high quality voice chat application.
|
|||||||
|
|
||||||
* **Maintainer**: [@amras](https://git.coopcloud.tech/amras)
|
* **Maintainer**: [@amras](https://git.coopcloud.tech/amras)
|
||||||
* **Category**: Apps
|
* **Category**: Apps
|
||||||
* **Status**: 1, alpha
|
* **Status**: 3, stable
|
||||||
* **Image**: [mumblevoip/mumble-server](https://hub.docker.com/r/mumblevoip/mumble-server), 4, official
|
* **Image**: [mumblevoip/mumble-server](https://hub.docker.com/r/mumblevoip/mumble-server), 4, official
|
||||||
* **Healthcheck**: No
|
* **Healthcheck**: Yes
|
||||||
* **Backups**: No
|
* **Backups**: Yes
|
||||||
* **Email**: N/A
|
* **Email**: N/A
|
||||||
* **Tests**: No
|
* **Tests**: No
|
||||||
* **SSO**: N/A
|
* **SSO**: N/A
|
||||||
@ -68,6 +68,23 @@ $ abra app secret insert <YOURAPPDOMAIN> server-pw v1
|
|||||||
$ abra app deploy <YOURAPPDOMAIN> --force
|
$ abra app deploy <YOURAPPDOMAIN> --force
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Host-Port Mode
|
||||||
|
|
||||||
|
Instead of modifying the Traefik config,
|
||||||
|
you can alternatively deploy Mumble with compose.host-ports.yml,
|
||||||
|
and it will bind directly to the host server port 64738,
|
||||||
|
bypassing Traefik.
|
||||||
|
|
||||||
|
This is not recommended for multinode setups, since the client would have to connect directly to whichever node is running the app container, but this does work when deployed to a single server.
|
||||||
|
|
||||||
|
With this compose file, you can deploy mumble without any changes to the Traefik config:
|
||||||
|
|
||||||
|
1. `abra app config <YOURAPPDOMAIN>` — uncomment the line:
|
||||||
|
```
|
||||||
|
COMPOSE_FILE="$COMPOSE_FILE:compose.host-ports.yml"
|
||||||
|
```
|
||||||
|
2. `abra app deploy <YOURAPPDOMAIN> --force`
|
||||||
|
|
||||||
[`abra`]: https://git.coopcloud.tech/coop-cloud/abra
|
[`abra`]: https://git.coopcloud.tech/coop-cloud/abra
|
||||||
[`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik
|
[`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik
|
||||||
[Mumble client]:(https://www.mumble.info/downloads/)
|
[Mumble client]:(https://www.mumble.info/downloads/)
|
||||||
|
|||||||
14
compose.host-ports.yml
Normal file
14
compose.host-ports.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
ports:
|
||||||
|
- target: 64738
|
||||||
|
published: 64738
|
||||||
|
protocol: tcp
|
||||||
|
mode: host
|
||||||
|
- target: 64738
|
||||||
|
published: 64738
|
||||||
|
protocol: udp
|
||||||
|
mode: host
|
||||||
13
compose.yml
13
compose.yml
@ -51,6 +51,12 @@ services:
|
|||||||
MUMBLE_CONFIG_ROLLINGSTATSWINDOW: ${ROLLING_STATS_WINDOW:-300}
|
MUMBLE_CONFIG_ROLLINGSTATSWINDOW: ${ROLLING_STATS_WINDOW:-300}
|
||||||
MUMBLE_CONFIG_LISTENERSPERCHANNEL: ${LISTENERS_PER_CHANNEL:--1}
|
MUMBLE_CONFIG_LISTENERSPERCHANNEL: ${LISTENERS_PER_CHANNEL:--1}
|
||||||
MUMBLE_CONFIG_LISTENERSPERUSER: ${LISTENERS_PER_USER:--1}
|
MUMBLE_CONFIG_LISTENERSPERUSER: ${LISTENERS_PER_USER:--1}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/64738'"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 10
|
||||||
|
start_period: 30s
|
||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: on-failure
|
condition: on-failure
|
||||||
@ -64,7 +70,12 @@ services:
|
|||||||
- "traefik.udp.routers.${STACK_NAME}.entrypoints=mumble-udp"
|
- "traefik.udp.routers.${STACK_NAME}.entrypoints=mumble-udp"
|
||||||
- "traefik.udp.routers.${STACK_NAME}.service=${STACK_NAME}-udp-service"
|
- "traefik.udp.routers.${STACK_NAME}.service=${STACK_NAME}-udp-service"
|
||||||
- "traefik.udp.services.${STACK_NAME}-udp-service.loadbalancer.server.port=64738"
|
- "traefik.udp.services.${STACK_NAME}-udp-service.loadbalancer.server.port=64738"
|
||||||
- "coop-cloud.${STACK_NAME}.version=0.2.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"
|
||||||
|
- "coop-cloud.${STACK_NAME}.version=1.0.0+v1.6.870-0"
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
superuser-pw:
|
superuser-pw:
|
||||||
|
|||||||
4
release/1.0.0+v1.6.870-0
Normal file
4
release/1.0.0+v1.6.870-0
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- Upgrade from status: 1, alpha to status: 3, stable
|
||||||
|
- Healthchecks introduced (checking for open port)
|
||||||
|
- Backups introduced (full sqlite database)
|
||||||
|
- Host-port mode can now optionally be used (see README for details)
|
||||||
Reference in New Issue
Block a user