Initial: Homelab Butler API proxy
This commit is contained in:
commit
b1aa6671e2
6 changed files with 259 additions and 0 deletions
77
README.md
Normal file
77
README.md
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
# Homelab Butler
|
||||
|
||||
Unified API proxy for the Pfannkuchen homelab. One token, one URL, all services.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Set your butler token
|
||||
echo "BUTLER_TOKEN=$(openssl rand -hex 24)" > .env
|
||||
|
||||
# Deploy
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
TOKEN="your-butler-token"
|
||||
BUTLER="http://10.4.1.116:8888"
|
||||
|
||||
# List available services
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/
|
||||
|
||||
# Dockhand (session auth handled automatically)
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/dockhand/api/environments
|
||||
|
||||
# Sonarr
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/sonarr/api/v3/series
|
||||
|
||||
# Radarr
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/radarr/api/v3/movie
|
||||
|
||||
# Seerr
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/seerr/api/v1/request
|
||||
|
||||
# Proxmox
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/proxmox/api2/json/nodes
|
||||
|
||||
# Home Assistant
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/homeassistant/api/states
|
||||
|
||||
# Outline Wiki
|
||||
curl -s -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
|
||||
-d '{}' $BUTLER/outline/api/collections.list
|
||||
|
||||
# n8n
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/n8n/api/v1/workflows
|
||||
|
||||
# Grafana
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/grafana/api/dashboards/home
|
||||
|
||||
# Uptime Kuma
|
||||
curl -s -H "Authorization: Bearer $TOKEN" $BUTLER/uptime/api/status-page/pfannkuchen
|
||||
```
|
||||
|
||||
## Services
|
||||
|
||||
| Service | Backend | Auth handled |
|
||||
|---------|---------|-------------|
|
||||
| dockhand | 10.4.1.116:3000 | Session cookie (auto-login) |
|
||||
| sonarr | 10.2.1.100:8989 | X-Api-Key |
|
||||
| sonarr1080p | 10.2.1.100:8990 | X-Api-Key |
|
||||
| radarr | 10.2.1.100:7878 | X-Api-Key |
|
||||
| radarr1080p | 10.2.1.100:7879 | X-Api-Key |
|
||||
| seerr | 10.2.1.100:5055 | X-Api-Key |
|
||||
| outline | 10.1.1.100:3000 | Bearer token |
|
||||
| n8n | 10.4.1.113:5678 | Bearer token |
|
||||
| proxmox | 10.5.85.11:8006 | PVEAPIToken |
|
||||
| homeassistant | 10.10.1.20:8123 | Bearer token |
|
||||
| grafana | 10.1.1.111:3000 | Bearer token |
|
||||
| uptime | 159.69.245.190:3001 | Bearer token |
|
||||
|
||||
## Credentials
|
||||
|
||||
API keys are read from `/app-config/kiro/api/` (mounted read-only). The butler token is set via `BUTLER_TOKEN` env var.
|
||||
|
||||
For Dockhand: create `/app-config/kiro/api/dockhand` with the admin password.
|
||||
Loading…
Add table
Add a link
Reference in a new issue