Skip to main content

Self-hosting NuRoute

NuRoute Enterprise runs on your own server. Your prompts, the answers, your provider API keys and your request logs stay on your infrastructure; NuRoute never sees them.

This section takes you from an empty Linux server to your first routed request, and then through running it: backups, upgrades, the licence and troubleshooting. You do not need to know NuRoute's internals. If a command is shown, you can copy it as is; where a command prints something, the guide shows what you should see.

PageWhat it covers
RequirementsThe server, Docker, a domain name and the network access NuRoute needs
InstallOne command to install, then activation and your first request
ConfigurationEvery setting in .env, running behind your own HTTPS proxy, email
Single sign-onSign-in with Entra ID, Okta, Google Workspace, Keycloak or Auth0 (OIDC), SSO only
Backups and upgradesBacking up, restoring, upgrading (with automatic rollback), moving or removing NuRoute
Licence and updatesThe licence check-in, what it sends, trials, renewals, routing-model updates
SecurityWhere your data lives, how to check the images, reporting a vulnerability
TroubleshootingEvery error message the installer and scripts can print, and what to do

What you get​

Everything NuRoute Cloud offers, on your server:

  • The OpenAI-compatible API (/v1/chat/completions and the rest) with automatic model routing across the providers you connect.
  • The dashboard: projects, API keys, members and roles, provider keys, policies and PII redaction, prompt compression, request logs and usage.
  • Routing-model and catalog updates: NuRoute's latest routing model and model catalog (models, prices, quality tiers) arrive with the licence check-in, without an upgrade.

What is different from Cloud:

  • No billing. You pay your AI providers directly with your own keys, and NuRoute through your Enterprise contract. There are no credits and no Billing page.
  • fallback-router:apollo decides every auto request. Artemis Task is not part of self-hosted NuRoute yet, so NuRoute's fallback router decides each "model": "auto" request: the response's X-Router-Version header (and _routing.routerVersion) says v1, and X-Router-Fallback says v2_disabled. The dashboard has no Speed setting.
  • One organization per install. The first admin creates it; everyone else joins by invitation. You can have as many projects, members and API keys as you like.
  • You run the server: its uptime, its backups and its upgrades. NuRoute provides the software, updates and support under your contract.

How licensing works​

Each install needs a licence: a licence key from your NuRoute contract, or a 14-day trial you start from the setup screen with your work email. The install checks in with license.nuroute.ai every 12 hours to renew a short-lived token. If the check-in fails (for example, a firewall change), NuRoute keeps working for 5 days, and the dashboard shows a banner so an admin can fix it. Details: Licence and updates.

What leaves your server​

Only the check-in, which sends: the licence key, a random install ID, NuRoute's version numbers, the number of requests since the last check-in, and whether NuRoute's services are up. Never prompts, answers, API keys, user names, email addresses or costs. Your admins can see the exact last check-in on the Licence & system page.

Your AI requests go from your server straight to the providers you connect, as they would without NuRoute.

How the pieces fit together​

NuRoute runs as a set of containers on one server, started by Docker Compose:

PartWhat it does
CaddyThe only part reachable from outside (ports 80 and 443). Obtains and renews the HTTPS certificate for your domain, serves the dashboard under /app and the API everywhere else
API gatewayChecks API keys and the licence, applies policies, routes each request and forwards it to the chosen provider
Routing servicesPick the model for each request (the trained routing model) and talk to your providers
DashboardThe web app your team uses, at https://<your domain>/app
PostgreSQL, Redis, ClickHouse, NATSSettings, sessions, request logs and usage, internal messages. Not reachable from outside
Policy and PII detection, prompt compressionThe policy engine with Microsoft Presidio, and headroom

All images are public, built by NuRoute, scanned for vulnerabilities and signed. The install kit (the files and scripts that set them up) is open source: github.com/NuRoute-ai/nuroute-selfhosted.

Ready? Start with the requirements.