Skip to content

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:

  1. System Preparation: The system is prepared by installing the Docker engine.

  2. Directory Creation: A dedicated directory for Mumble data is created at /opt/mumble/data with 0755 permissions.

  3. Image Acquisition: The ajmandourah/mumble Docker image is pulled from the registry.

  4. 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. Port 443 must be open for the Nginx proxy.

  • Permissions: Data directories are owned by root with 0755 permissions 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 port 64738)

  • 64738/UDP (mapped from host port 64738)

  • Volumes: /opt/mumble/data is mounted to /data inside the container.

  • Restart Policy: always

Nginx Proxy Container

  • Image: jonasal/nginx-certbot:latest

  • Network Mode: host

  • Environment Variables:

  • [email protected]

  • 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/nginx is used to manage SSL certificates via Certbot and handle reverse proxying.

Application Update Instructions

To update the Mumble application, perform the following steps:

  1. Navigate to the directory containing the deployment files (if applicable).

  2. Pull the latest image and restart the container:

    docker compose pull && docker compose up -d
    

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:

    docker restart mumble
    

  • Stop Mumble:

    docker stop mumble
    

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×