Anleitung

Eigenen Mumble-Server betreiben

Mumcord braucht keinen besonderen Server: Ein ganz normaler Mumble-Server reicht. Mit Docker steht deiner in etwa 15 Minuten, auch wenn du so etwas noch nie gemacht hast.

  • 64738 Port, TCP und UDP
  • 1 Kern und 512 MB RAM reichen für Dutzende Leute
  • 0 € Open Source; nur der Rechner kostet

In acht Schritten

  1. Einen Rechner aussuchen

    Am einfachsten ist ein kleiner Linux-Server bei einem Hoster (ein „VPS“ für ein paar Euro im Monat). Er läuft rund um die Uhr und hat eine feste Adresse. Ein Rechner zu Hause oder ein Raspberry Pi geht auch; dann musst du im Router einen Port freigeben (Schritt 5).

    Mumble braucht kaum Leistung. Wichtiger ist die Leitung: Pro Person fallen beim Sprechen etwa 40–100 kbit/s an.

  2. Docker installieren

    Melde dich per SSH auf dem Server an. Unter Linux installiert dieser Befehl Docker samt Compose. Auf Windows und macOS nimmst du stattdessen Docker Desktop.

    Terminal
    curl -fsSL https://get.docker.com | sudo sh
    docker compose version

    Erscheint eine Versionsnummer, ist alles bereit.

  3. Ordner und Passwort anlegen

    Lege einen Ordner an und erzeuge ein zufälliges Passwort für den Admin-Zugang SuperUser:

    Terminal
    mkdir -p ~/mumble && cd ~/mumble
    openssl rand -base64 24
    .env
    # Bleibt auf dem Server. Nie in Git, Chats oder Screenshots teilen.
    SUPERUSER_PASSWORD=hier-das-zufallspasswort-einfuegen
    SERVER_PASSWORD=

    Speichere die zweite Datei als .env und setze das erzeugte Passwort ein (zum Beispiel mit nano .env). Soll nicht jeder mit der Adresse auf den Server kommen, trag bei SERVER_PASSWORD ein Passwort ein, das du deinen Leuten gibst. Danach schützt chmod 600 .env die Datei vor anderen Nutzern des Rechners.

  4. Die docker-compose.yml

    Diese Datei kommt als docker-compose.yml in denselben Ordner. Ändere Servername und Willkommenstext nach Lust und Laune, der Rest passt so.

    docker-compose.yml
    # Mumble-Server für Mumcord und jeden anderen Mumble-Client
    name: mumble
    
    services:
      mumble-server:
        image: mumblevoip/mumble-server:v1.5.735   # feste Version; zum Aktualisieren hier erhöhen
        restart: unless-stopped
        ports:
          - "64738:64738/tcp"   # Verbindung und Chat
          - "64738:64738/udp"   # Sprache
        volumes:
          - data:/data          # Kanäle, Registrierungen und Zertifikat
        environment:
          # Passwörter kommen aus der Datei .env daneben, nie direkt hier rein.
          MUMBLE_SUPERUSER_PASSWORD: ${SUPERUSER_PASSWORD:?SUPERUSER_PASSWORD fehlt in .env}
          MUMBLE_CONFIG_SERVER_PASSWORD: ${SERVER_PASSWORD:-}   # leer = jeder mit der Adresse darf rein
          MUMBLE_CONFIG_REGISTER_NAME: "Unser Server"              # Name des obersten Kanals
          MUMBLE_CONFIG_WELCOME_TEXT: "Willkommen! Sag Hallo im Chat."   # steht in Mumcord oben im Chat
          MUMBLE_CONFIG_USERS: "50"                             # höchstens so viele gleichzeitig
          MUMBLE_CONFIG_IMAGE_MESSAGE_LENGTH: "1048576"         # Bilder im Chat bis 1 MB (Standard: 128 KB)
          MUMBLE_CONFIG_TEXT_MESSAGE_LENGTH: "10000"            # längere Nachrichten (Standard: 5000 Zeichen)
    
    volumes:
      data:

    Die beiden letzten Einstellungen sind für Mumcord gedacht: Eingefügte Bilder dürfen größer sein, und lange Nachrichten werden nicht abgeschnitten. Alle weiteren Einstellungen gehen nach demselben Muster MUMBLE_CONFIG_…, siehe die Doku des Images.

  5. Starten und Port freigeben

    Server starten und kurz ins Log schauen:

    Terminal
    docker compose up -d
    docker compose logs -f   # Strg+C beendet nur die Anzeige

    Steht dort Server listening on 0.0.0.0:64738, läuft er. Jetzt muss der Port 64738 für TCP und UDP von außen erreichbar sein:

    Server mit Firewall (zum Beispiel ufw): sudo ufw allow 64738/tcp und sudo ufw allow 64738/udp. Manche Hoster haben zusätzlich eine Firewall im Kundenmenü.

    Rechner zu Hause: Im Router eine Portweiterleitung für 64738 TCP und UDP auf diesen Rechner einrichten.

  6. Mit Mumcord verbinden

    Klicke in Mumcord in der Server-Leiste auf + und gib die IP-Adresse oder den Namen deines Servers ein. Schöner als eine IP ist ein eigener Name: Lege bei deinem Domain-Anbieter einen A-Eintrag an, etwa voice.example.org, der auf die IP zeigt.

    Beim ersten Verbinden zeigt Mumcord den Fingerabdruck des Zertifikats. Das ist normal, denn der Server hat sich beim ersten Start selbst eines erstellt. Bestätige ihn einmal; ändert er sich später unerwartet, warnt Mumcord dich.

  7. Leute einladen

    Schick deinen Leuten einen Link. Ein Klick darauf öffnet Mumcord (oder einen anderen Mumble-Client) und verbindet direkt; mit einem Kanalnamen am Ende landet man gleich im richtigen Kanal:

    Terminal
    mumble://voice.example.org
    mumble://voice.example.org/Zocken

    Wer Mumcord noch nicht hat, findet es auf mumcord.app. Ein Server-Passwort schickst du am besten getrennt vom Link.

  8. Kanäle und Rechte einrichten

    Kanäle anlegen und Rechte verteilen kommt in Mumcord erst mit Epic 4. Bis dahin nimmst du dafür einmal den offiziellen Mumble-Client:

    1. Mit dem Benutzernamen SuperUser und dem Passwort aus der .env verbinden.

    2. Rechtsklick auf den obersten Kanal → Hinzufügen, für jeden Kanal, den du willst.

    3. Damit du nicht jedes Mal SuperUser brauchst: Verbinde dich mit Mumcord unter deinem Namen und klicke unten links auf deinen Namen → Auf diesem Server registrieren. Danach als SuperUser im obersten Kanal → Bearbeiten → Gruppen → Gruppe admin deinen Namen hinzufügen.

