Voice Chat
    Ubuntu 24.04

    Deploy a Mumble Server on a VPS

    Self-host Mumble (Murmur), a low-latency voice chat server for gamers and communities, on a RamNode VPS with UFW, systemd, and Let's Encrypt TLS.

    Target: Ubuntu 24.04 LTS, sudo/root SSH access, a public IPv4 address.

    1. Prerequisites

    • A RamNode VPS (1 vCPU / 1GB RAM is plenty for a small-to-medium Mumble server)
    • A non-root sudo user (recommended) or root access via SSH
    • Optionally, a domain name pointed at the VPS's IP (an A record) if you want a proper TLS certificate

    2. Update the system

    shell
    sudo apt update && sudo apt upgrade -y

    3. Install Mumble server (Murmur)

    Ubuntu ships Mumble's server daemon as mumble-server:

    shell
    sudo apt install mumble-server -y

    During install you'll be asked whether to autostart on boot — choose Yes.

    4. Open the firewall

    Mumble uses TCP+UDP on port 64738 by default:

    shell
    sudo ufw allow 64738/tcp
    sudo ufw allow 64738/udp
    sudo ufw enable   # if not already enabled
    sudo ufw status

    If RamNode's control panel has its own network firewall/security group, open the same port there too.

    5. Configure the server

    Main config file: /etc/mumble-server.ini

    Edit key values:

    shell
    sudo nano /etc/mumble-server.ini

    Useful settings to review:

    shell
    welcometext="<br />Welcome to my Mumble server!<br />"
    port=64738
    serverpassword=            ; leave blank for open server, or set a shared password
    bandwidth=72000
    users=100
    registerName=My Mumble Server

    Save and exit (Ctrl+O, Enter, Ctrl+X in nano).

    6. Set the SuperUser password

    The SuperUser account can administer channels/ACLs from within the client:

    shell
    sudo systemctl stop mumble-server
    sudo murmurd -ini /etc/mumble-server.ini -supw YOUR_STRONG_PASSWORD
    sudo systemctl start mumble-server

    7. Enable and start the service

    shell
    sudo systemctl enable mumble-server
    sudo systemctl start mumble-server
    sudo systemctl status mumble-server

    By default Mumble generates a self-signed cert, which works but throws a warning in clients. To use Let's Encrypt:

    shell
    sudo apt install certbot -y
    sudo systemctl stop mumble-server   # free port 80/443 conflicts if any
    sudo certbot certonly --standalone -d your.domain.com

    Then point Mumble at the cert (as root, since Let's Encrypt certs live under /etc/letsencrypt with restricted permissions — either adjust permissions or copy certs to a location the mumble-server user can read):

    shell
    sslCert=/etc/letsencrypt/live/your.domain.com/fullchain.pem
    sslKey=/etc/letsencrypt/live/your.domain.com/privkey.pem

    Restart:

    shell
    sudo systemctl restart mumble-server

    Add a cron/systemd timer for certbot renewal, and a --deploy-hook to restart mumble-server after renewal:

    shell
    sudo certbot renew --deploy-hook "systemctl restart mumble-server" --dry-run

    9. Connect

    In the Mumble client: Server > Connect, enter your VPS IP or domain, port 64738, and your username. Right-click your name in the client to enter the SuperUser password and register/administer the server.

    10. Basic hardening

    • Change the default port to something non-standard if you want to cut down on scan noise (update port= in the ini and your firewall rules to match).
    • Install fail2ban for SSH protection on the box generally:
      shell
      sudo apt install fail2ban -y
    • Keep serverpassword set if you don't want the server publicly joinable.
    • Regularly run sudo apt upgrade to keep Mumble and the OS patched.

    11. Logs & troubleshooting

    shell
    sudo journalctl -u mumble-server -f

    Config test / verbose start (useful if the service won't come up):

    shell
    sudo murmurd -ini /etc/mumble-server.ini -fg -v