Merge branch 'fetherolfjd-620-add-mumble_two'

This commit is contained in:
David Stephens 2023-04-11 23:29:25 +01:00
commit 282c66f69e
5 changed files with 81 additions and 0 deletions

View file

@ -58,6 +58,7 @@ If you have a spare domain name you can configure applications to be accessible
* [MiniDLNA](https://sourceforge.net/projects/minidlna/) - simple media server which is fully compliant with DLNA/UPnP-AV clients
* [Miniflux](https://miniflux.app/) - An RSS news reader
* [Mosquitto](https://mosquitto.org) - An open source MQTT broker
* [Mumble](https://www.mumble.info) - Open source, low latency, high quality voice chat
* [Mylar](https://github.com/evilhero/mylar) - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
* [MyMediaForAlexa](https://www.mymediaalexa.com/) - Lets you stream your music collection to your alexa device
* [n8n](https://n8n.io/) - Nodemation, a node based workflow and automation service like IFTTT.

View file

@ -233,6 +233,10 @@
- mosquitto
when: (mosquitto_enabled | default(False))
- role: mumble
tags:
- mumble
- role: mylar
tags:
- mylar

View file

@ -0,0 +1,17 @@
---
mumble_enabled: false
mumble_available_externally: false
# Directories
mumble_data_directory: "{{ docker_home }}/mumble"
# Networking
mumble_tcp_port: "64738"
mumble_udp_port: "64738"
mumble_hostname: mumble
# Configuration
# It is strongly advised this password is change, especially if this is publicly available.
mumble_server_password: "abcpassword123"
mumble_container_name: mumble-server

View file

@ -0,0 +1,43 @@
---
- name: Start Mumble
block:
- name: Create Mumble Directories
file:
path: "{{ item }}"
state: directory
# The mumble image gets uid/gid at build time, and uses 1000 for both, by default.
# This ends up with permission denied on the data directory, unless we change ownership or fully open the permissions.
owner: 1000
group: 1000
with_items:
- "{{ mumble_data_directory }}"
- name: Create Mumble Docker Container
docker_container:
name: "{{ mumble_container_name }}"
image: mumblevoip/mumble-server:latest
pull: true
volumes:
- "{{ mumble_data_directory }}:/data:rw"
ports:
- "{{ mumble_tcp_port }}:64738/tcp"
- "{{ mumble_udp_port }}:64738/udp"
env:
MUMBLE_CONFIG_SERVER_PASSWORD: "{{ mumble_server_password }}"
restart_policy: unless-stopped
labels:
traefik.enable: "{{ mumble_available_externally | string }}"
traefik.http.routers.mumble.rule: "Host(`{{ mumble_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.mumble.tls.certresolver: "letsencrypt"
traefik.http.routers.mumble.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.mumble.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.mumble.loadbalancer.server.port: "64738"
when: mumble_enabled is true
- name: Stop Mumble
block:
- name: Stop Mumble
docker_container:
name: "{{ mumble_container_name }}"
state: absent
when: mumble_enabled is false

View file

@ -0,0 +1,16 @@
# Mumble
Homepage: <https://www.mumble.info/>
Mumble is a free, open source, low latency, high quality voice chat application.
## Usage
Set `mumble_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
The configuration here applies a server password, via `mumble_server_password`, to
the Mumble instance, so that if you make this application available externally it won't be
accessible to everyone by default. That being said, it is **strongly** encouraged that
you change this value to something unique.
Clients can then connect to the service at `ansible_nas_host_or_ip:64738` using the
password that you've definitely changed.