Operating a Core
The machine verbs operate this machine's Core. They do not take --core — the Core they mean is the one on the box you are typing on. (Driving Cores near or far is the client commands.)
Install and activate
Installing is not activating.
| Verb | What it does |
|---|---|
actana install |
Fetch a release, verify the checksum, unpack, and start a Core. |
actana place |
Put an extracted bundle here and link the launcher, then stop. Nothing is started, no identity is minted. This is what install.sh runs. |
actana setup |
Activate from a placed bundle — or fetch one when there is none. Writes the auto-start unit, starts the daemon, registers this Core with this machine's actana. |
Details: Install Core and Actana Setup.
Day-to-day
actana status
actana logs -f
actana start
actana stop
actana restart
status prints the daemon's health, versions, endpoint, and Harness availability — and exits non-zero when the Core is not healthy, so it works as a health check in scripts. logs takes -f / --follow and -n / --lines <n>; on Linux it reads the journal, on macOS it tails ~/Library/Logs/Actana/core.log. start, stop and restart drive systemd or launchctl for you.
Pairing lifecycle — mint, list, revoke — is on Create a Pairing Code:
actana pair new
actana pair ls
actana pair revoke <target>
actana pair is the Core end; actana core pair is the client end.
Update
actana update
update asks for the newest release, verifies the tarball against SHA256SUMS, installs it beside the running one, and repoints current before restarting. Pairing stays intact. Pin with actana update --version x.y.z. A beta machine is left alone by a bare update — see Installing a Beta. Once a day status names a newer release if one exists; nothing downloads until you type update. ACTANA_UPDATE_CHECK=0 turns the check off.
Rotate identity
actana token regenerate
Mints a fresh CA, certificates and bearer secret, then restarts the daemon — every paired client stops working and must pair again. There is no actana token that reprints a credential. The full re-pairing choreography, including the Panel's remove-first step: Rotate the CA.
Install a Harness later
actana harnesses install opencode
The id is the Harness name or its command (claude-code and claude both work). After an install the Core re-probes immediately, so a paired Panel sees the new Harness without a restart. See Harnesses.
Uninstall
actana uninstall # keep sessions and credentials
actana uninstall --purge-data # also delete those; cannot be undone
Without --purge-data, reinstalling picks up where you left off with the same Panel still paired. Both forms ask for confirmation; pass --yes in a script.
Inside the Core image
The image is the install, so lifecycle verbs refuse and print the Docker command that does the same job:
| Verb | On the host |
|---|---|
setup |
set ACTANA_PUBLIC_HOST, then docker compose up -d |
start / stop / restart |
docker compose up -d / stop / restart |
update |
docker compose pull && docker compose up -d |
logs |
docker compose logs -f core |
uninstall |
docker compose down (-v also deletes sessions and pairing) |
These still work inside the container: status, pair, token regenerate (then docker compose restart so the daemon loads the new material), harnesses. The image reads ACTANA_PUBLIC_HOST (required, never guessed), ACTANA_PORT, and ACTANA_LABEL. Client commands are never refused in the image.
See also
- Actana Setup
- Create a Pairing Code
- Observability — where logs land, lines worth grepping.
- Environment Variables