Deployment Overview of Mumble on Server¶
Prerequisites and Basic Requirements¶
To ensure the successful deployment of Mumble, the following requirements must be met:
-
Operating System: Ubuntu (or compatible Linux distribution).
-
Privileges: Root or sudo access is required for installing Docker and managing system directories.
-
Ports:
-
64738(TCP/UDP) for Mumble client connections. -
443(TCP) for HTTPS/Proxy traffic via Nginx.
FQDN of the final panel on the hostkey.in domain¶
The application is accessible via a subdomain based on the following template:
| Parameter | Value |
|---|---|
| Prefix | mumble |
| Domain | hostkey.in |
| Full template | mumble{Server_ID_from_Invapi}.hostkey.in |
File and Directory Structure¶
The application uses the following directory structure for data persistence and configuration:
-
/opt/mumble/data: Main data directory for Mumble. -
/root/nginx: Contains the Nginx Docker Compose configuration. -
/data/nginx/user_conf.d: Stores Nginx user configuration files. -
/data/nginx/nginx-certbot.env: Environment file for Certbot/Nginx.
Application Installation Process¶
The installation process involves setting up the environment and deploying the application via Docker:
-
System Preparation: The system is prepared by installing the Docker engine.
-
Directory Creation: A dedicated directory for Mumble data is created at
/opt/mumble/datawith0755permissions. -
Image Acquisition: The
ajmandourah/mumbleDocker image is pulled from the registry. -
Container Deployment: The Mumble container is started with a restart policy set to
always.
Access Rights and Security¶
-
Firewall: Ensure that port
64738(TCP and UDP) is open for client connections. Port443must be open for the Nginx proxy. -
Permissions: Data directories are owned by
rootwith0755permissions to ensure secure access.
Docker Containers and Their Deployment¶
The deployment utilizes two primary containers:
Mumble Container¶
-
Image:
ajmandourah/mumble -
Ports:
-
64738/TCP(mapped from host port64738) -
64738/UDP(mapped from host port64738) -
Volumes:
/opt/mumble/datais mounted to/datainside the container. -
Restart Policy:
always
Nginx Proxy Container¶
-
Image:
jonasal/nginx-certbot:latest -
Network Mode:
host -
Environment Variables:
-
Volumes:
-
nginx_secrets:/etc/letsencrypt(External volume) -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d
Custom Scripts and Additional Setup¶
The deployment includes a configuration step for the Nginx proxy:
-
Proxy Configuration: The system automatically configures an Nginx location block to route traffic from the external domain to the local Mumble service via
http://127.0.0.1:23333. -
SSL Management: A Docker Compose setup in
/root/nginxis used to manage SSL certificates via Certbot and handle reverse proxying.
Application Update Instructions¶
To update the Mumble application, perform the following steps:
-
Navigate to the directory containing the deployment files (if applicable).
-
Pull the latest image and restart the container:
Location of Configuration Files and Data¶
-
Mumble Data:
/opt/mumble/data -
Nginx User Configs:
/data/nginx/user_conf.d/ -
Nginx Compose File:
/root/nginx/compose.yml
Available Ports for Connection¶
| Service | Port | Protocol |
|---|---|---|
| Mumble Client | 64738 | TCP/UDP |
| HTTPS (Proxy) | 443 | TCP |
Starting and Stopping the Application¶
The application is managed via Docker. Use the following commands:
-
Start/Restart Mumble:
-
Stop Mumble: