Run Multi-Router in your own cloud

Deploy in your own AWS, Azure or Google Cloud account. Your keys, configuration, traffic records and request bodies stay in stores you own.

Runs in your cloud

Run Multi-Router inside your own AWS, Microsoft Azure or Google Cloud account, on Kubernetes or Amazon ECS behind your load balancer. It uses the managed services you already run: PostgreSQL or DynamoDB for the database, your cloud's secret store, ClickHouse for traffic records, object storage for request payloads and your email service.

Acme production self-hosted
Callers Your apps and agentsSDKs, Claude Code, Cursor
Your VPC · us-east-1Your VNet · East USYour VPC network · us-central1
Load balancing Application Load BalancerApplication GatewayCloud Load Balancing TLS, /health/ready
Multi-Router Amazon EKS or ECSAzure Kubernetes ServiceGoogle Kubernetes Engine API, dashboard and Portal on :8080
Database Amazon RDS for PostgreSQL or DynamoDBAzure Database for PostgreSQLCloud SQL for PostgreSQL Routers, keys, budgets, people
Secrets AWS Secrets ManagerAzure Key VaultSecret Manager Database URL and encryption keys
Traffic records ClickHouse Cloud on AWSClickHouse Cloud on AzureClickHouse Cloud on Google Cloud Every request, its cost and latency
Request payloads Amazon S3Azure Blob StorageCloud Storage Request and response bodies
Email Amazon SESAzure Communication ServicesYour SMTP relay Invites, alerts, sign-in links
Model providers Amazon Bedrock, Anthropic, OpenAIAzure OpenAI, Anthropic, OpenAIVertex AI, Anthropic, OpenAI With your own provider keys
Every store is yours: same account, same region, your access policies.

Easy to set up

Deploy on Kubernetes with the Helm chart, with Docker Compose or Docker, on Amazon ECS, with Terraform or on a Linux VM. Then open /install: five steps check the secret store, connect the database, generate the encryption keys and create the first admin, testing each connection before anything is saved.

$ helm repo add multi-router https://charts.multi-router.ai
$ helm install mr-server multi-router/mr-server -n multi-router -f values.yaml
$ curl -O https://get.multi-router.ai/compose.yaml
$ docker compose up -d
$ docker run -d -p 8080:8080 --env-file mr.env registry.multi-router.ai/mr-server:2026.10.4
$ aws ecs create-service --cli-input-json file://mr-server-service.json
$ terraform init
$ terraform apply -var-file=prod.tfvars
$ sudo dpkg -i mr-server_2026.10.4_amd64.deb
$ sudo systemctl enable --now mr-server
Then open https://mr.internal.example.com/install and finish in the browser.
https://dashboard.ai.example.com/install

Welcome to Multi Router

Let's get your server set up. This takes about two minutes.

Get started

Step 1 of 5

Secrets store connected

We can read from your configured secrets store. Encryption keys and DB credentials will live here.

Backend
AWS Secrets Manager
Identifier
AWS Secrets Manager · us-west-2
← BackContinue

Step 2 of 5

Connect your database

Pick a backend. We'll verify the connection before continuing.

env prod·stack main
PostgresDynamoDB
Postgres server URL postgres://mr:••••••••@db.internal.example.com:5432
Database name prod_main
← Back Continue Connecting…

Step 3 of 5

Generating encryption keys…Encryption keys ready

Three AES-256 keys protect API tokens, LLM provider keys, and OAuth secrets at rest.

api-token-encryption-keys
Generating…
Created
llm-provider-key-encryption-keys
Generating…
Created
auth-provider-encryption-keys
Generating…
Created
← BackContinue

Step 4 of 5

Create admin

Admin accounts can manage every other user and the server's settings. Add at least one to continue.

maya@example.com
+ Add another admin
Surface hosts

Enter three distinct origins. Requests are routed by exact host after restart.

Dashboard origin https://dashboard.ai.example.com
Portal origin https://portal.ai.example.com
API origin https://api.ai.example.com
Shared session cookie domain ai.example.com

This must be the Dashboard and Portal shared registrable parent. The HttpOnly session cookie reaches every subdomain under it. Changing it later invalidates every session.

Admin emailmaya@example.com
Admin password i••••••••••••
Saving…+ Add admin
← BackContinue

Step 5 of 5

Restarting…

Restart the server now (e.g. kubectl rollout restart deploy/mr-server). We'll detect the new boot and redirect you to sign in.

Waiting · 3s

Setup complete

Redirecting to login…

