Opas

Pystytä oma Mumble-palvelin

Mumcord ei tarvitse erityistä palvelinta: tavallinen Mumble-palvelin riittää. Dockerilla omasi on pystyssä noin 15 minuutissa, vaikka et olisi koskaan tehnyt tällaista.

  • 64738 portti, TCP ja UDP
  • 1 ydin ja 512 Mt RAM-muistia riittävät kymmenille ihmisille
  • 0 € avointa lähdekoodia; maksat vain koneesta

Kahdeksassa vaiheessa

  1. Valitse kone

    Helpoin valinta on pieni Linux-palvelin hosting-palvelusta (”VPS” muutamalla eurolla kuussa). Se on käynnissä vuorokauden ympäri ja sillä on kiinteä osoite. Myös kotikone tai Raspberry Pi käy; silloin sinun on avattava portti reitittimestäsi (vaihe 5).

    Mumble tarvitsee hyvin vähän tehoa. Yhteys on tärkeämpi: jokainen puhuja käyttää noin 40–100 kbit/s.

  2. Asenna Docker

    Kirjaudu palvelimelle SSH:lla. Linuxissa tämä komento asentaa Dockerin Composen kera. Windowsissa ja macOS:llä käytä sen sijaan Docker Desktopia.

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

    Jos näet versionumeron, olet valmis.

  3. Luo kansio ja salasana

    Luo kansio ja generoi satunnainen salasana ylläpitäjätilille 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=

    Tallenna toinen tiedosto nimellä .env ja liitä siihen generoitu salasana (esimerkiksi nano .env). Jos kaikkien osoitteen tietävien ei pidä päästä sisään, aseta SERVER_PASSWORD, jonka annat porukallesi. Sen jälkeen chmod 600 .env pitää koneen muut käyttäjät poissa tiedostosta.

  4. docker-compose.yml

    Tämä tiedosto tulee samaan kansioon nimellä docker-compose.yml. Muuta palvelimen nimeä ja tervetulotekstiä mielesi mukaan; muu on hyvä sellaisenaan.

    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:

    Kaksi viimeistä asetusta ovat Mumcordia varten: liitetyt kuvat saavat olla isompia, eikä pitkiä viestejä katkaista. Kaikki muut asetukset noudattavat samaa MUMBLE_CONFIG_…-kaavaa, katso imagen dokumentaatio.

  5. Käynnistä ja avaa portti

    Käynnistä palvelin ja vilkaise lokia:

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

    Kun siinä lukee Server listening on 0.0.0.0:64738, palvelin on käynnissä. Nyt portin 64738 TCP:lle ja UDP:lle on oltava tavoitettavissa ulkoa:

    Palvelin, jossa on palomuuri (esimerkiksi ufw): sudo ufw allow 64738/tcp ja sudo ufw allow 64738/udp. Joillakin palveluntarjoajilla on palomuuri myös asiakaspaneelissa.

    Kotikone: määritä reitittimeesi porttiohjaus 64738 TCP ja UDP tälle koneelle.

  6. Yhdistä Mumcordilla

    Klikkaa Mumcordissa palvelinpalkin +-painiketta ja syötä palvelimesi IP-osoite tai nimi. Nimi on mukavampi kuin IP: luo verkkotunnuksesi palveluntarjoajalla A-tietue, esimerkiksi voice.example.org, joka osoittaa IP-osoitteeseen.

    Ensimmäisellä yhdistämiskerralla Mumcord näyttää varmenteen sormenjäljen. Se on odotettua: palvelin loi oman varmenteensa ensimmäisellä käynnistyksellä. Vahvista se kerran; jos se myöhemmin muuttuu odottamatta, Mumcord varoittaa sinua.

  7. Kutsu ihmisiä

    Lähetä porukallesi linkki. Sitä klikkaamalla Mumcord (tai mikä tahansa muu Mumble-sovellus) aukeaa ja yhdistää heti; lisää loppuun kanavan nimi, niin päädyt oikealle kanavalle:

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

    Jolla ei vielä ole Mumcordia, löytää sen osoitteesta mumcord.app. Lähetä palvelimen salasana erikseen linkistä.

  8. Määritä kanavat ja oikeudet

    Kanavien luonti ja oikeuksien jakaminen tulevat Mumcordiin Epic 4:n myötä. Siihen asti käytä kerran virallista Mumble-sovellusta:

    1. Yhdistä käyttäjänimellä SuperUser ja tiedoston .env salasanalla.

    2. Klikkaa ylintä kanavaa hiiren oikealla → Lisää, jokaista haluamaasi kanavaa varten.

    3. Jottei SuperUseria tarvita joka kerta: yhdistä Mumcordilla omalla nimelläsi ja klikkaa nimeäsi vasemmassa alakulmassa → Rekisteröidy tälle palvelimelle. Sitten SuperUserina ylin kanava → Muokkaa → Ryhmät → lisää nimesi admin-ryhmään.

Ylläpito ja ongelmat

Miten päivitän palvelimen?

Kirjoita uusi versio image:-rivin perään tiedostoon docker-compose.yml (katso lista Docker Hubista) ja aja sitten docker compose pull ja docker compose up -d. Kanavat ja rekisteröinnit säilyvät.

Miten teen varmuuskopion?

Kaikki olennainen on mumble_data-volyymissa. Pysäytä, pakkaa, jatka: docker compose stop, sitten docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . ja lopuksi docker compose start.

Kukaan ei saa yhteyttä palvelimeen.

Lähes aina portti on kiinni. Tarkista docker compose ps -komennolla, että kontti on käynnissä, sitten palomuuri, palveluntarjoajan palomuuri ja reitittimesi (vaihe 5). Jos palvelin on kotona, julkinen osoite ei välttämättä toimi oman verkkosi sisältä; testaa silloin paikallisella IP-osoitteella.

Yhdistäminen toimii, mutta puhe lagaa.

Yleensä vain TCP on auki, ei UDP. Mumcord siirtyy silloin itsestään TCP:hen. Se toimii, mutta on hitaampaa. Avaa myös UDP 64738.

Unohdin SuperUserin salasanan.

Kirjoita uusi tiedostoon .env ja aja docker compose up -d. Palvelin ottaa sen käyttöön joka käynnistyksessä.

Lisää apua löytyy wikistä ja GitHubin issueista. Wiki → Issues →