self hosted voice & chat

Ditch Discord.
Run your own voice server.

A VPS and ten minutes gets you a Mumble or TeamSpeak server you actually own. No data harvesting, no Electron bloat, no account bans, no outages. Just crystal clear voice that stays up because you control it.

  • ~20 MBserver RAM at idle
  • <30 mstypical voice latency
  • $4/moa VPS that runs it all
  • 10 mininstall to first connect
pick your weapon

Three servers. Zero middlemen.

Every option on this page runs on a VPS you rent and control. No lock in, no subscription, no company reading your channels. Pick the shape that fits your group.

[ 01 ] lightweight voice

Mumble

Open source, lowest latency, positional audio, ~20 MB RAM at idle. The pick for serious gaming and ops comms where you want the lightest thing that just works.

Mumble setup guide →

[ 02 ] classic community server

TeamSpeak 3

The server browser era vibe. Channels, permissions, file transfer, query interface. Lighter than Mumble in some ways and used by clans for nearly two decades.

TeamSpeak 3 setup →

[ 03 ] discord shaped, self hosted

TeamSpeak 6

The new client. Channels and categories, text chat, friends list, voice. Discord's layout, except it lives on your server. Heavier than Mumble, full community platform.

TeamSpeak 6 setup →

tl;dr

Why Discord loses

Discord is convenient. It is also a closed, for-profit platform that scans your channels, ships a locked down client, and can nuke your community overnight. Self hosting flips all of that.

01

They read your channels

Closed US backend, no end-to-end encryption, ML training on your content. Your "private" server is private only in the UI.

02

Your account is not yours

One ban or hack takes every server, DM, and contact with it. There is no key you control and no appeal process that matters.

03

It's a browser wearing an app

Chromium with extra steps. Hundreds of MB of RAM to render a chat window. Mumble's native client idles around 30 MB.

04

Voice routes through their edge

Discord picks the region for you. A self hosted box sits next to your players and stays there. Deterministic, measurable, sub-30 ms.

05

You don't own the community

Your server is a row in their database. Self host and you own the box, the backups, the limits, and the portability.

06

"Free" is a business model

Your data and attention are the product. A $4-$6 VPS runs all three servers for less than one Nitro sub - and it's just a Linux box you can use for anything.

~30 MB
Mumble client idle
~400 MB
Discord client idle
~20 MB
Mumble server idle
$4-6
vs $10 Nitro / month
side by side

How they actually compare

No marketing fluff. The real differences that change which one you pick.

Feature Discord Mumble TeamSpeak 3 TeamSpeak 6
Self hostednoyesyesyes
Own your datanoyesyesyes
Voice latencymedvery lowvery lowlow
Text chatyesbasicbasicyes
Categories / channelsyestreetreeyes
Friends / presenceyesnomanualyes
Server RAM at idle>300 MB~20 MB~40 MB~120 MB
Open source servernoyesnono
Open source clientsnoyesyesyes
Account bans affect youyesnonono
Fits on a $5 VPSn/ayesyestight
do it in ten minutes

Setup guides

Each guide runs on any Debian or Ubuntu VPS with SSH access. Copy the commands, paste, done. Need a box first? Pick a VPS host.

Mumble - open source voice, ~20 MB RAM

Mumble is open source voice chat built for low latency and minimal overhead. The server is called Murmur, it speaks Opus, and it idles around 20 MB of RAM. The lightest, fastest thing that just works.

