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
-
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.
-
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 versionDacă vezi un număr de versiune, ești gata.
-
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 cunano .env). Dacă nu vrei să intre oricine are adresa, setează oSERVER_PASSWORDpe care o dai oamenilor tăi. Apoichmod 600 .envîi ține pe ceilalți utilizatori ai mașinii departe de fișier. -
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. -
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 outputCâ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șisudo 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.
-
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ă.
-
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/GamingCine nu are încă Mumcord îl găsește pe mumcord.app. Trimite parola serverului separat de link.
-
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 →