Self-hosted setup

Set up a Shmery server on your VPS.

This installer is meant for people who want a clean Shmery server without manually wiring Rust, systemd and config files together. Right now it targets Debian and Ubuntu machines with apt and systemd.

One command

curl -fsSL https://shmery.com/server/install.sh | sudo bash

The installer builds the Linux server on the target machine, chooses reachable ports when the defaults are already taken, starts it, then shows the owner claim token and the exact service commands for that instance. Running it again with the same system name updates that instance in place.

Supports Debian / Ubuntu + apt + systemd
Needs root or sudo
Service <system-name>-shmery
Ports Starts at TCP 7700 / UDP 7701, auto-picks free ports if needed

What it does

It handles the boring setup work.

01

Installs required packages

It prepares the machine with the packages needed to build and run the voice server.

02

Builds the server from the official source bundle

You are not downloading some mystery binary from a pastebin. The installer pulls the current Shmery source bundle and compiles the server on the target VPS.

03

Creates config, storage and systemd service

On a fresh install it sets up the service user, writes the server config, prepares persistent storage and installs a normal systemd unit for that instance. On updates it keeps the existing config, ports and database.

04

Checks ports, starts the server and prints the owner claim token

Before writing the fresh config it checks whether the selected TCP and UDP ports can actually bind on the machine. If a port is busy, it moves to the next available one and prints the final values in the success summary.

05

Prepares Shmery license checks

New instances start on the base 1000-slot tier. If you bind a higher license later, the server renews short leases through Shmery infrastructure and keeps a cached lease for temporary backend outages.

How to use it

Three steps. Nothing hidden.

1

Run the install command over SSH

Connect to your VPS, paste the command, then confirm the install. On a new instance the script asks for the public server name, the system name or service prefix and whether this server should connect to Shmery infrastructure. It suggests free voice ports automatically.

2

Wait for the build and first start

The first setup takes a bit longer because the machine compiles the server. When the service starts correctly, the installer prints a success summary with the exact instance-specific service name, config path and database path.

3

Claim the server owner token

Copy the printed owner claim token into Shmery. That token is required for the first ownership claim and should be kept private.

Default layout

The server starts with a sane structure.

VOICE

  • General
  • Public

TEXT

  • Chat
  • Informations

The two separators are created as centered break channels, so the fresh server is immediately readable instead of looking like raw placeholders.

After install

Useful commands you will actually need.

Enable autostart
sudo systemctl enable --now <system-name>-shmery

Use this after the first successful install if you want that instance to come back automatically after a reboot.

Start the server
sudo systemctl start <system-name>-shmery

Use this if the instance is installed but currently stopped.

Stop the server
sudo systemctl stop <system-name>-shmery

Use this before maintenance, before moving ports or if you want the instance offline without uninstalling it.

Restart the server
sudo systemctl restart <system-name>-shmery

Use this after editing config or when you want a clean service restart.

Check service status
sudo systemctl status <system-name>-shmery

Use this when you want the quick answer: is the server up and what did systemd say about it.

Tail logs
sudo journalctl -u <system-name>-shmery -f

Use this when something goes wrong or when you just want to watch startup logs live.

Notes

Things worth knowing before you install.

What if TCP 7700 or UDP 7701 is already used?

The installer checks the machine before writing the config. If the default ports are already used by Shmery, TeamSpeak or any other service, it suggests the next free TCP/UDP pair. If you manually type a busy port, it moves to the next available one before the final confirmation.

Does it configure the firewall?

If UFW is active, the installer asks before adding allow rules for the selected TCP and UDP ports. For custom firewall setups, it prints the final ports so you can allow them in your own rules.

Does it enable autostart by itself?

No. The installer starts the server immediately, but it does not force autostart. It prints the exact systemctl enable --now command at the end.

Can I run it on an already installed Shmery server?

Yes. If you use the same system name, the installer updates that instance in place and preserves its config and database. If you use a different system name and different ports, it creates a separate Shmery server on the same machine.

Do I need to connect it to Shmery infrastructure?

No. The server can run in local mode. Connecting it to Shmery infrastructure is optional, but account-only joins, aliases, badges, identity-backed features and paid license tiers require that connection.

How do server slots and licenses work?

The base license allows up to 1000 concurrent connected clients. Higher tiers are bound to one server ID and checked by the Shmery backend through short renewable leases: Basic 3000, Plus 5000, Pro 10000 and Max 50000 slots.

What happens if the Shmery backend is temporarily down?

The voice server keeps using the last valid cached lease during a limited offline grace period. When the backend returns, the server renews the lease again and rejects licenses that were moved, revoked or reused elsewhere.

What is the owner claim token for?

The first server owner claim. Without it, a fresh public server would be too easy to hijack. Treat it as sensitive setup data until the server is claimed.