walk-through youtube
  1. Install the server

    On Debian and Ubuntu the package is mumble-server. Some older docs call it murmur - same software, newer packaging.

    install
    root@voice-host:~$ apt update
    root@voice-host:~$ apt install -y mumble-server
    # pulls in the binary, config, and a systemd unit named mumble-server
  2. Configure Murmur

    Edit /etc/mumble-server.ini and set the values that matter. The defaults work, but you want a few changed:

    /etc/mumble-server.ini
    # name shown at the top of the channel tree
    registerName=My Crew
    
    # welcome message shown on connect
    welcometext="<br /><b>welcome to my mumble</b><br />mind your mic."
    
    # voice (UDP) and control (TCP) port. default is 64738.
    port=64738
    
    # max users. 100 is plenty for a clan.
    users=100
    
    # bandwidth per user in bits/sec. 72000 is high quality opus.
    bandwidth=72000
    apply config
    root@voice-host:~$ systemctl restart mumble-server
    root@voice-host:~$ systemctl status mumble-server
    Active: active (running)
  3. Set the SuperUser password

    Murmur's built-in admin account is called SuperUser. It manages channels and permissions from a client. Set its password once, before anything else:

    set superuser password
    root@voice-host:~$ mumble-server -supw 'pick-a-long-random-password'
    SuperUser password set
  4. Firewall and DNS

    Murmur listens on port 64738 for UDP (voice) and TCP (control). Open both:

    ufw rules
    root@voice-host:~$ ufw allow 64738/udp
    root@voice-host:~$ ufw allow 64738/tcp
    root@voice-host:~$ ufw reload

    Add an A record for voice.yourdomain.com pointing at the VPS IP. Verify it's listening:

    verify
    root@voice-host:~$ ss -lunp | grep 64738
    udp  UNRECV 0  0  0.0.0.0:64738  users:(("mumble-server",pid=...))
    root@voice-host:~$ ss -ltnp | grep 64738
    tcp  LISTEN 0  0  0.0.0.0:64738  users:(("mumble-server",pid=...))
    cloudflare proxy gotcha

    If your domain is behind the Cloudflare proxy (orange cloud), do not proxy the voice record - it only forwards HTTP/HTTPS, not UDP. Set it to DNS only (grey cloud), or just have clients connect to the raw VPS IP. This applies to every guide here.

  5. Connect with a client

    Grab the official client from mumble.info, or Mumla (Android) / MumbleAF (iOS). Run the audio wizard and certificate wizard once, then Server → Connect - address voice.yourdomain.com, port 64738. Right-click the server name and Register to keep your identity. A self-signed cert warning on first connect is expected; accept it for your own server.

  6. Channels and permissions

    Log in as SuperUser from the client. Right-click the root channel to Add channels and Edit passwords and limits. The Groups and ACL tabs set who can do what - build a small admin group once and you rarely log in as SuperUser again. Mumble has no Discord-style roles; think groups of registered users plus per-channel ACLs.

  7. Optional: TLS & where to go next

    Remove the self-signed warning with a Let's Encrypt cert: certbot certonly --standalone -d voice.yourdomain.com, then point sslCert= and sslKey= at the cert paths in the ini. Worth doing after it's live: back up /var/lib/mumble-server/mumble-server.sqlite (channels, users, ACLs), tune bandwidth down to 40000 for bad connections, and enable positional audio in the client for supported games.

where to run it

Two VPS hosts worth your money

You don't need anything fancy. A 1 GB Linux box runs Mumble or TeamSpeak 3 with room to spare. These two are the picks I use.

Contabo

Best price per GB on the market. Loads of RAM for big communities and multiple servers on one box.

vCPU4
RAM8 GB
Storage100 GB SSD
From$5.50/mo
  • Runs every server in these guides simultaneously
  • EU, US, Asia, and Singapore regions
  • Cheapest price for the specs you get

+ best for

  • One box, every server, spare headroom
  • Big clan voice with file transfer on
  • Tight monthly budget

− watch for

  • Monthly billed, not hourly
  • Setup fee on some short cycles
  • CPU is shared, bursts vary

Get Contabo →

Kamatera

Hourly billing, 13 data centers, custom configs. Great for a tiny box or a region close to your players.

vCPU1+
RAM1 GB+
StorageSSD / NVMe
From$4/mo
  • Per-second billing, perfect for a LAN weekend
  • Configure CPU and RAM to the exact number
  • 13 regions, 30 day free trial, no commitment

+ best for

  • Nailing the lowest ping in your region
  • Short lived or resizeable voice boxes
  • Trying a server out before going long

− watch for

  • Specs cost more per GB than Contabo
  • Custom configs add up fast if you over-provision
  • Traffic allowance lowers at higher tiers

Get Kamatera →

Right size it

Mumble and TeamSpeak 3 idle around 20-40 MB each. TS6 sits closer to 120 MB plus chat history. A 1 GB box handles Mumble + TS3 side by side. Move to 2 GB once you add TS6 and a web server.

Set up Mumble → Set up TeamSpeak

Disclosure: the host links above are affiliate referrals. They cost you nothing and keep this site ad free and tracker free.

quick answers

Frequently asked questions

The things people ask before they self host. Short versions, the details are in the guides above.

What is Mumble?

Mumble is open source voice chat built for low latency and minimal overhead. The server software is called Murmur, it uses the Opus codec, supports positional audio in games, and idles around 20 MB of RAM. See the Mumble setup guide.

Mumble vs TeamSpeak - which should I pick?

Mumble if you want the lightest, lowest latency pure voice server. TeamSpeak 3 if you want the classic channel and permission server. TeamSpeak 6 if you want a Discord style layout with text channels, categories, and a friends list. Many groups run both: Mumble for ops, TS6 for the casual hangout. See the full comparison.

Do I need a VPS?

Yes. A Linux VPS you control is the point of self hosting - you rent the box, you own the server. Any 1 GB Debian or Ubuntu VPS runs Mumble or TeamSpeak 3 with room to spare. See the host picks.

What does self hosting cost?

Just the VPS, typically $4-$6 per month - less than a single Discord Nitro subscription. The software is free: Mumble is open source, and TeamSpeak is free for personal and small clan use. See the official TeamSpeak licensing page for the details.

Is self hosting really free?

The servers are free to run. You pay for the VPS hardware and for your time setting it up - roughly ten minutes per server with these guides. There are no per-user fees and nothing is behind a paywall like Nitro.

Can I run all three servers at once?

Yes. Murmur, TeamSpeak 3, and TeamSpeak 6 all fit on a single 2 GB box: one IP, three ports, three communities if you want. Each has its own systemd service.