Atlas Agents Control Panel

aacpanel

One machine, the containers on it and the Claude Code sessions running there — in your hand.

Not a dashboard. The panel does not only show containers, load and live sessions: it runs them.

What it is for

An alert arrives at night and you are holding a phone

A container is unhealthy, a disk is filling up, a session has been waiting an hour for an answer to a question nobody read. All of it is fixed by a few motions — restart this, answer that, look at the log — and none of them are worth getting to a desk for.

So the panel is built for a phone first: one thumb, one hand, no keyboard. The same page on a monitor spreads into columns and opens a terminal, because the work that is worth a desk is the work you already sat down for.

What it does

Runs the machine, not a picture of it

Containers

Grouped by stack, with health and the load each one takes. Up, down, restart — and the log right there.

Sessions

Every live session with how much of its context is spent. Open one, write into it, answer what it asks, close it.

The conversation

The feed of a session as it happens: what it read, what it changed, what it ran. Its questions come with the buttons to answer them.

The terminal

The real screen of the session, not a copy of it. Type into it from the same page you were just reading.

Load and alerts

Processor, memory, disks, network, the probes it runs. Rules watch the numbers and reach the phone when one of them stops being normal.

Files both ways

Send a photo or a document into a session, take what it produced back out — without a laptop in between.

How it is built

Three processes, and the line between them is the point

The panel holds no rights on the machine. It asks, and something else decides — which is what makes it safe to open from outside at all.

in a container

The service

One Go binary, the front end built into it, the schema travelling with it. No access to the host: it asks for actions rather than performing them.

on the host

The executor

The only thing that acts. It takes a named action over a socket, checks it against what it is allowed to do, and writes down what happened.

on the host

The collector

Reads and never writes: load, disks, processes, live sessions and how full their context is.

What it looks like

The same page in a hand and on a desk

Installing

Your own machine, your own database, nobody else's cloud

The panel is put on the machine it manages. There is no service to sign up for, nothing calls home, and the data stays where it was made.

# clone, describe the machine, bring it up
git clone <repository> aacpanel && cd aacpanel
cp deploy/host.env.example /var/lib/aacpanel/host.env
cp .env.example .env
docker compose up -d

The steps in full — the state directory, the secrets, the application role, the units, the way in from outside — are in INSTALL.md, written to be followed from the top down on a machine that has nothing on it yet.