Vodnik
Postavi svoj strežnik Mumble
Mumcord ne potrebuje posebnega strežnika: dovolj je navaden strežnik Mumble. Z Dockerjem tvoj teče v približno 15 minutah, tudi če tega še nikoli nisi počel.
- 64738 vrata, TCP in UDP
- 1 jedro in 512 MB RAM-a zmoreta več deset ljudi
- 0 € odprta koda; plačaš samo računalnik
V osmih korakih
-
Izberi računalnik
Najlažja izbira je majhen strežnik Linux pri ponudniku gostovanja (»VPS« za nekaj evrov na mesec). Teče neprekinjeno in ima stalen naslov. Deluje tudi računalnik doma ali Raspberry Pi; takrat moraš na usmerjevalniku odpreti vrata (5. korak).
Mumble potrebuje zelo malo moči. Pomembnejša je povezava: vsaka oseba, ki govori, porabi približno 40–100 kbit/s.
-
Namesti Docker
Prijavi se na strežnik prek SSH. Na Linuxu ta ukaz namesti Docker skupaj s Compose. Na Windows in macOS namesto tega uporabi Docker Desktop.
Terminal curl -fsSL https://get.docker.com | sudo sh docker compose versionČe vidiš številko različice, si pripravljen.
-
Ustvari mapo in geslo
Ustvari mapo in ustvari naključno geslo za skrbniški račun
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=Drugo datoteko shrani kot
.envin vanjo prilepi ustvarjeno geslo (na primer znano .env). Če naj ne pride noter vsak, ki pozna naslov, nastaviSERVER_PASSWORD, ki ga daš svojim ljudem. Natochmod 600 .envprepreči drugim uporabnikom računalnika dostop do datoteke. -
Datoteka docker-compose.yml
Ta datoteka gre v isto mapo kot
docker-compose.yml. Ime strežnika in pozdravno besedilo spremeni po želji; ostalo je v redu, kot je.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:Zadnji dve nastavitvi sta tam zaradi Mumcorda: prilepljene slike so lahko večje in dolga sporočila se ne odrežejo. Vse druge nastavitve sledijo istemu vzorcu
MUMBLE_CONFIG_…, glej dokumentacijo slike. -
Zaženi ga in odpri vrata
Zaženi strežnik in na hitro poglej dnevnik:
Terminal docker compose up -d docker compose logs -f # Ctrl+C only stops the outputKo piše
Server listening on 0.0.0.0:64738, teče. Zdaj morajo biti vrata 64738 za TCP in UDP dosegljiva od zunaj:Strežnik s požarnim zidom (na primer ufw):
sudo ufw allow 64738/tcpinsudo ufw allow 64738/udp. Nekateri ponudniki imajo požarni zid tudi v svoji uporabniški plošči.Računalnik doma: na usmerjevalniku nastavi posredovanje vrat 64738 TCP in UDP na ta računalnik.
-
Poveži se z Mumcordom
V Mumcordu klikni + v vrstici strežnikov in vnesi IP-naslov ali ime svojega strežnika. Ime je lepše kot IP: pri ponudniku domene ustvari zapis A, na primer
voice.example.org, ki kaže na IP.Ob prvi povezavi Mumcord pokaže prstni odtis certifikata. To je pričakovano: strežnik je ob prvem zagonu ustvaril lasten certifikat. Enkrat ga potrdi; če se pozneje nepričakovano spremeni, te Mumcord opozori.
-
Povabi ljudi
Svojim ljudem pošlji povezavo. Klik nanjo odpre Mumcord (ali katerikoli drug odjemalec Mumble) in se takoj poveže; na koncu dodaj ime kanala, da pristanejo v pravem kanalu:
Terminal mumble://voice.example.org mumble://voice.example.org/GamingKdor Mumcorda še nima, ga najde na mumcord.app. Geslo strežnika pošlji ločeno od povezave.
-
Nastavi kanale in dovoljenja
Ustvarjanje kanalov in dodeljevanje dovoljenj pride v Mumcord z Epic 4. Do takrat enkrat uporabi uradni odjemalec Mumble:
1. Poveži se z uporabniškim imenom
SuperUserin geslom iz.env.2. Desni klik na zgornji kanal → Dodaj, za vsak kanal, ki ga želiš.
3. Da ne potrebuješ vsakič SuperUserja: poveži se z Mumcordom pod svojim imenom in klikni svoje ime spodaj levo → Registriraj se na tem strežniku. Nato kot SuperUser: zgornji kanal → Uredi → Skupine → dodaj svoje ime v skupino
admin.
Vzdrževanje in težave
Kako posodobim strežnik?
Novo različico vpiši za image: v docker-compose.yml (glej seznam na Docker Hub), nato zaženi docker compose pull in docker compose up -d. Kanali in registracije se ohranijo.
Kako naredim varnostno kopijo?
Vse pomembno je v nosilcu mumble_data. Ustavi, zapakiraj, nadaljuj: docker compose stop, nato docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . in na koncu docker compose start.
Nihče ne more doseči strežnika.
Skoraj vedno so vrata zaprta. Z docker compose ps preveri, ali vsebnik teče, nato preveri požarni zid, požarni zid ponudnika in usmerjevalnik (5. korak). Če je strežnik doma, javnega naslova iz lastnega omrežja morda ne dosežeš; takrat preizkusi z lokalnim IP-jem.
Povezava deluje, glas pa zaostaja.
Običajno je odprt samo TCP, ne pa UDP. Mumcord takrat sam preklopi na TCP. To deluje, a je počasneje. Odpri še UDP 64738.
Pozabil sem geslo za SuperUser.
Vpiši novo v .env in zaženi docker compose up -d. Strežnik ga uveljavi ob vsakem zagonu.
Več pomoči najdeš v wikiju in v prijavah (issues) na GitHubu. Wiki → Issues →