RealFrameDocs
Self-hosting

Deploying it

Two services and a database.

What you need

  • A Linux server. Two cores and a couple of gigabytes is comfortable.
  • Docker with the Compose plugin.
  • A DNS name and a TLS certificate.
  • Postgres, in a container or managed.

Computers connect out to this. Nothing incoming is needed on your users' networks.

Ports

ServicePortWho connects
Coordinator9000Every computer and app
Relay9001Only sessions with no direct path
Control API9100The dashboard and the apps

Put TLS in front. Do not expose them without it.

Start it

docker compose -f infra/docker-compose.yml build
docker compose -f infra/docker-compose.yml up -d
docker compose -f infra/docker-compose.yml ps

Database

Point it at Postgres. It runs its own migrations on start. Give it its own database and user, and back it up.

TLS

This is the part that bites later. Every computer keeps a connection open to the coordinator, so an expired certificate takes the whole fleet offline at once.

Automate renewal, and alert on the expiry date.

Test before you move anything

One of each

Point one shared computer and one app at it and link them.

Connect

Sign both in to an account on your own service, then open a session.

Force a relayed session

Try from a mobile network. Finding out the relay is misconfigured on the day someone needs it is the thing to avoid.

On this page