OpenCroftInfrastructure, Meet Intelligence
Self-hosted · Open source · AI agents

Your Infrastructure. Your Agents. Your Rules.

Put your servers and containers on one canvas and run them from it: deploy, read logs, open a shell. AI agents work on the same canvas with your team, on the models you choose.

Run it with Docker
docker run -p 9999:9999 -v opencroft-data:/app/data ghcr.io/opencroft/opencroft:dev

Select a service and ask. The agent makes the change and tells you what it did.

Screenshot pending

The agent says what it changed

Why OpenCroft

Your agents see what you see

Servers sit in one console, deploy configs in a repository, tasks in a tracker, runbooks in a wiki, and agents in a terminal tab that sees none of it. OpenCroft puts them in one workspace you host.

It's built in OpenCroft itself, with agents, to work with agents.

Use cases

One workspace, from a homelab to a team's internal tools

  • Homelab

    Run your home server's containers from one canvas. Deploy, update images and read logs, with an agent that can look into a failing service.

  • Dev team

    Agents for code, review and bug reports, working in the team chat, on the task board and in your repositories.

  • Ops

    Backups, health checks and morning reports run on schedules, and an agent reads the results and tells you what needs a person.

  • Internal tools

    Build the node, app or dashboard your team is missing as an extension, and keep it next to the infrastructure it controls.

What OpenCroft does

Build your stack as nodes

Add this machine, WSL or any server over SSH, then the Docker hosts and the services that run on them, and wire them together. Machine and service cards control the real thing: deploy a service, read its logs or open a shell inside it.
  • Services from an image or your own Dockerfile, with ports, secrets and health checks
  • Passwords and API keys are stored encrypted, and nodes use them by name

Screenshot pending

Your stack as nodes you can run

Select a node, ask an agent

The agent knows exactly which server or service you mean. Agents can add nodes, change them and wire them up, and when a choice is yours, they ask you in the chat.
  • Each agent gets its own model, instructions and tools
  • Shared instructions on the canvas and pinned notes give every agent the same brief
  • Agents run commands through the same terminals you use

Screenshot pending

Each agent with its own provider, model and instructions

Your team and your agents in one chat

Every project has its own group chat, where people and agents work in threads, one agent per thread. Anyone on the team can read what an agent was asked and what it did.
  • Write while an agent is busy. Your message waits its turn, or you send it in right away
  • Set how often each agent picks up new messages, from right away to once a day
  • Replies can carry tables, callouts and collapsible details, and a task key becomes a link with its status

Screenshot pending

One chat for the people and the agents

Screenshot pending

An agent turns a bug report into a task

Work that starts on its own

A schedule or an incoming web request runs a script, and the script can hand its result to an agent's thread. Use it for nightly backups, a report every weekday morning or a webhook from another tool.
  • Scripts in Python or Node.js
  • Schedules like weekdays at 09:00 UTC
  • Each chat decides which automations may post into it

Screenshot pending

A schedule that hands its report to an agent

Tasks, docs, git and code, or an app you build yourself

Tasks, docs, git, a code editor and a design kit are extensions, each in its own public repository. Add the ones a project needs; agents use them too. Missing one? Write your own node or app in the browser, with a live preview of your node, or ask an agent to write it.

Screenshot pending

My work: what needs you now

My work shows what needs you now. Agents read the same list for themselves.

Screenshot pending

Every task in one list, in views you can save

Every task in one list, filtered your way, in views you can save.

Screenshot pending

A task board shared by people and agents

One board for the whole team, with tasks assigned to people and agents alike.

Screenshot pending

Agents report on the task itself

Agents report on the task itself, and every task key in the report links with its status.

Screenshot pending

A workflow where agents fix and review, and a person approves

One agent fixes the bug, another reviews it, and the merge waits for a person to approve.

Screenshot pending

Ask about the page you're reading in the chat beside it

Ask in the chat beside the page you're reading. The agent knows which page you mean.

Screenshot pending

Git: branches, commits and diffs in the browser

Worktrees side by side, and a full git client to review a change and commit it.

Screenshot pending

A code editor in the browser, on your own machine

The VS Code workbench in your browser, open on a folder on any machine in the space.

Screenshot pending

A component library with live previews

Your own component library with live previews, which agents can read and edit too.

1 of 9: My work

Self-hosted

Yours to run, yours to change

OpenCroft runs on a machine you control, and its source is public.

  • Self-hosted

    One container, with a built-in database in one volume, or your own PostgreSQL.

  • Your models

    Each agent has its own provider and model: API keys, a subscription you already pay for, or an OpenAI-compatible endpoint, including one you run yourself.

  • Backups built in

    Snapshots of settings, secrets and spaces on a schedule you set, with download and restore.

  • AGPL-3.0

    The source is public: read it, run it, change it. Extensions are MIT.

    Read the license

Screenshot pending

Backups on a schedule, with download and restore

Backups on a schedule, with download and restore

FAQ

Before you run it

What do I need to run it?

A machine with Docker. The image runs on amd64 and arm64 and keeps its data in a built-in database inside one volume, or in your own PostgreSQL server. The machines you connect need a bash shell; Windows shells aren't supported yet. You can also build it from source with Node.js.

Is it another coding agent?

No. OpenCroft is where agents work. It drives coding agents such as Claude Code, Codex and OpenCode through the Agent Client Protocol (ACP), each on your own API key or subscription. Its built-in agent works with any OpenAI-compatible endpoint, including a model you host yourself.

Where does my data live?

OpenCroft keeps its data on your machine: its database, built in or your own PostgreSQL, and the files apps store in the data volume. Docs are commits in the git repository you connect. What an agent sends to a model goes to the provider you chose for that agent.

Is it ready for production?

Not yet. OpenCroft is in active development with no stable release, and configuration, storage and UI can change between versions. Take a backup before you update.

What does it cost?

OpenCroft is free and open source under AGPL-3.0. You pay for your own server and for the models your agents use.

Can I contribute?

Not with code yet. The source is public, but the project doesn't accept outside contributions at the moment. Bug reports are welcome as GitHub issues, and you can extend it: build an extension and share it from a public git repository, or keep it on your own instance.

Give your agents a place to work

Run OpenCroft on your own server, put your machines and services on the canvas, and hand your agents their first job.

Run it with Docker
docker run -p 9999:9999 -v opencroft-data:/app/data ghcr.io/opencroft/opencroft:dev

Then open http://localhost:9999, or your server's address on port 9999, and create your admin account.

OpenCroft is in active development and hasn't reached a stable release yet.

Not ready to run it yet? Watch the repository on GitHub to hear about releases, and report bugs as issues.