Conventions » History » Version 1
Redmine Admin, 10/25/2026 04:15 PM
| 1 | 1 | Redmine Admin | # Conventions |
|---|---|---|---|
| 2 | |||
| 3 | Host: `dmz-web` (Rocky Linux 10.2). Everything runs **rootless** under user |
||
| 4 | |||
| 5 | `websvcmaster` (no sudo) as Quadlet units in `~/.config/containers/systemd/`. |
||
| 6 | |||
| 7 | Design rule: **shared-nothing** — every service gets its own network, DB |
||
| 8 | |||
| 9 | container, app container and volumes; the only thing joined to all of them is |
||
| 10 | |||
| 11 | Nginx Proxy Manager. |
||
| 12 | |||
| 13 | Naming inversion to remember: containers are `db-<name>`, secrets are `<name>-db-…`. |
||
| 14 | |||
| 15 | ## Shell setup (every session) |
||
| 16 | |||
| 17 | `sudo -iu websvcmaster` doesn't run PAM session setup, so `systemctl --user` |
||
| 18 | |||
| 19 | fails with "Failed to connect to user scope bus" until: |
||
| 20 | |||
| 21 | ``` |
||
| 22 | export XDG_RUNTIME_DIR=/run/user/$(id -u) |
||
| 23 | export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus |
||
| 24 | systemctl --user show-environment >/dev/null && echo OK |
||
| 25 | ``` |
||
| 26 | |||
| 27 | Lingering must be on (`loginctl show-user websvcmaster | grep Linger`, as root). |
||
| 28 | |||
| 29 | No write access to system `/tmp` — use `~/tmp`. |
||
| 30 | |||
| 31 | Where things live: |
||
| 32 | |||
| 33 | ``` |
||
| 34 | ~/.config/containers/systemd/ # live Quadlet units (the "pod config") |
||
| 35 | ~/deploy/ # add-wordpress-site.sh, check-sites.sh |
||
| 36 | ~/deploy/quadlet/ # generated unit templates (source of truth, cp'd into the dir above) |
||
| 37 | ~/.local/share/containers/storage/volumes/<vol>/_data/ # named volume contents |
||
| 38 | ~/.local/share/containers/storage/secrets/filedriver/ # secret store |
||
| 39 | ~/redmine_data/ # Redmine bind mounts (config, plugins, images, assets) |
||
| 40 | /srv/git/ # bare git repos (root-owned, read-only into Redmine) |
||
| 41 | ``` |
||
| 42 | |||
| 43 | --- |
||
| 44 | |||
| 45 | *Source: `dmz-web-podman-cheatsheet.md` v1.1.1 in the `dmz-web-deploy` repo ([Releases](#)). Edit the wiki and the repo copy together.* |