Run Twring on your own server

One command sets it up, with your own speech account. Your chats, files and agents stay on your server, and so do your calls unless your server uses Twring's audio service. You use the same Twring app on your phone (the app update that connects to your own server is coming).

Who it is for

Developers and teams who already run agents like Hermes on a VPS or in a cloud sandbox, and want Twring right next to them. If you just want to call your agent, you don't need any of this: get an invite and use Twring as it is.

Install

On the Linux machine where your agents run, as root (or with sudo in front of sh):

curl -fsSL https://twring.com/install.sh | sh

It asks for an email address and your speech account key (typing them when asked is the safest way), sets everything up, and shows a code to scan with the Twring app. Your agents on that machine are linked for you.

To give your answers ahead of time with sudo, export them and keep them with -E:

export TWRING_EMAIL=you@example.com
export TWRING_SPEECH_KEY=your-deepgram-key
curl -fsSL https://twring.com/install.sh | sudo -E sh

Don't write sudo TWRING_SPEECH_KEY=... sh: that puts the key where other people on the machine can see it.

What you need

  • A Linux machine, x86_64 or arm64, with Docker and Docker Compose.
  • Ports 80 and 443 open, plus 7881 (TCP) and 7882 (UDP) for call audio. If the audio ports can't be opened, as in most cloud sandboxes, Twring's audio service carries your calls instead.
  • A speech account key: Deepgram or xAI.

The server guide covers ports and firewalls, updates, backups, removing people and phones, and what to do when something doesn't work.

Why self-hosting will have a yearly charge

When your phone is locked, only Apple and Google can make it ring, and they deliver those rings only to Twring's app, sent with Twring's keys. A server you run yourself can't hold those keys. So rings for every self-hosted server go through a ring service that Twring runs and maintains, together with the app itself.

A yearly charge, paid in the app, pays for that work: keeping the ring service running and keeping the app working with your server.

Your server and your chats work without it while the app is open, and so do calls on a server with its own call audio. If your server uses Twring's audio service, calls need the ring service too. What the ring service adds for everyone is your phone ringing when it's locked or the app is closed.

The ring service needs the email address you give at install to be confirmed. If it isn't confirmed within 7 days, rings pause, and so do calls on servers that use Twring's audio service, until you click the link.

Right now it's free while we launch. Before any charge starts, you'll be told in the app and by email, with the price. Nothing is charged without your OK.

What Twring receives from your server

  • The email address you give at install, to confirm the server is yours and to tell you about changes, and whether you want news.
  • Your server's address, so the ring service can check it can be reached.
  • Your phones' push tokens, so Apple and Google can deliver rings.
  • Counts of rings, notifications and call minutes, so the ring service can keep fair limits.
  • Notification contents sealed on your server for your phone. Twring passes them on and can't read them.
  • If your server uses Twring's audio service (common in sandboxes), call audio passes through it, encrypted in transit, and is never stored. Twring keeps a record of each call's time and length for 90 days.

Everything else stays on your server: your agents, chats, files, people and phones, and your speech key. Twring keeps what it receives while your server is registered. Running twring uninstall deletes it from the ring service too, or write to support@twring.com. The privacy notice has the details.

Sharing agents with your team

Agents are shared only if you choose to. A shared agent runs as the login that linked it, so people you add can ask it to read files and use anything it can use without asking. Use a separate login for shared agents, with no keys or personal files. Each person has their own conversation, but whoever runs the computer can read them all, and the agent's own memory is shared. The guide explains how.

Questions

Write to support@twring.com. A person reads every email.