Οδηγός

Στήσε τον δικό σου server Mumble

Το Mumcord δεν χρειάζεται ειδικό server: ένας απλός server Mumble αρκεί. Με το Docker ο δικός σου είναι έτοιμος σε περίπου 15 λεπτά, ακόμη κι αν δεν το έχεις κάνει ποτέ.

  • 64738 θύρα, TCP και UDP
  • 1 πυρήνας και 512 MB RAM αρκούν για δεκάδες άτομα
  • 0 € ανοιχτός κώδικας· πληρώνεις μόνο το μηχάνημα

Σε οκτώ βήματα

  1. Διάλεξε μηχάνημα

    Η πιο εύκολη επιλογή είναι ένας μικρός server Linux από πάροχο φιλοξενίας (ένα «VPS» για λίγα ευρώ τον μήνα). Τρέχει όλο το εικοσιτετράωρο και έχει σταθερή διεύθυνση. Λειτουργεί και ένας υπολογιστής στο σπίτι ή ένα Raspberry Pi· τότε πρέπει να ανοίξεις μια θύρα στον router σου (βήμα 5).

    Το Mumble χρειάζεται ελάχιστη ισχύ. Πιο σημαντική είναι η σύνδεση: κάθε άτομο που μιλάει χρησιμοποιεί περίπου 40–100 kbit/s.

  2. Εγκατάστησε το Docker

    Συνδέσου στον server μέσω SSH. Στο Linux αυτή η εντολή εγκαθιστά το Docker μαζί με το Compose. Σε Windows και macOS χρησιμοποίησε αντί γι' αυτό το Docker Desktop.

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

    Αν βλέπεις αριθμό έκδοσης, είσαι έτοιμος.

  3. Φτιάξε φάκελο και κωδικό

    Φτιάξε έναν φάκελο και δημιούργησε έναν τυχαίο κωδικό για τον λογαριασμό διαχειριστή 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=

    Αποθήκευσε το δεύτερο αρχείο ως .env και επικόλλησε τον κωδικό που δημιουργήθηκε (για παράδειγμα με nano .env). Αν δεν πρέπει να μπαίνει όποιος έχει τη διεύθυνση, όρισε ένα SERVER_PASSWORD και δώσ' το στην παρέα σου. Μετά, το chmod 600 .env κρατά τους άλλους χρήστες του μηχανήματος μακριά από το αρχείο.

  4. Το docker-compose.yml

    Αυτό το αρχείο μπαίνει στον ίδιο φάκελο ως docker-compose.yml. Άλλαξε το όνομα του server και το κείμενο καλωσορίσματος όπως θες· τα υπόλοιπα είναι εντάξει όπως είναι.

    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:

    Οι δύο τελευταίες ρυθμίσεις υπάρχουν για το Mumcord: οι επικολλημένες εικόνες μπορούν να είναι μεγαλύτερες και τα μεγάλα μηνύματα δεν κόβονται. Κάθε άλλη ρύθμιση ακολουθεί το ίδιο μοτίβο MUMBLE_CONFIG_…, δες την τεκμηρίωση του image.

  5. Ξεκίνα τον και άνοιξε τη θύρα

    Ξεκίνα τον server και ρίξε μια γρήγορη ματιά στο log:

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

    Μόλις γράψει Server listening on 0.0.0.0:64738, τρέχει. Τώρα η θύρα 64738 για TCP και UDP πρέπει να είναι προσβάσιμη απ' έξω:

    Server με firewall (για παράδειγμα ufw): sudo ufw allow 64738/tcp και sudo ufw allow 64738/udp. Κάποιοι πάροχοι έχουν επίσης firewall στον πίνακα ελέγχου πελάτη.

    Υπολογιστής στο σπίτι: ρύθμισε port forwarding στον router σου για 64738 TCP και UDP προς αυτόν τον υπολογιστή.

  6. Σύνδεση με το Mumcord

    Στο Mumcord, πάτα + στη μπάρα server και γράψε τη διεύθυνση IP ή το όνομα του server σου. Ένα όνομα είναι πιο ωραίο από μια IP: φτιάξε μια εγγραφή A στον πάροχο του domain σου, όπως voice.example.org, που να δείχνει στην IP.

    Στην πρώτη σύνδεση το Mumcord δείχνει το αποτύπωμα του πιστοποιητικού. Αυτό είναι αναμενόμενο: ο server δημιούργησε το δικό του πιστοποιητικό στην πρώτη εκκίνηση. Επιβεβαίωσέ το μία φορά· αν αλλάξει απροσδόκητα αργότερα, το Mumcord σε προειδοποιεί.

  7. Κάλεσε την παρέα σου

    Στείλε στην παρέα σου έναν σύνδεσμο. Με κλικ ανοίγει το Mumcord (ή οποιοδήποτε άλλο πρόγραμμα Mumble) και συνδέεται αμέσως· πρόσθεσε στο τέλος ένα όνομα καναλιού για να καταλήξουν στο σωστό κανάλι:

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

    Όποιος δεν έχει ακόμη Mumcord, το βρίσκει στο mumcord.app. Στείλε τον κωδικό του server χωριστά από τον σύνδεσμο.

  8. Ρύθμισε κανάλια και δικαιώματα

    Η δημιουργία καναλιών και η απόδοση δικαιωμάτων έρχονται στο Mumcord με το Epic 4. Ως τότε, χρησιμοποίησε μία φορά το επίσημο πρόγραμμα Mumble:

    1. Συνδέσου με όνομα χρήστη SuperUser και τον κωδικό από το .env.

    2. Δεξί κλικ στο κορυφαίο κανάλι → Προσθήκη, για κάθε κανάλι που θέλεις.

    3. Για να μη χρειάζεσαι κάθε φορά τον SuperUser: συνδέσου με το Mumcord με το δικό σου όνομα και πάτα το όνομά σου κάτω αριστερά → Εγγραφή σε αυτόν τον server. Μετά, ως SuperUser, κορυφαίο κανάλι → Επεξεργασία → Ομάδες → πρόσθεσε το όνομά σου στην ομάδα admin.

