Console
Docs/Reference

Self-hosting Aurix

The engine is open source — run it yourself, or mix self-hosted nodes with Aurix Cloud.

The same code#

Aurix Cloud runs the public aurix-server from github.com/aurix-voice/aurix (AGPL-3.0, commercial licences available). Everything a cell does — registry, channels, mixing, moderation, analytics — is in that repository, with its own documentation for operators: configuration, scaling, TURN, recording storage, Kubernetes charts and the full REST/WebSocket/AURX references.

When to pick which#

Self-hostedAurix Cloud BYOCAurix Cloud
Media nodesyoursyoursours
Registry, console, billing, on-callyoursoursours
Costinfrastructure + your time$39 / node / monthper node-hour or per plan
Data residencyanywherewhere your nodes areEU

Moving between them is a token endpoint change: the SDKs and your backend code are identical. A BYOC node is simply aurix-server plus a small agent.

Migrating a self-hosted deployment#

Create a project, point your token endpoint at the cell with the new key, and roll clients — tokens carry the endpoint, so nothing is hard-coded in builds. Channel ids are per project; ad-hoc channels by name recreate themselves.

What you give up#

Running the engine yourself means running everything a cell does: Postgres and Redis for the registry, TURN, certificates, the node fleet, upgrades, backups and on-call. There is no console, no usage page, no spending limit, no webhooks for capacity events and no billing — you build or skip them. The SDKs, the token endpoint and the channel model are exactly the same, so moving later in either direction is a configuration change.

Cost, honestly#

A single self-hosted node on a small ARM VM costs a few euros a month at any provider and carries a few hundred participants — cheaper than any plan if your time is free. The crossover is operational: once you want a second region, a second node for failover, upgrades without downtime or someone to call at 3 am, the $39 per node-month of your infrastructure or the $0.05–0.30 per node-hour of Cloud nodes buys the registry, console, metering, autoscale and the ladder.

Minimal self-hosted setup#

bash
docker run -d --name aurix --network host \
  -e AURIX__AUTH__ADMIN_BOOTSTRAP_TOKEN=$(openssl rand -hex 24) \
  ghcr.io/aurix-voice/aurix-server:1.13.0      # + Postgres and Redis, see the engine quick start
aurix admin setup --email [email protected] --display-name Root --bootstrap-token-file …   # first operator
aurix app create --name MyGame --key-out mygame.api-key                                   # the SDK key

The exact environment variables (AURIX__… mirrors the config file), ports (8080 API, 8081 WebSocket, 10000/udp media, 4443/udp WebTransport, 3478 TURN) and the CLI flow are in the engine's quick start. Mint tokens against your own node's /v1/tokens with that key; the SDKs do not know or care whether the endpoint is a cell or your box. The engine repository's operations docs cover Helm, scaling across nodes, Redis/Postgres sizing and observability.