nixos/panel
Jakub Dorfman b2822b3c69 Add runtime environment checks for Podman in panelctl script
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 19:58:50 +02:00
..
API.md Enhance panel-api with compose functionality and update podman integration 2026-04-26 19:48:35 +02:00
panel-api.py Refactor is_safe_name and read_app_info functions for improved readability 2026-04-26 19:50:53 +02:00
panelctl.sh Add runtime environment checks for Podman in panelctl script 2026-04-26 19:58:50 +02:00
README.md Add runtime environment checks for Podman in panelctl script 2026-04-26 19:58:50 +02:00

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//compose.yaml
  • /home/reudy/containers/volumes//data
  • /home/reudy/containers/routes/.caddy
  • /home/reudy/containers/state/apps/.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: