Part of #6
Question
How does a Core run as a container rather than as a machine?
Everything about the Core today assumes a real host: actana setup writes a systemd user unit, enables lingering, and the daemon is supervised by systemd. The published "Core image" sidesteps this by running full systemd under --privileged with a hardcoded hostname — which is exactly what we are killing.
Settle:
- PID 1. Does the daemon run directly as PID 1, or under a minimal supervisor? What handles signals and zombie reaping, given the daemon forks PTYs?
- Configuration. On a real machine
actana setup is interactive and writes state. In a container, config should arrive as environment variables and a mounted volume. Which env vars, and what is the minimum set to bring up a working Core?
- Pairing. How does a containerised Core get its pairing token and register with the Panel — pre-seeded env var, a token file in the volume, or a first-run flow? What happens on container restart?
- State. What lives in the volume, and what is safe to lose.
- Repos. How does a user's actual work get in — bind mount, named volume, or clone-on-demand inside the container?
actana setup in a container. Does it still run (in a degraded, no-systemd mode), or does the container image bypass the CLI's lifecycle verbs entirely? These are two quite different designs; pick one.
- The
deploy/dev/core.Dockerfile fixture. Does it survive as a local-only test fixture, or is it deleted once the real image can be smoke-tested?
Also decide the shape of the reference docker-compose.yml that runs a Panel and a Core together on one machine — the "people who want both" case.
Part of #6
Question
How does a Core run as a container rather than as a machine?
Everything about the Core today assumes a real host:
actana setupwrites a systemd user unit, enables lingering, and the daemon is supervised by systemd. The published "Core image" sidesteps this by running full systemd under--privilegedwith a hardcoded hostname — which is exactly what we are killing.Settle:
actana setupis interactive and writes state. In a container, config should arrive as environment variables and a mounted volume. Which env vars, and what is the minimum set to bring up a working Core?actana setupin a container. Does it still run (in a degraded, no-systemd mode), or does the container image bypass the CLI's lifecycle verbs entirely? These are two quite different designs; pick one.deploy/dev/core.Dockerfilefixture. Does it survive as a local-only test fixture, or is it deleted once the real image can be smoke-tested?Also decide the shape of the reference
docker-compose.ymlthat runs a Panel and a Core together on one machine — the "people who want both" case.