Skip to content
Open WebUI Alternative

Self-host an open source AI Operating System

Kortix is the open source AI Operating System, and you can run it on your own box. Install the CLI, point a domain at your server, and start the stack; self-host is free.

01

Install and self-host Kortix

Install the CLI, point a domain at your box, and start the stack.

terminal
$ curl -fsSL https://kortix.com/install | bash

What you own when you self-host

Self-hosting Kortix means the repo, the connectors, the models and the memory all sit on your own infrastructure. Run it on Kortix Cloud, in your VPC, or on your own on-prem network. Self-host is free.

The whole instance runs as one Docker Compose stack: the frontend, the API, the LLM gateway, and the Supabase distribution. The stack has no Redis and no separate worker, so there is less to operate. Agent sessions run on a separate sandbox provider rather than on this stack, so the control plane you host stays small.

Kortix's own README draws the split cleanly: if you want a chat window or search over company documents, a tool such as Open WebUI, Onyx or LibreChat fits; if you want agents that return finished work and act in your tools, that is what Kortix is for. Self-hosting is how you keep that platform on your own machine.

Your repo is the company

Your agents, their skills, your company memory and every connector in one git repo you own. Agents and skills are markdown files, and kortix.yaml declares the machine image, connectors and triggers, and secret names and grants. Because it is a repo, you can grep the whole company, diff any change, and roll any part of it back.

An agent is agents/<name>.md (behavior) plus an agents.<name> block in kortix.yaml (governance). Session work reaches main through a change request. Merge is default-deny for agents, so the repo improves one reviewed change at a time.

Connectors and credentials

The repo also holds the connector config. Wire your tools up once, set each tool to Allow, Ask or Block, down to the arguments of each call, and scope which agent may touch which one. You get 3,000+ apps in a click, plus MCP, OpenAPI, Postman, GraphQL and raw HTTP.

Connector credentials are brokered server-side and never enter the machine. Secrets are encrypted at rest with a key per project, and their names and grants are declared in the manifest while the values never appear in the repo.

Models with your own keys

Kortix is model-agnostic, so you are not tied to one lab. Any model provider with your own keys. Or the ChatGPT plan you already pay for. Or sign in with your OpenCode Console account for OpenCode Zen and Go. A self-hosted instance uses your own key by default.

The first run asks six things and no model key. Models are BYOK in the app, and GitHub connects in the dashboard under Settings then Git.

Memory that accumulates in files

Memory is files that accumulate, not rows in someone else's database. Every fact the company learns lands in the repo next to the agents that use it, so it is versioned and diffable like everything else you own.

One isolated sandbox per session. Each session has its own isolated machine and branch, and only what a session commits survives.

Run it and keep it running

Back up before a destructive command. An instance stores its data as two directories under ~/.config/kortix/self-host/<instance>/: volumes/db/data for the Postgres database and volumes/storage for file storage, and the instance .env file holds every secret and signing key it uses. Every instance updates itself automatically, or you can pin an exact version with kortix self-host update --tag 0.9.84.

Open source. Read it, fork it, audit it. Start self-hosted, or Try Kortix in the cloud first.