Pflege und Probleme

Wie aktualisiere ich den Server?

Trag in der docker-compose.yml bei image: die neue Version ein (die Liste steht auf Docker Hub) und führe docker compose pull und dann docker compose up -d aus. Kanäle und Registrierungen bleiben erhalten.

Wie mache ich ein Backup?

Alles Wichtige liegt im Volume mumble_data. Kurz anhalten, einpacken, weiterlaufen lassen: docker compose stop, dann docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . und zum Schluss docker compose start.

Niemand kommt auf den Server.

Fast immer ist der Port zu. Prüfe mit docker compose ps, ob der Container läuft, und dann Firewall, Hoster-Firewall und Router (Schritt 5). Läuft dein Server zu Hause, kann es sein, dass du von innen die öffentliche Adresse nicht erreichst; teste dann mit der lokalen IP.

Verbinden klappt, aber die Sprache ist verzögert.

Dann ist meist nur TCP offen, nicht UDP. Mumcord weicht dann automatisch auf TCP aus. Das funktioniert, ist aber langsamer. Gib auch UDP 64738 frei.

Ich habe das SuperUser-Passwort vergessen.

Trag in der .env ein neues ein und führe docker compose up -d aus. Der Server übernimmt es bei jedem Start.

Mehr Hilfe gibt es im Wiki und in den Issues auf GitHub. Wiki → Issues →