Setup
Use this guide when your Linux VM or bare-metal host is already provisioned and you have the Kumo Docker Compose bundle. The bundle runs the Kumo images from NVIDIA NGC, plus its bundled Postgres database and Temporal workflow service that schedules Kumo background work, on one host. The first path uses localhost and local storage on CPU. GPU-backed training and prediction are optional.
Prerequisites
Have the following before you start:
- Linux x86_64 host: Recommended sizing is 32 vCPU, 128 GB RAM, and durable storage for Docker, Postgres, and the Kumo dataplane, where Kumo stores ingested data and model artifacts.
- Dedicated fast local SSD: Mount it at
/mnt/localssdfor DiskGraph working data. DiskGraph is Kumo’s on-host graph-processing workspace. The SSD must not be the root filesystem. - GPU host (optional): An NVIDIA GPU with sufficient VRAM, a working host driver, and NVIDIA Container Toolkit configured for Docker. The primary path below uses CPU mode.
- Docker and host utilities: Docker Engine, Docker Compose v2,
curl,openssl, andfindmnt. - NGC access: An API key entitled to
nvcr.io/1000161941370113/kumo-3, plus network access to NGC and the upstream images referenced by Compose. - Complete deployment bundle:
kumo-compose, all three Compose files, and bothconfig/directories shown below.
The supplied configuration disables application authentication and TLS. Keep the published HTTP port private, behind an SSH tunnel, or otherwise restricted to trusted clients.
Verify the host:
Starting Kumo
The deployment bundle includes the Compose wrapper, service definitions, and configuration for a single-host Kumo deployment. The steps below start the default CPU configuration with localhost access and local dataplane storage.
Configure external dataplane storage, Kumo authentication, or a DNS name and TLS before the first startup. Bootstrap preserves generated configuration, so changing these settings later does not migrate an existing deployment.
The commands below assume this bundle layout.
Run the Compose commands from docker/compose/.
1. Create the runtime directories and environment file
Before the first startup, edit .env and set a unique Postgres password:
Generate the password with openssl rand -hex 32 if needed.
Leave the local-storage defaults in place:
2. Authenticate to NGC and start the stack
Use an API key that is entitled to the Kumo NGC organization. This command reads the key without displaying it:
Validate the rendered configuration, pull the images, and start Kumo:
3. Verify Kumo
Cold startup can take several minutes.
kumo-bootstrap, temporal-schema, and temporal-namespace should finish with exit status 0; the long-running services should become healthy.
Open http://localhost in a browser on the host, or reach it through a secure tunnel.
With the default DISABLE_AUTH=true, Kumo does not display a sign-in prompt.
Deployment-type variations
Use these optional settings in place of the defaults from Step 1, before the first startup.
Optional Kumo authentication
Before the first startup:
- Set
DISABLE_AUTH=falsein.env. - Uncomment
DIRECT_CONNECT_LOGIN_METHOD,ADMIN_EMAILS, andDIRECT_CONNECT_ADMIN_TEMP_PASSWORD, then provide the administrator email and a unique temporary password.
After startup, sign in as that administrator, change the temporary password, and create a real API key for SDK access. A random placeholder API key is not accepted when authentication is enabled.
Optional TLS termination
To terminate TLS in the bundled nginx service, set these values in .env before the first startup:
Install a trusted full-chain certificate and its matching unencrypted private key before starting Kumo:
The default KUMO_TLS_DIR=./data/tls mounts these files read-only at /etc/kumo/tls for bootstrap and nginx.
Bootstrap generates the HTTP or TLS nginx configuration only on its first run.
If a customer-managed proxy terminates TLS, leave ENABLE_TLS=false and allow the published HTTP port to be reached only from that proxy.
Optional GPU-backed training and prediction
To use a GPU, add an NVIDIA GPU with sufficient VRAM, a working host driver, and NVIDIA Container Toolkit configured for Docker. Verify the GPU and Docker runtime before setting the GPU backend variant:
Then set this value in .env before starting the stack:
kumo-compose adds the GPU overlay when this value is gpu.
The overlay uses the NGC kumo-backend-gpu image for the pool worker and reserves all available NVIDIA GPUs.
The included Compose file sets POOL_GPU_CONCURRENCY: "1"; on a multi-GPU host, change that Compose value to the number of physical GPUs you want to use concurrently.
It fails early if the GPU or Docker runtime checks do not pass.
Storage and dataplane
For the AWS S3 path, do not combine the S3 roots with the local roots unless you deliberately migrate the generated deployment configuration.
The supplied Compose files do not inject AWS_REGION into application containers, so validate image and bundle support for the chosen region before using this optional path.
Stop Kumo
Stop the stack without deleting its data:
Do not run down -v unless deleting the Docker-managed Postgres and observability volumes is intentional.
It does not remove the host-mounted docker/compose/data/ directory or /mnt/localssd.