Add panel-api and panelctl scripts for container management

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Jakub Dorfman 2026-04-26 19:42:30 +02:00
commit 8986399a92
4 changed files with 930 additions and 0 deletions

48
API.md Normal file
View file

@ -0,0 +1,48 @@
# panel-api
A tiny local HTTP API wrapper around panelctl for future frontend integration.
The service now also serves a lightweight web UI at `/`.
Default bind:
- 127.0.0.1:9911
## Endpoints
- GET /health
- GET /
- GET /apps
- GET /apps/<name>
- POST /apps/init
- POST /apps/<name>/render-route
- POST /apps/<name>/deploy
- POST /apps/<name>/stop
- POST /apps/<name>/remove
## Example payloads
Create app:
```json
{
"name": "whoami",
"domain": "whoami.srazka.com",
"port": 18080,
"auth": true
}
```
Remove and keep volumes:
```json
{
"keepVolumes": true
}
```
## Local test
```bash
curl -s http://127.0.0.1:9911/health | jq .
curl -s http://127.0.0.1:9911/apps | jq .
```