Podman Quadlet unit files for running Termix — a self-hosted web terminal — alongside the Apache Guacamole guacd daemon.
| File | Type | Purpose |
|---|---|---|
termix.container |
Container | Termix web app, exposed on port 18080 |
guacd.container |
Container | Guacamole protocol daemon (guacd) |
termix-data.volume |
Volume | Persistent data for Termix |
termix.network |
Network | Shared bridge network between containers |
- Podman ≥ 4.4 (Quadlet support built-in)
- systemd user session (or root, adjusting paths accordingly)
-
Clone this repo:
git clone https://github.com/<your-username>/termix-quadlet.git
-
Copy the unit files into your Podman Quadlet directory:
# For a rootless (user) install: mkdir -p ~/.config/containers/systemd cp *.container *.volume *.network ~/.config/containers/systemd/ # For a system-wide (root) install: sudo cp *.container *.volume *.network /etc/containers/systemd/
-
Reload the systemd daemon so it picks up the new units:
systemctl --user daemon-reload # or, for root: sudo systemctl daemon-reload -
Start the stack:
systemctl --user start termix.service # guacd will start automatically as a dependency -
Open Termix in your browser at http://localhost:18080.
Environment variables are set in termix.container:
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
Internal port Termix listens on |
LOCAL_AUTH_ENABLED |
true |
Enable local username/password authentication |
Edit termix.container and run systemctl --user daemon-reload && systemctl --user restart termix.service to apply changes.
Both containers share the termix-net bridge network (defined in termix.network), so Termix can reach guacd by container name without exposing guacd to the host beyond port 4822.
Termix stores its data (users, connections, settings) in the termix-data volume defined by termix-data.volume. This volume survives container restarts and updates.
podman pull ghcr.io/lukegus/termix:latest
podman pull docker.io/guacamole/guacd:1.6.0
systemctl --user restart termix.service guacd.serviceMIT