Handleiding
Host je eigen Mumble-server
Mumcord heeft geen speciale server nodig: een gewone Mumble-server is genoeg. Met Docker draait die van jou in ongeveer 15 minuten, ook als je dit nog nooit hebt gedaan.
- 64738 poort, TCP en UDP
- 1 core en 512 MB RAM zijn genoeg voor tientallen mensen
- €0 open source; je betaalt alleen voor de machine
In acht stappen
-
Kies een machine
Het makkelijkst is een kleine Linux-server bij een hostingprovider (een „VPS” voor een paar euro per maand). Die draait dag en nacht en heeft een vast adres. Een computer thuis of een Raspberry Pi kan ook; dan moet je een poort openzetten op je router (stap 5).
Mumble heeft heel weinig rekenkracht nodig. De verbinding is belangrijker: elke persoon die praat, gebruikt ongeveer 40–100 kbit/s.
-
Installeer Docker
Log via SSH in op de server. Op Linux installeert dit commando Docker inclusief Compose. Gebruik op Windows en macOS in plaats daarvan Docker Desktop.
Terminal curl -fsSL https://get.docker.com | sudo sh docker compose versionZie je een versienummer, dan ben je klaar.
-
Maak een map en een wachtwoord aan
Maak een map aan en genereer een willekeurig wachtwoord voor het beheerdersaccount
SuperUser:Terminal mkdir -p ~/mumble && cd ~/mumble openssl rand -base64 24.env # Stays on the server. Never share it in Git, chats or screenshots. SUPERUSER_PASSWORD=paste-the-random-password-here SERVER_PASSWORD=Sla het tweede bestand op als
.enven plak er het gegenereerde wachtwoord in (bijvoorbeeld metnano .env). Mag niet iedereen met het adres erin, stel dan eenSERVER_PASSWORDin dat je aan je mensen geeft. Daarna zorgtchmod 600 .envervoor dat andere gebruikers van de machine het bestand niet kunnen lezen. -
De docker-compose.yml
Dit bestand komt in dezelfde map als
docker-compose.yml. Pas de servernaam en de welkomsttekst aan zoals je wilt; de rest is prima zoals het is.docker-compose.yml # Mumble server for Mumcord and any other Mumble client name: mumble services: mumble-server: image: mumblevoip/mumble-server:v1.5.735 # pinned version; raise it here to update restart: unless-stopped ports: - "64738:64738/tcp" # connection and chat - "64738:64738/udp" # voice volumes: - data:/data # channels, registrations and certificate environment: # Passwords come from the .env file next to this one, never straight in here. MUMBLE_SUPERUSER_PASSWORD: ${SUPERUSER_PASSWORD:?SUPERUSER_PASSWORD is missing in .env} MUMBLE_CONFIG_SERVER_PASSWORD: ${SERVER_PASSWORD:-} # empty = anyone with the address can join MUMBLE_CONFIG_REGISTER_NAME: "Our Server" # name of the top channel MUMBLE_CONFIG_WELCOME_TEXT: "Welcome! Say hi in the chat." # pinned at the top of the chat in Mumcord MUMBLE_CONFIG_USERS: "50" # at most this many at once MUMBLE_CONFIG_IMAGE_MESSAGE_LENGTH: "1048576" # images in chat up to 1 MB (default: 128 KB) MUMBLE_CONFIG_TEXT_MESSAGE_LENGTH: "10000" # longer messages (default: 5000 characters) volumes: data:De laatste twee instellingen zijn er voor Mumcord: geplakte afbeeldingen mogen groter zijn, en lange berichten worden niet afgekapt. Elke andere instelling volgt hetzelfde patroon
MUMBLE_CONFIG_…, zie de documentatie van de image. -
Start de server en zet de poort open
Start de server en kijk even in het log:
Terminal docker compose up -d docker compose logs -f # Ctrl+C only stops the outputStaat er
Server listening on 0.0.0.0:64738, dan draait hij. Nu moet poort 64738 voor TCP en UDP van buitenaf bereikbaar zijn:Server met een firewall (bijvoorbeeld ufw):
sudo ufw allow 64738/tcpensudo ufw allow 64738/udp. Sommige providers hebben ook een firewall in hun klantenpaneel.Computer thuis: stel op je router port forwarding in voor 64738 TCP en UDP naar deze computer.
-
Verbind met Mumcord
Klik in Mumcord op + in de serverbalk en voer het IP-adres of de naam van je server in. Een naam is fijner dan een IP-adres: maak bij je domeinprovider een A-record aan, zoals
voice.example.org, dat naar het IP-adres wijst.Bij de eerste verbinding toont Mumcord de vingerafdruk van het certificaat. Dat hoort zo: de server heeft bij de eerste start zijn eigen certificaat aangemaakt. Bevestig het één keer; verandert het later onverwacht, dan waarschuwt Mumcord je.
-
Nodig mensen uit
Stuur je mensen een link. Een klik erop opent Mumcord (of een andere Mumble-client) en verbindt meteen; zet een kanaalnaam aan het eind om in het juiste kanaal uit te komen:
Terminal mumble://voice.example.org mumble://voice.example.org/GamingWie Mumcord nog niet heeft, vindt het op mumcord.app. Stuur een serverwachtwoord apart van de link.
-
Kanalen en rechten instellen
Kanalen aanmaken en rechten uitdelen komt naar Mumcord met Epic 4. Gebruik tot die tijd één keer de officiële Mumble-client:
1. Verbind met de gebruikersnaam
SuperUseren het wachtwoord uit.env.2. Rechtsklik op het bovenste kanaal → Toevoegen, voor elk kanaal dat je wilt.
3. Zodat je niet elke keer SuperUser nodig hebt: verbind met Mumcord onder je eigen naam en klik linksonder op je naam → Registreren op deze server. Daarna, als SuperUser: bovenste kanaal → Bewerken → Groepen → voeg je naam toe aan de groep
admin.
Onderhoud en problemen
Hoe update ik de server?
Zet de nieuwe versie achter image: in docker-compose.yml (zie de lijst op Docker Hub) en voer dan docker compose pull en docker compose up -d uit. Kanalen en registraties blijven behouden.
Hoe maak ik een back-up?
Alles wat ertoe doet, staat in het volume mumble_data. Pauzeren, inpakken, verdergaan: docker compose stop, dan docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . en tot slot docker compose start.
Niemand kan de server bereiken.
Bijna altijd is de poort dicht. Controleer met docker compose ps of de container draait, en dan de firewall, de firewall van je provider en je router (stap 5). Staat de server thuis, dan kun je het openbare adres vanuit je eigen netwerk misschien niet bereiken; test dan met het lokale IP-adres.
Verbinden lukt, maar de spraak hapert.
Meestal staat alleen TCP open en UDP niet. Mumcord valt dan vanzelf terug op TCP. Dat werkt, maar is trager. Zet ook UDP 64738 open.
Ik ben het SuperUser-wachtwoord vergeten.
Zet een nieuw wachtwoord in .env en voer docker compose up -d uit. De server neemt het bij elke start over.
Meer hulp vind je in de wiki en in de issues op GitHub. Wiki → Issues →