Your data stays in your cloud

Everything Multi-Router keeps lives in stores in your own account: keys in your secret store, configuration and people in your database, traffic records in your ClickHouse, request bodies in your bucket and email through your SMTP server. The only traffic that leaves your network goes to the model providers you configure.

Your cloud account Everything Multi-Router keeps, and the store that holds it
Secret store AWS Secrets Manager · us-west-2
  • Database connection
  • JWT signing secret
  • Encryption keys for API tokens, provider keys and sign-in providers
Database PostgreSQL · db.internal.example.com
  • Provider keys, encrypted with your keys
  • Routers, prompts and budgets
  • People, organizations and policies
  • Audit history
ClickHouse clickhouse.internal.example.com
  • Traffic records: model, tokens, cost, latency
  • Guardrail results
Bucket s3://acme-mr-payloads
  • Request and response bodies
  • Kept for as long as your lifecycle rules say
SMTP smtp.internal.example.com:587
  • Invitations, sign-in links and budget alerts
  • Sent from your domain
Leaves your network Model providersOnly the providers and regions you configure, with your keys.Catalog updatesOptional. From models.multi-router.ai or your private mirror.
Multi-Router RoutersPromptsTrafficAdmin MO

Vault

Bootstrap secrets the running process resolved at startup.

Mode
on-prem
Env
prod
Stack
main
Build (git SHA)
4f2a9c1
Backend
postgres
Catalog
2026-10-14
Deployment base URL https://dashboard.ai.example.com
Portal URL https://portal.ai.example.com
API URL https://api.ai.example.com
Edit
Secret backend

Where this process resolves its secrets from. Identity + region only · values are never read back to the dashboard.

Backend AWS Secrets Manager · us-west-2
Configured secrets

Roster of secrets this binary expects + their availability at boot.

SecretLabelRequiredStatus
prod-main/database Database bootstrap (JSON) Required present
prod-main/jwt-secret JWT signing secret Required present
prod-main/api-token-encryption-keys API token encryption keys Required present
prod-main/llm-provider-key-encryption-keys LLM provider key encryption keys Required present
prod-main/auth-provider-encryption-keys Auth-provider encryption keys Required present

Traffic records in your ClickHouse, payloads in your bucket

With Store everything on, every request record is written to ClickHouse Cloud or your own ClickHouse, and request and response bodies to an Amazon S3 bucket or a local directory. Both stores sit in your network, under your retention and access rules.

Your applications POST /v1/chat/completions x-mr-request-id: req_8Kd2Lq9vXw
mr-server · 3 copies Batches rows, compresses with lz4, flushes every 2 s
Your ClickHouse clickhouse.internal.example.com prod_main.llm_request_log Receiving every column
Your bucket s3://acme-mr-payloads/prod-main/ or a local directory Receiving request and response bodies

Automatic updates

New models, prices and regions arrive as catalog versions from models.multi-router.ai or your private mirror. Each version is validated and goes live automatically, or waits for a server admin to review the changes and approve it. Any version can be rolled back.

Admin/Catalog dashboard.ai.example.com
Catalog Updates New models, pricing, capabilities and retirements published by Multi-Router, applied automatically or after your review.
On
https://models.multi-router.ai Save

The server polls https://models.multi-router.ai/catalog/pointer.json every 30 s. Point it at a private mirror to keep fetches inside your network.

Serving now 2026-10-14 live 415 models · 31 publishers · 12 vendors
Available from publisher 2026-10-21 newer in sync 418 models
Version 2026-10-21 staged, awaiting approval Validated and held for approval; serving 2026-10-14 until approved.
Review diff
Approved. Routers now resolve models from 2026-10-21. In-flight requests finished on 2026-10-14.
Discarded. Still serving 2026-10-14; the publisher's next version will be staged when it arrives.
Rollout mode automanual Hold each new version until approved.
Refresh
Last poll12 s ago · ok Last ingest2026-10-21 · 3 h ago Content hash9f3c1ab07e4d Poll interval30 s
Recent versions Version history
VersionModelsPublishedStatus
2026-10-21 418 2026-10-21 stagedlivediscarded
2026-10-14 415 2026-10-14 livesuperseded Roll back
2026-10-07 409 2026-10-07 superseded Roll back
2026-09-30 402 2026-09-30 superseded Roll back
Versions are immutable and independently addressable. Roll back repoints the installation to a prior version.

Run Multi-Router in your cloud

Deploy with the Helm chart, Docker or Terraform and finish setup in the install wizard.