Skip to content
Meet Cosmo, the assistant that knows your cluster

Your servers,
run like a platform.

Coswarm turns your Linux machines into a Docker Swarm platform: deploys, domains with HTTPS, databases and logs, in one panel. When something breaks, Cosmo finds out why and proposes the fix. You approve it.

curl -fsSL https://coswarm.dev/install.sh | bash

Free to self-host · any Linux server with Docker · run it as root

panel.acme.dev/dashboard

A picture of the Coswarm dashboard: Cosmo has found that the checkout service is down since a deploy, explains that the new image needs a DATABASE_URL variable, and proposes setting it, waiting for approval.

1

line to install

65

apps in the marketplace

51

tools Cosmo can use

14

WAF rule groups per domain

$0

to self-host, for good

Cosmo

An assistant that knows your cluster.

Cosmo lives in the panel. Ask why something broke and it reads the tasks, the logs and the last change before it answers. Ask for a change and it writes the plan, shows you what moves, and waits.

  • It reads first

    31 read tools: apps, tasks, logs, versions, domains, traffic, disk. Reading never needs a yes.

  • It proposes, you decide

    A change is a plan with a diff and a risk level. Nothing runs until you approve that exact plan.

  • Your model, your key

    OpenAI, Anthropic, OpenRouter, Ollama or any OpenAI-compatible server. Off until you turn it on.

How Cosmo works
panel.acme.dev/cosmo

A conversation: asked why checkout went down, Cosmo reads the app, its tasks, its logs and compares two versions, explains the missing DATABASE_URL and proposes setting it, waiting for approval.

The panel

Everything a platform does. On servers you own.

Deploys, the edge, data, logs and a marketplace, built on Docker Swarm, so there is nothing new to run underneath.

Approvals

Nothing changes without a yes.

The same rules hold for people and for Cosmo: permissions checked when a change is planned and again when it runs, and the areas you care about held for a second person.

01

A plan, not a guess

Every change is first written as a plan with no side effects: what moves, from what to what, and how risky it is.

02

A yes for that plan

An approval is single-use, yours alone, valid for minutes, and bound to the plan. If anything changed meanwhile, nothing runs.

03

A second pair of eyes

Switch on four-eyes approval for roles, users, apps, domains, secrets or settings, and changes there wait for someone else.

04

A record of it all

Who asked, who approved, what ran: in the activity log, filterable and grouped by day.

panel.acme.dev/approvals/184

Install

From a bare server to a platform in minutes.

Coswarm runs on the servers you already have. More of them join as Swarm nodes with the token the panel shows you.

  1. 1

    Run one line

    On a Linux server with Docker, as root. It sets up Swarm, an encrypted overlay network, the panel, the proxy and its database.

    curl -fsSL https://coswarm.dev/install.sh | bash

  2. 2

    Answer four questions

    Your domain, the panel’s subdomain, how Let’s Encrypt should check it, and the admin’s email. Point the DNS at the server.

    panel.acme.dev → 203.0.113.10

  3. 3

    Sign in and ship

    Open the panel over HTTPS, change the first password, and deploy your first image or a marketplace app.

    https://panel.acme.dev

curl -fsSL https://coswarm.dev/install.sh | bash

Needs Docker, root and a public IPv4 address. Read the script before you run it.

Compare

The platform part, without the Kubernetes part.

Swarm is simpler to run than Kubernetes and does less. Coswarm adds what Swarm leaves to you, and says plainly where Kubernetes still goes further.

TopicCoswarmKubernetesDocker Swarm alone
Getting started One line, a few questions A cluster, an ingress, cert-manager, a dashboard… docker swarm init, then the CLI
What you learn Apps, domains, projects Pods, deployments, services, ingress, CRDs Stacks and the Docker CLI
Web panel Built in Add-ons None
HTTPS Automatic, Let’s Encrypt cert-manager Up to you
Web application firewall Per domain, OWASP CRS Add-on Up to you
Databases in the browser PostgreSQL, MySQL, Redis Separate tools Separate tools
Approvals and audit Four-eyes areas, activity log GitOps, admission policies None
AI assistant Cosmo, every change approved — —
The full comparison

FAQ

Questions, answered.

All questions
What is Coswarm?

A self-hosted platform on Docker Swarm. It gives your own servers what a hosted platform gives you: deploys with rollouts, domains with automatic HTTPS and a firewall, a database tool, logs and a marketplace of apps, in one web panel. Cosmo, its assistant, can explain what went wrong and propose fixes you approve.

What do I need to run it?

A Linux server with Docker installed, root access, a public IPv4 address and a domain you can point at it. The install script sets up Swarm and everything else. More servers join as Swarm nodes with the token the panel shows you.

Is it really free?

Yes. Self-hosting Coswarm costs nothing, with every feature and no limits on apps, nodes or users. If your organisation wants help with setup, architecture or support, write to us.

Do I have to use Cosmo?

No. Cosmo is off until an administrator turns it on and sets up a model provider, and the panel works fully without it. You can also let it read only, so it explains but never changes anything.

Which models does Cosmo work with?

OpenAI, Anthropic and OpenRouter with your own key, Ollama on your own hardware, or any OpenAI-compatible server such as vLLM, LM Studio or LiteLLM. A model has to pass a check that it can call tools before it is used. Keys are stored encrypted and never sent back to the browser.

What does Cosmo send to the model provider?

Your messages and what Cosmo reads to answer them. Passwords, tokens and keys are masked before anything leaves the server, and values you paste become placeholders the server fills in, so the model never sees them. With Ollama, nothing leaves your network.

Your servers are waiting.

One command, a minute or so, and the panel is on your domain. Free, and yours to keep.

curl -fsSL https://coswarm.dev/install.sh | bash