Install with Podman
On Podman, Quasar’s seed runs as a Quadlet unit: a small file that systemd runs like any other service. The quick start writes for you to save and start. This page covers host preparation, starting the unit and checking the installation. Inputs, roles and the recovery actor are the same as on Docker.
Rootful first
Section titled “Rootful first”This page is rootful Podman (experimental): Podman runs as root. To run Quasar as an ordinary account instead, follow Install rootless. Status per platform: Container engines.
| Rootful | Rootless | |
|---|---|---|
| Unit file | /etc/containers/systemd/quasar-seed.container |
~/.config/containers/systemd/quasar-seed.container |
| Managed by | systemctl |
systemctl --user |
| Socket | /run/podman/podman.sock |
$XDG_RUNTIME_DIR/podman/podman.sock |
Prepare the host
Section titled “Prepare the host”Once, from an account with sudo. The quick start shows the same commands.
sudo systemctl enable --now podman.socketsudo systemctl enable podman-restart.service| Command | Why |
|---|---|
podman.socket |
The API the seed talks to. |
podman-restart.service |
Brings Quasar’s containers back after a reboot: Podman has no daemon to do it. |
NVIDIA: complete NVIDIA setup for Podman before deploying. It includes CDI device generation, verification and SELinux policy.
Check it worked: systemctl is-enabled podman.socket podman-restart.service
says enabled twice.
Docker on the same machine
Section titled “Docker on the same machine”If Docker also runs here, Docker can block Podman’s published ports. Docker drops
forwarded traffic when it had to turn IP forwarding on itself. Quasar then answers on
127.0.0.1 but not from the network.
| What to do | How to know it worked |
|---|---|
Add "ip-forward-no-drop": true to /etc/docker/daemon.json, then sudo systemctl restart docker |
sudo iptables -S FORWARD starts with -P FORWARD ACCEPT |
A firewall rule that opens Quasar’s ports is still needed as usual. Removing Docker works too.
Optional: console mode needs the console rules from Device rules, and the UDP send buffer makes streams smoother.
Installing
Section titled “Installing”-
In the quick start, choose Podman and download the Quadlet configuration from Result.
-
Save it as
/etc/containers/systemd/quasar-seed.container, then load and start it:Terminal window sudo systemctl daemon-reloadsudo systemctl start quasar-seed
The compatible seed resolves image tags to immutable digests on first install. Keep the machine-state volume and user homes when changing the unit.
Adding a GPU host
Section titled “Adding a GPU host”Run the Add host command as root (sudo -i,
then paste it). Rootful Podman’s socket is visible to root only, so from an
ordinary account, even one with sudo, the command reports no container engine
found.
Check it came up
Section titled “Check it came up”sudo systemctl status quasar-seedsudo podman logs quasar-seedsudo podman exec quasar-recovery quasar-recovery statusThe recovery actor’s status is the most useful: it reports the install itself.
Then continue with Create your account, using
sudo podman where it says docker.
Boot behaviour
Section titled “Boot behaviour”- The Quadlet unit starts the seed at boot.
podman-restart.servicebrings Quasar’s other containers back. Without it they stay stopped after a reboot.- The recovery actor makes
/run/quasar-agentagain (a reboot empties/run), then starts the agent if it is not running.
Rootless: a session as the quasar account
Section titled “Rootless: a session as the quasar account”Rootless commands need a full systemd user session for quasar. sudo -u quasar
is not enough:
sudo machinectl shell quasar@Then use systemctl --user and podman without sudo. Exit normally when done;
lingering keeps Quasar running. If an install or update stalls waiting for health
checks, the account has no user session yet: open one this way. Setup:
Install rootless.