Requirements
Check these before you install. Each one has the command to set it up if it is missing.
A Linux server
| Minimum | Recommended | |
|---|---|---|
| CPUs | 4 | 8 |
| Memory | 16 GB | 32 GB |
| Free disk | 100 GB (SSD) | 200 GB (SSD) |
| CPU type | x86-64 (Intel/AMD) or ARM64 (e.g. AWS Graviton) | |
| Operating system | Any current 64-bit Linux that runs Docker: Ubuntu 22.04 or 24.04, Debian 12, RHEL/Rocky/Alma 9 | Ubuntu 24.04 LTS |
A virtual machine from any cloud provider works, as does a server in your own data centre. Windows servers and macOS are not supported for production.
The installer checks the size and stops if the server is too small. You can try anyway with
--force (fine for an evaluation, not for production).
Docker with Docker Compose
NuRoute runs in containers, so the server needs Docker Engine and the Docker Compose
plugin (the docker compose command, version 2 or newer).
Check whether they are installed:
docker --version
docker compose version
You should see two version lines, for example Docker version 29.8.2 and
Docker Compose version v5.6.0. If either command is not found, install Docker with its
official script (Ubuntu and Debian):
curl -fsSL https://get.docker.com | sudo sh
For other systems, follow Docker's install guide.
Then let your user run Docker without sudo, and log out and back in for it to take effect:
sudo usermod -aG docker $USER
After logging in again, docker info should print details about Docker instead of
"permission denied".
The installer also needs openssl, curl and tar, which almost every Linux has. If one is
missing: sudo apt-get install -y openssl curl tar (Ubuntu/Debian) or
sudo dnf install -y openssl curl tar (RHEL family).
A domain name
Your team opens NuRoute at an address such as nuroute.acme.com. Choose one and, in your DNS,
create an A record (and an AAAA record if the server has IPv6) pointing it at the
server's public IP address.
Check it from your own computer once the record is created (it can take a few minutes):
nslookup nuroute.acme.com
The answer should show your server's IP address.
NuRoute obtains the HTTPS certificate for this domain automatically (from Let's Encrypt) when it starts, which needs the next section.
If NuRoute sits behind a proxy or load balancer that already handles HTTPS, the domain points at that instead, and NuRoute does not obtain certificates itself. See Behind your own HTTPS proxy.
Network access
Incoming, from your users (and from the internet once, for the certificate):
| Port | Why |
|---|---|
| 80 (TCP) | Obtaining and renewing the HTTPS certificate; redirects to HTTPS |
| 443 (TCP) | The dashboard and the API |
Nothing else needs to be reachable. Databases and internal services are not exposed.
Outgoing, from the server:
| To | Why |
|---|---|
license.nuroute.ai (HTTPS, 443) | The licence check-in every 12 hours |
ghcr.io and github.com (HTTPS) | Downloading NuRoute's images and the install kit (installs and upgrades) |
acme-v02.api.letsencrypt.org (HTTPS) | The HTTPS certificate |
| Your AI providers' APIs (HTTPS) | Your requests, e.g. api.openai.com |
If your server reaches the internet through a proxy, configure Docker to use it (Docker's guide).
No internet access at all? An air-gapped install with an offline licence is available by arrangement: contact sales@nuroute.ai.
A licence or a work email
You need one of these during setup:
- the licence key from your NuRoute contract (it starts with
nrl_), or - a work email address to start a 14-day trial. Personal addresses (Gmail, Outlook and similar) cannot start a trial, and each company gets one trial.
Everything ready? Continue with Install.