mirror of
https://github.com/davestephens/ansible-nas
synced 2025-01-26 10:15:14 +00:00
Merge branch 'fetherolfjd-620-add-mumble_two'
This commit is contained in:
commit
282c66f69e
5 changed files with 81 additions and 0 deletions
|
@ -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.
|
||||
|
|
4
nas.yml
4
nas.yml
|
@ -233,6 +233,10 @@
|
|||
- mosquitto
|
||||
when: (mosquitto_enabled | default(False))
|
||||
|
||||
- role: mumble
|
||||
tags:
|
||||
- mumble
|
||||
|
||||
- role: mylar
|
||||
tags:
|
||||
- mylar
|
||||
|
|
17
roles/mumble/defaults/main.yml
Normal file
17
roles/mumble/defaults/main.yml
Normal 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
|
43
roles/mumble/tasks/main.yml
Normal file
43
roles/mumble/tasks/main.yml
Normal 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
|
16
website/docs/applications/other/mumble.md
Normal file
16
website/docs/applications/other/mumble.md
Normal 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.
|
Loading…
Reference in a new issue