Guía

Monta tu propio servidor Mumble

Mumcord no necesita un servidor especial: basta con un servidor Mumble normal y corriente. Con Docker, el tuyo estará en marcha en unos 15 minutos, aunque nunca lo hayas hecho antes.

  • 64738 puerto, TCP y UDP
  • 1 núcleo y 512 MB de RAM bastan para decenas de personas
  • 0 € código abierto; solo pagas la máquina

En ocho pasos

  1. Elige una máquina

    Lo más fácil es un pequeño servidor Linux de un proveedor de alojamiento (un «VPS» por unos pocos euros al mes). Funciona las 24 horas y tiene una dirección fija. También sirve un ordenador en casa o una Raspberry Pi; en ese caso tendrás que abrir un puerto en tu router (paso 5).

    Mumble necesita muy poca potencia. Importa más la conexión: cada persona que habla usa unos 40–100 kbit/s.

  2. Instala Docker

    Entra en el servidor por SSH. En Linux, este comando instala Docker, incluido Compose. En Windows y macOS, usa Docker Desktop.

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

    Si ves un número de versión, ya está todo listo.

  3. Crea una carpeta y una contraseña

    Crea una carpeta y genera una contraseña aleatoria para la cuenta de administración 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=

    Guarda el segundo archivo como .env y pega la contraseña generada (por ejemplo, con nano .env). Si no quieres que entre cualquiera que tenga la dirección, define una SERVER_PASSWORD y dásela a tu gente. Después, chmod 600 .env impide que otros usuarios de la máquina accedan al archivo.

  4. El docker-compose.yml

    Este archivo va en la misma carpeta, como docker-compose.yml. Cambia el nombre del servidor y el texto de bienvenida a tu gusto; el resto está bien como está.

    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:

    Los dos últimos ajustes están ahí para Mumcord: las imágenes pegadas pueden ser más grandes y los mensajes largos no se cortan. Todos los demás ajustes siguen el mismo patrón MUMBLE_CONFIG_…; consulta la documentación de la imagen.

  5. Arráncalo y abre el puerto

    Arranca el servidor y echa un vistazo rápido al registro:

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

    Cuando ponga Server listening on 0.0.0.0:64738, ya está en marcha. Ahora el puerto 64738 para TCP y UDP tiene que ser accesible desde fuera:

    Servidor con cortafuegos (por ejemplo, ufw): sudo ufw allow 64738/tcp y sudo ufw allow 64738/udp. Algunos proveedores tienen además un cortafuegos en su panel de cliente.

    Ordenador en casa: configura en tu router una redirección de puertos de 64738 TCP y UDP hacia este ordenador.

  6. Conéctate con Mumcord

    En Mumcord, haz clic en + en la barra de servidores e introduce la dirección IP o el nombre de tu servidor. Un nombre queda mejor que una IP: crea un registro A en tu proveedor de dominio, por ejemplo voice.example.org, que apunte a la IP.

    Al conectarte por primera vez, Mumcord muestra la huella digital del certificado. Es lo esperado: el servidor creó su propio certificado al arrancar por primera vez. Confírmalo una vez; si más adelante cambia de forma inesperada, Mumcord te avisará.

  7. Invita a tu gente

    Envía un enlace a tu gente. Al hacer clic se abre Mumcord (o cualquier otro cliente de Mumble) y se conecta al momento; añade un nombre de canal al final para llegar al canal correcto:

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

    Quien aún no tenga Mumcord lo encontrará en mumcord.app. Envía la contraseña del servidor por separado, no junto con el enlace.

  8. Configura canales y permisos

    Crear canales y repartir permisos llegará a Mumcord con la Épica 4. Hasta entonces, usa una vez el cliente oficial de Mumble:

    1. Conéctate con el nombre de usuario SuperUser y la contraseña de .env.

    2. Clic derecho en el canal superior → Añadir, para cada canal que quieras.

    3. Para no necesitar SuperUser cada vez: conéctate con Mumcord con tu propio nombre y haz clic en tu nombre abajo a la izquierda → Registrarse en este servidor. Después, como SuperUser, canal superior → Editar → Grupos → añade tu nombre al grupo admin.

Mantenimiento y problemas

¿Cómo actualizo el servidor?

Pon la nueva versión detrás de image: en docker-compose.yml (consulta la lista en Docker Hub) y luego ejecuta docker compose pull y docker compose up -d. Los canales y los registros se conservan.

¿Cómo hago una copia de seguridad?

Todo lo importante está en el volumen mumble_data. Pausa, empaqueta y reanuda: docker compose stop, luego docker run --rm -v mumble_data:/data -v "$PWD":/backup alpine tar czf /backup/mumble-backup.tar.gz -C /data . y, por último, docker compose start.

Nadie puede conectarse al servidor.

Casi siempre es que el puerto está cerrado. Comprueba con docker compose ps que el contenedor está en marcha, y luego el cortafuegos, el cortafuegos del proveedor y tu router (paso 5). Si el servidor está en casa, puede que no llegues a la dirección pública desde tu propia red; en ese caso, prueba con la IP local.

La conexión funciona, pero la voz va con retraso.

Normalmente solo está abierto TCP, no UDP. Entonces Mumcord recurre a TCP por sí solo. Funciona, pero es más lento. Abre también UDP 64738.

He olvidado la contraseña de SuperUser.

Pon una nueva en .env y ejecuta docker compose up -d. El servidor la aplica en cada inicio.

Tienes más ayuda en la wiki y en las issues de GitHub. Wiki → Issues →