panel/README.md
Jakub Dorfman 2fdb2eb5a2 Add runtime environment checks for Podman in panelctl script
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 19:58:50 +02:00

39 lines
1.2 KiB
Markdown

# panelctl quickstart
This repository now includes a small helper command named panelctl for Phase 2.
Base directory:
- /home/reudy/containers
Generated structure:
- /home/reudy/containers/stacks/<app>/compose.yaml
- /home/reudy/containers/volumes/<app>/data
- /home/reudy/containers/routes/<app>.caddy
- /home/reudy/containers/state/apps/<app>.env
Quick workflow:
1. Create a new app definition:
panelctl init whoami whoami.srazka.com 18080 true
2. Deploy it with Podman compose:
panelctl deploy whoami
3. If deploy says caddy reload needs root:
sudo systemctl reload caddy
4. List apps:
panelctl list
5. Inspect one app:
panelctl show whoami
6. Remove app but keep data:
panelctl remove whoami --keep-volumes
Notes:
- The default compose file uses traefik/whoami for smoke testing.
- Edit each generated compose.yaml before production use.
- App names must be lowercase slugs.
- If deploy reports XDG_RUNTIME_DIR missing, enable lingering for the runtime user:
`sudo loginctl enable-linger reudy`
API service:
- Nix now runs panel-api as a systemd service on 127.0.0.1:9911.
- Caddy proxies https://panel.srazka.com to panel-api with your existing forward_auth pattern.
- Open https://panel.srazka.com for the web UI.
- API docs are in panel/API.md.