Συντήρηση και προβλήματα

Πώς ενημερώνω τον server;

Γράψε τη νέα έκδοση μετά το image: στο docker-compose.yml (δες τη λίστα στο Docker Hub), και μετά τρέξε docker compose pull και docker compose up -d. Τα κανάλια και οι εγγραφές διατηρούνται.

Πώς κρατάω αντίγραφο ασφαλείας;

Ό,τι μετράει βρίσκεται στο volume mumble_data. Παύση, πακετάρισμα, συνέχεια: docker compose stop, μετά docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . και τέλος docker compose start.

Κανείς δεν μπορεί να συνδεθεί στον server.

Σχεδόν πάντα η θύρα είναι κλειστή. Έλεγξε με docker compose ps ότι το container τρέχει, μετά το firewall, το firewall του παρόχου και τον router σου (βήμα 5). Αν ο server είναι στο σπίτι, ίσως να μην μπορείς να φτάσεις τη δημόσια διεύθυνση μέσα από το δικό σου δίκτυο· τότε δοκίμασε με την τοπική IP.

Η σύνδεση γίνεται, αλλά η φωνή καθυστερεί.

Συνήθως είναι ανοιχτό μόνο το TCP, όχι το UDP. Τότε το Mumcord περνά μόνο του σε TCP. Λειτουργεί, αλλά πιο αργά. Άνοιξε και τη UDP 64738.

Ξέχασα τον κωδικό του SuperUser.

Βάλε έναν νέο στο .env και τρέξε docker compose up -d. Ο server τον εφαρμόζει σε κάθε εκκίνηση.

Περισσότερη βοήθεια θα βρεις στο wiki και στα issues στο GitHub. Wiki → Issues →