Ghid

Găzduiește-ți propriul server Mumble

Mumcord nu are nevoie de un server special: un server Mumble obișnuit e tot ce-ți trebuie. Cu Docker, al tău e gata în cam 15 minute, chiar dacă n-ai mai făcut asta niciodată.

  • 64738 port, TCP și UDP
  • 1 nucleu și 512 MB RAM duc zeci de oameni
  • 0 € open source; plătești doar mașina

În opt pași

  1. Alege o mașină

    Cea mai simplă variantă e un mic server Linux de la un provider de hosting (un „VPS” de câțiva euro pe lună). Merge non-stop și are o adresă fixă. Merge și un computer de acasă sau un Raspberry Pi; atunci trebuie să deschizi un port pe router (pasul 5).

    Mumble are nevoie de foarte puțină putere. Conexiunea contează mai mult: fiecare persoană care vorbește folosește cam 40–100 kbit/s.

  2. Instalează Docker

    Conectează-te la server prin SSH. Pe Linux, comanda asta instalează Docker, inclusiv Compose. Pe Windows și macOS folosește în schimb Docker Desktop.

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

    Dacă vezi un număr de versiune, ești gata.

  3. Creează un folder și o parolă

    Creează un folder și generează o parolă aleatorie pentru contul de admin 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=

    Salvează al doilea fișier ca .env și lipește în el parola generată (de exemplu cu nano .env). Dacă nu vrei să intre oricine are adresa, setează o SERVER_PASSWORD pe care o dai oamenilor tăi. Apoi chmod 600 .env îi ține pe ceilalți utilizatori ai mașinii departe de fișier.

  4. Fișierul docker-compose.yml

    Fișierul acesta merge în același folder, ca docker-compose.yml. Schimbă numele serverului și textul de bun venit cum vrei; restul e bun așa cum e.

    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:

    Ultimele două setări sunt acolo pentru Mumcord: imaginile lipite pot fi mai mari, iar mesajele lungi nu sunt tăiate. Orice altă setare urmează același tipar MUMBLE_CONFIG_…, vezi documentația imaginii.

  5. Pornește-l și deschide portul

    Pornește serverul și aruncă o privire rapidă în log:

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

    Când apare Server listening on 0.0.0.0:64738, rulează. Acum portul 64738 pentru TCP și UDP trebuie să fie accesibil din exterior:

    Server cu firewall (de exemplu ufw): sudo ufw allow 64738/tcp și sudo ufw allow 64738/udp. Unii provideri au și un firewall în panoul de client.

    Computer acasă: configurează pe router redirecționarea portului 64738 TCP și UDP către acest computer.

  6. Conectează-te cu Mumcord

    În Mumcord, dă clic pe + în bara de servere și introdu adresa IP sau numele serverului tău. Un nume e mai frumos decât un IP: creează la providerul domeniului o înregistrare A, de exemplu voice.example.org, care trimite la IP.

    La prima conectare, Mumcord îți arată amprenta certificatului. E normal: serverul și-a creat propriul certificat la prima pornire. Confirm-o o dată; dacă se schimbă neașteptat mai târziu, Mumcord te avertizează.

  7. Invită oameni

    Trimite-le oamenilor tăi un link. Un clic pe el deschide Mumcord (sau orice alt client Mumble) și se conectează imediat; adaugă la final numele unui canal ca să ajungă direct în canalul potrivit:

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

    Cine nu are încă Mumcord îl găsește pe mumcord.app. Trimite parola serverului separat de link.

  8. Configurează canale și permisiuni

    Crearea canalelor și acordarea permisiunilor vin în Mumcord cu Epic 4. Până atunci, folosește o dată clientul oficial Mumble:

    1. Conectează-te cu numele de utilizator SuperUser și parola din .env.

    2. Clic dreapta pe canalul de sus → Adaugă, pentru fiecare canal dorit.

    3. Ca să nu ai nevoie de SuperUser de fiecare dată: conectează-te cu Mumcord sub propriul nume și dă clic pe numele tău din stânga jos → Înregistrează-te pe acest server. Apoi, ca SuperUser, canalul de sus → Editează → Grupuri → adaugă-ți numele în grupul admin.

Întreținere și probleme

Cum actualizez serverul?

Pune noua versiune după image: în docker-compose.yml (vezi lista pe Docker Hub), apoi rulează docker compose pull și docker compose up -d. Canalele și înregistrările se păstrează.

Cum fac un backup?

Tot ce contează stă în volumul mumble_data. Pauză, împachetare, repornire: docker compose stop, apoi docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . și la final docker compose start.

Nimeni nu poate ajunge la server.

Aproape mereu portul e închis. Verifică cu docker compose ps că rulează containerul, apoi firewallul, firewallul providerului și routerul (pasul 5). Dacă serverul e acasă, s-ar putea să nu ajungi la adresa publică din propria rețea; testează atunci cu IP-ul local.

Conectarea merge, dar vocea are lag.

De obicei e deschis doar TCP, nu și UDP. Atunci Mumcord trece singur pe TCP. Merge, dar e mai lent. Deschide și UDP 64738.

Am uitat parola SuperUser.

Pune una nouă în .env și rulează docker compose up -d. Serverul o aplică la fiecare pornire.

Mai mult ajutor găsești în wiki și în issue-urile de pe GitHub. Wiki → Issues →