Skip to content
Open SourceAI Operating System

Open source, self-hosted

Self-host an AI operating system that is open source

Self-hosting decides who holds the memory, the connector credentials and the audit trail. Kortix is open source, and kortix self-host start runs the full stack on a server you control.

Run it on Kortix Cloud, in your VPC, or on your own on-prem network. Self-host is free.

macOS and Linux, WSL on Windows · Models are BYOK in the app · The first run asks six things and no model key

kortix self-host
curl -fsSL https://kortix.com/install | bashkortix self-host init --domain kortix.example.com --admin-email you@example.comkortix self-host start
Source: https://kortix.com/docs/host

Install, scaffold, ship

The commands for a project, and the manifest every new project starts from.

kortix CLI
curl -fsSL https://kortix.com/install | bashkortix init my-agentcd my-agentkortix ship
kortix.yaml
# One map per project, GOVERNANCE ONLY — connectors/secrets/# skills grants the runtime itself can't express, plus workspace (the git# boundary) and enabled. `file` names the agent's `.md`; everything else# in that file — open it to see/change what the agent actually does.# v2 is deny-by-default: an omitted connectors/secrets/kortix_permissions/# skills grant resolves to "none", so a scoped specialist starts locked down.agents:  kortix:    file: agents/kortix.md    connectors: all    secrets: all    kortix_permissions: all

What self-hosting decides

A self-hosted AI operating system puts the whole agent stack on hardware you administer: the runtime, the store that keeps company memory, the service that brokers connector credentials, and the record of what every agent did. Kortix ships that stack as open source. Agents, skills, memory files and the wiring to outside apps are all files in a git repository, and every session of work runs on a separate cloud computer.

Where those services run is the decision behind self-hosting. On Kortix Cloud the vendor operates them. Self-hosted, your team does, and the parts that hold your data hold it inside a deployment you control. The project itself does not change. Its configuration lives in kortix.yaml at the root of a git repository, hosted by Kortix or connected from your own account.

Three commands on a fresh server

Installing by hand is three commands (Read the docs). curl -fsSL https://kortix.com/install | bash installs the CLI, kortix self-host init asks the setup questions. kortix self-host start applies the answers and brings the stack up with a TLS certificate. The CLI runs on macOS and Linux, on x86_64 and arm64; on Windows, run it inside WSL.

Before the first start, the server needs a name. Point its A or AAAA records, one for the domain and one for the api subdomain, at the server, add a wildcard record for session previews, and leave 80 and 443 open inbound. The TLS server in the stack needs those records before it can request a certificate.

The setup questions cover the domain, the admin email and the sandbox provider; a model key is not one of them. You add a model key in the web app after the first sign-in, and the sandbox provider key has to exist before any session can start. Then sign in as the admin, connect GitHub in the dashboard, and run kortix self-host doctor, which turns every failed check into a named problem to fix.

What runs where

Sessions run on a cloud sandbox provider, not on the server, and those sandboxes reach back to the instance over the public internet, so the instance needs a public address (Read the docs).

On the server, one Compose project holds every service: the web app, the REST API, the LLM gateway, the database, and the TLS terminator. A built-in updater pulls new images once a day, migrates the database, and rolls the services. Off the server go the sandboxes themselves, created with your provider key on Daytona, the default today, or on Platinum or E2B. The model providers sit outside too, and the gateway calls them with your keys.

In practice you hold the control plane and the data, and a provider you chose and keyed executes each session. The callback requirement sits in the opening paragraphs of the self-hosting docs.

What you hold when the stack is yours

Memory comes first. In the starter layout (Kortix on GitHub), memory/ is a folder of the project repo, plain files next to the agents and skills. It is versioned by git, backed up by a push, and grep reaches your whole company. There is no export step because no vendor holds it.

Connector credentials are brokered server-side and never enter the machine. On your instance, the broker is part of the stack your server runs (Read the docs). Secrets are encrypted at rest with a key per project. The manifest declares secret names and nothing else; the values live in the secrets manager, never in the repo.

Per-resource permissions for people and agents. Roles, groups, and an audit trail. Every action is recorded in the audit log, which keeps 90 days of events live and up to 365 days in the archive (the Kortix docs). Reading, exporting and streaming it depend on the plan.

Projects, sessions and change requests

With the instance up, projects work the way the Kortix docs describe. kortix init scaffolds a project from the starter, kortix ship validates the manifest, asks for missing secrets and pushes the repo. The first run creates the project. A session gives one agent a sandbox and a branch of its own, with the project repository cloned in.

When the work is done, the agent commits to its own branch and a change request carries the result to review. A person reviews it and merges, or sends it back with a note that wakes the session. The manifest sets the governance in advance: the project registers what exists and each agent enables what it needs by name. An omitted grant resolves to none, so a scoped agent starts locked down.

Is it hard?

The requirements fit in one paragraph: a Linux machine with a public address, the domain's DNS records set before the first start, the firewall open on 80 and 443, and a sandbox provider key. The bootstrap script installs Docker and the CLI when they are missing and starts the stack with TLS. Re-running it is safe. The stack has no Redis and no separate worker.

What takes attention is the operations you now own. Certificates wait for DNS, backups are your job, and the daily updater deserves a glance when it rolls a new image. The self-hosting docs walk each step, and kortix self-host doctor turns a half-configured instance into a list of named checks. A first-run walkthrough is in Getting started with Kortix on the Kortix blog.

One boundary remains. The sandbox provider that executes your sessions is a third party, and the instance has to stay reachable on the public internet. If you would rather not run a server at all, Kortix Cloud runs the same product. The project is one repository either way; what changes is who operates the services around it.

Self-hosting questions

The things people ask before the first start.

Can I self-host an AI operating system for free?

Yes. The self-hosted stack costs nothing in software; you pay for the server and for the keys it needs, one for a sandbox provider and one for your models. If running a server does not appeal, the same product runs on Kortix Cloud.

What runs on my infrastructure when I self-host?

Everything but the sessions. The web app, the API, the LLM gateway and the database run on your server as one Compose stack, with TLS in front and an updater that pulls new images daily. Each session runs on a cloud sandbox provider you key, Daytona by default, and calls back to your instance.

How do sessions and change requests work?

A session is one unit of agent work on its own sandbox and branch. It clones the project repo, does the work there, and finishes by opening a change request. A person with the merge permission reviews the diff and merges it into the default branch.

Where do connector credentials live?

In the credential broker, on the server side of the platform. Values reach a session only through the broker, and the sandbox never holds them.

Is there a self-hosted AI?

Yes. Kortix is one, and it is open source: kortix self-host start runs the whole stack, including the memory store, credential broker and audit trail, inside a deployment you control. The only difference from Kortix Cloud is who operates those services: your team.

How do I build my own AI operating system?

You don’t build one from scratch. You install and configure one you already own: Kortix is open source, and three commands (install the CLI, kortix self-host init, kortix self-host start) bring the stack up on your server. The walkthrough section of this page covers the steps in between.

What is the 30% rule for AI?

It usually refers to a rule of thumb that AI takes the repetitive bulk of the work while people keep about 30% for oversight and judgment. Self-hosting decides where that oversight happens: your server holds the memory and audit trail a reviewer works from.

Is there any AI-based operating system?

Yes. Kortix is one: agents, skills, memory files and connectors are all files in a git repository, and every session runs on its own sandbox. Self-host it with kortix self-host start, and the services that hold your data stay on your server.

Run it where you can see it

Install the CLI, answer the setup questions, and the whole platform runs on a server you own.