39 lines
1.2 KiB
Markdown
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.
|