Kumo.io

Docs Self-hosting & operations

Self-hosting & operations

Deployment options

Use Kumo.io hosted at kumo.io, or run the same product yourself — as one container, as a set of services on Docker Compose, or as a CloudFormation stack in your own AWS account.

Applies to: Self-hostedPlan: All

Hosted or self-hosted

Hosted means Kumo.io runs it for you. You sign up at https://kumo.io, your workspace lives at https://kumo.io/@<workspace-address>, and your account, plan and billing are managed in the account portal at https://account.kumo.io. There is nothing to install or upgrade.

Self-hosted means you run Kumo.io on infrastructure you control. Your cloud inventory, graph and credentials stay inside your network; the only thing your installation talks to Kumo.io about is its connection to your Kumo.io account (see Connect an installation).

Every self-hosted option below runs the same container image — the published kumoio/kumo image. What changes between options is how many containers you run and where the database lives, not the product.

The options at a glance

Option What you run Database Good for
Single containerOne kumoio/kumo container and one volumeBuilt into the containerGetting started, small teams, one machine
Single container, your databaseOne containerYour own PostgreSQLOne machine, but a database you already operate and back up
Separate services on Docker ComposeOne container per role (API, admin API, UI, worker, scheduler)Bundled PostgreSQL container, or your ownScaling roles independently on one host
AWS CloudFormationECS Fargate services behind a load balancerAmazon RDS for PostgreSQLProduction in your own AWS account

Single container

One docker run gives you the whole product: the app, the API, the admin API and a PostgreSQL server, all inside one container, with all state on one /data volume and one port (9500) to publish. No configuration is required to start.

Start here unless you already know you need more. See Run Kumo.io in one container.

Single container with your own database

The same container, pointed at a PostgreSQL database you run (for example a managed database service). Set KUMO_PG_DSN and the container stops using its built-in database. Use this when your team already has a backup and patching routine for PostgreSQL that you want Kumo.io to fall under.

Separate services on Docker Compose

kumo deployment turns a short YAML deployment spec into a running Docker Compose project. You choose a topology — one all-in-one container, or one container per role — and whether Kumo.io runs a PostgreSQL container or uses yours. Re-running kumo deployment apply after editing the spec converges the running installation to match. See Run Kumo.io as separate services.

Your own AWS account

kumo deployment also drives a CloudFormation stack: ECS Fargate services for the API, UI, worker and scheduler, an Application Load Balancer, and an encrypted, multi-AZ RDS PostgreSQL database. See Deploy Kumo.io into your AWS account.

An AWS Marketplace listing is not available yet.

Connecting versus licensing

A self-hosted installation stays restricted until it is unlocked. There are two ways to unlock it:

  • Connect it to your Kumo.io account. This works for every option that runs the all-in-one container — the single container, and the all-in-one topology of kumo deployment — and starts a 14-day evaluation trial.
  • Install a license file. This is the only way to unlock an installation that runs each role in its own container, including the AWS stack.

Licenses for self-hosted installations are not available yet. Until they are, choose an option that runs the all-in-one container.

Not available today

  • Kubernetes. There is no Helm chart or Kubernetes manifest set yet. The container image itself is unchanged, so it can run under any orchestrator, but Kumo.io does not ship or support a Kubernetes topology today.
  • Running without PostgreSQL. Every production self-hosted installation stores its data in PostgreSQL — the built-in one or yours.

What every option needs

  • A Linux container runtime on linux/amd64 or linux/arm64 — see Platform support.
  • Outbound HTTPS from the installation to your cloud providers' APIs, so Kumo.io can read your inventory.
  • To connect the installation to your Kumo.io account, outbound HTTPS to Kumo.io's service — see Connect an installation.

See your own cloud in Kumo.io. Read-only access. Nothing in your account changes.

Free Trial