Útmutató

Saját Mumble-szerver hosztolása

A Mumcordnak nem kell különleges szerver: egy sima Mumble-szerver is elég. Dockerrel a tiéd nagyjából 15 perc alatt elindul, akkor is, ha még sosem csináltál ilyet.

  • 64738 port, TCP és UDP
  • 1 mag és 512 MB RAM elég több tucat embernek
  • 0 € nyílt forráskód; csak a gépért fizetsz

Nyolc lépésben

  1. Válassz gépet

    A legegyszerűbb egy kis Linux-szerver egy tárhelyszolgáltatótól (egy „VPS” havi néhány euróért). Éjjel-nappal fut, és fix címe van. Egy otthoni számítógép vagy egy Raspberry Pi is megteszi; ilyenkor portot kell nyitnod a routereden (5. lépés).

    A Mumble-nek nagyon kevés teljesítmény kell. A kapcsolat fontosabb: minden beszélő nagyjából 40–100 kbit/s-ot használ.

  2. Telepítsd a Dockert

    Jelentkezz be a szerverre SSH-n. Linuxon ez a parancs telepíti a Dockert a Compose-zal együtt. Windowson és macOS-en inkább a Docker Desktopot használd.

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

    Ha verziószámot látsz, készen állsz.

  3. Hozz létre egy mappát és egy jelszót

    Hozz létre egy mappát, és generálj véletlenszerű jelszót a SuperUser adminfiókhoz:

    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=

    Mentsd a második fájlt .env néven, és illeszd be a generált jelszót (például a nano .env paranccsal). Ha nem mindenki léphet be, aki ismeri a címet, állíts be egy SERVER_PASSWORD jelszót, amit megadsz a társaidnak. Ezután a chmod 600 .env távol tartja a gép többi felhasználóját a fájltól.

  4. A docker-compose.yml

    Ez a fájl ugyanabba a mappába kerül docker-compose.yml néven. A szerver nevét és az üdvözlőszöveget kedved szerint módosíthatod; a többi jó úgy, ahogy van.

    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:

    Az utolsó két beállítás a Mumcord miatt van ott: a beillesztett képek nagyobbak lehetnek, a hosszú üzenetek pedig nem vágódnak le. Minden más beállítás ugyanazt a MUMBLE_CONFIG_… mintát követi, lásd az image dokumentációját.

  5. Indítsd el, és nyisd meg a portot

    Indítsd el a szervert, és vess egy gyors pillantást a naplóra:

    Terminal
    docker compose up -d
    docker compose logs -f   # Ctrl+C only stops the output

    Amint megjelenik a Server listening on 0.0.0.0:64738 sor, fut. Most a 64738-as portnak TCP-n és UDP-n kívülről is elérhetőnek kell lennie:

    Szerver tűzfallal (például ufw): sudo ufw allow 64738/tcp és sudo ufw allow 64738/udp. Egyes szolgáltatóknál az ügyfélpanelen is van tűzfal.

    Otthoni számítógép: állíts be porttovábbítást a routereden a 64738-as TCP- és UDP-portra erre a gépre.

  6. Csatlakozz a Mumcorddal

    A Mumcordban kattints a + gombra a szerversávon, és add meg a szervered IP-címét vagy nevét. Egy név szebb, mint egy IP: hozz létre egy A rekordot a domainszolgáltatódnál, például voice.example.org, amely az IP-re mutat.

    Az első csatlakozáskor a Mumcord megmutatja a tanúsítvány ujjlenyomatát. Ez várható: a szerver az első indításkor saját tanúsítványt hozott létre. Erősítsd meg egyszer; ha később váratlanul megváltozik, a Mumcord figyelmeztet.

  7. Hívd meg az embereket

    Küldj egy linket a társaidnak. Rákattintva megnyílik a Mumcord (vagy bármely más Mumble kliens), és azonnal csatlakozik; a végére írt csatornanévvel rögtön a megfelelő csatornába kerülnek:

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

    Akinek még nincs Mumcordja, a mumcord.app oldalon megtalálja. A szerverjelszót a linktől külön küldd el.

  8. Csatornák és jogosultságok beállítása

    A csatornák létrehozása és a jogosultságok kiosztása a 4. epickel érkezik a Mumcordba. Addig használd egyszer a hivatalos Mumble klienst:

    1. Csatlakozz a SuperUser felhasználónévvel és a .env fájlban lévő jelszóval.

    2. Jobb klikk a legfelső csatornára → Hozzáadás, minden kívánt csatornához.

    3. Hogy ne kelljen mindig SuperUserként belépned: csatlakozz a Mumcorddal a saját neveden, és kattints a nevedre bal alul → Regisztráció ezen a szerveren. Ezután SuperUserként: legfelső csatorna → Szerkesztés → Csoportok → add hozzá a nevedet az admin csoporthoz.

Karbantartás és problémák

Hogyan frissítem a szervert?

Írd az új verziót a docker-compose.yml fájlban az image: után (lásd a listát a Docker Hubon), majd futtasd a docker compose pull és a docker compose up -d parancsot. A csatornák és a regisztrációk megmaradnak.

Hogyan készítek biztonsági mentést?

Minden fontos a mumble_data kötetben van. Leállítás, becsomagolás, folytatás: docker compose stop, majd docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data ., végül docker compose start.

Senki sem éri el a szervert.

Szinte mindig zárva van a port. Ellenőrizd a docker compose ps paranccsal, hogy fut-e a konténer, aztán a tűzfalat, a szolgáltató tűzfalát és a routeredet (5. lépés). Ha a szerver otthon van, a saját hálózatodból lehet, hogy nem éred el a nyilvános címet; ilyenkor a helyi IP-vel tesztelj.

A csatlakozás működik, de a hang késik.

Általában csak a TCP van nyitva, az UDP nem. A Mumcord ilyenkor magától TCP-re vált. Ez működik, de lassabb. Nyisd meg az UDP 64738-at is.

Elfelejtettem a SuperUser jelszavát.

Írj egy újat a .env fájlba, és futtasd a docker compose up -d parancsot. A szerver minden indításkor átveszi.

További segítséget a wikiben és a GitHub issue-iban találsz. Wiki → Issues →