Juhend

Majuta oma Mumble-server

Mumcord ei vaja eriserverit: piisab tavalisest Mumble-serverist. Dockeriga on sinu oma püsti umbes 15 minutiga, isegi kui sa pole seda kunagi varem teinud.

  • 64738 port, TCP ja UDP
  • 1 tuum ja 512 MB RAM-i teenindavad kümneid inimesi
  • 0 € avatud lähtekood; maksad ainult masina eest

Kaheksa sammuga

  1. Vali masin

    Lihtsaim valik on väike Linuxi server majutusteenuse pakkujalt („VPS“ paari euro eest kuus). See töötab ööpäev läbi ja sellel on püsiv aadress. Sobib ka kodune arvuti või Raspberry Pi; siis pead oma ruuteris pordi avama (samm 5).

    Mumble vajab väga vähe võimsust. Olulisem on ühendus: iga rääkiv inimene kasutab umbes 40–100 kbit/s.

  2. Paigalda Docker

    Logi serverisse SSH kaudu sisse. Linuxis paigaldab see käsk Dockeri koos Compose'iga. Windowsis ja macOS-is kasuta selle asemel Docker Desktopi.

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

    Kui näed versiooninumbrit, oled valmis.

  3. Loo kaust ja parool

    Loo kaust ja genereeri administraatorikontole SuperUser juhuslik parool:

    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=

    Salvesta teine fail nimega .env ja kleebi sinna genereeritud parool (näiteks käsuga nano .env). Kui kõik, kellel on aadress, ei tohiks sisse pääseda, sea SERVER_PASSWORD, mille annad oma inimestele. Seejärel hoiab chmod 600 .env masina teised kasutajad failist eemal.

  4. docker-compose.yml

    See fail läheb samasse kausta nimega docker-compose.yml. Muuda serveri nime ja tervitusteksti oma soovi järgi; ülejäänu sobib nii, nagu on.

    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:

    Kaks viimast seadet on Mumcordi jaoks: kleebitud pildid võivad olla suuremad ja pikki sõnumeid ei lõigata ära. Kõik teised seaded järgivad sama mustrit MUMBLE_CONFIG_…, vaata tõmmise dokumentatsiooni.

  5. Käivita ja ava port

    Käivita server ja heida pilk logisse:

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

    Kui seal on kirjas Server listening on 0.0.0.0:64738, siis see töötab. Nüüd peab port 64738 TCP ja UDP jaoks olema väljast ligipääsetav:

    Server tulemüüriga (näiteks ufw): sudo ufw allow 64738/tcp ja sudo ufw allow 64738/udp. Mõnel teenusepakkujal on tulemüür ka kliendipaneelis.

    Kodune arvuti: seadista oma ruuteris pordi edasisuunamine 64738 TCP ja UDP jaoks sellele arvutile.

  6. Ühendu Mumcordiga

    Klõpsa Mumcordis serveriribal + ja sisesta oma serveri IP-aadress või nimi. Nimi on kenam kui IP: loo oma domeenipakkuja juures A-kirje, näiteks voice.example.org, mis viitab IP-le.

    Esimesel ühendumisel näitab Mumcord sertifikaadi sõrmejälge. See on ootuspärane: server lõi esimesel käivitusel oma sertifikaadi. Kinnita see üks kord; kui see hiljem ootamatult muutub, hoiatab Mumcord sind.

  7. Kutsu inimesi

    Saada oma inimestele link. Sellel klõpsamine avab Mumcordi (või mis tahes muu Mumble'i kliendi) ja ühendub kohe; lisa lõppu kanali nimi, et jõuda õigesse kanalisse:

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

    Kellel Mumcordi veel pole, leiab selle aadressilt mumcord.app. Saada serveri parool lingist eraldi.

  8. Seadista kanalid ja õigused

    Kanalite loomine ja õiguste jagamine jõuab Mumcordi koos Epic 4-ga. Seni kasuta ühe korra ametlikku Mumble'i klienti:

    1. Ühendu kasutajanimega SuperUser ja failis .env oleva parooliga.

    2. Paremklõps ülemisel kanalil → Lisa, iga soovitud kanali jaoks.

    3. Et sul poleks iga kord SuperUserit vaja: ühendu Mumcordiga oma nime all ja klõpsa all vasakul oma nimel → Registreeru selles serveris. Seejärel SuperUserina ülemine kanal → Muuda → Grupid → lisa oma nimi gruppi admin.

Hooldus ja probleemid

Kuidas serverit uuendada?

Kirjuta uus versioon failis docker-compose.yml rea image: järele (vaata nimekirja Docker Hubis), seejärel käivita docker compose pull ja docker compose up -d. Kanalid ja registreeringud säilivad.

Kuidas teha varukoopiat?

Kõik oluline asub köites mumble_data. Peata, paki, jätka: docker compose stop, siis docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . ja lõpuks docker compose start.

Keegi ei saa serveriga ühendust.

Peaaegu alati on port suletud. Kontrolli käsuga docker compose ps, et konteiner töötab, seejärel tulemüüri, teenusepakkuja tulemüüri ja oma ruuterit (samm 5). Kui server on kodus, ei pruugi sa avalikku aadressi oma võrgu seest kätte saada; testi siis kohaliku IP-ga.

Ühendus töötab, aga hääl hakib.

Tavaliselt on avatud ainult TCP, mitte UDP. Mumcord lülitub siis ise TCP-le. See töötab, aga on aeglasem. Ava ka UDP 64738.

Unustasin SuperUseri parooli.

Kirjuta uus parool faili .env ja käivita docker compose up -d. Server rakendab selle igal käivitusel.

Rohkem abi leiad vikist ja GitHubi issue'dest. Wiki → Issues →