Files
proxui/README.md
T
2026-06-09 20:31:08 +02:00

34 lines
1.5 KiB
Markdown

# ProxUI
Multi-Tenant-Konsole fuer Proxmox auf Basis von Go, Supabase Postgres/Auth, Redis/asynq und React.
## Architektur
- `backend/`: HTTP-API, Auth/JWT-Validierung, RBAC, DB-Zugriff und Proxmox-Orchestrierung
- `worker/`: asynchrone Jobs fuer Proxmox-Tasks, Reconciliation und Cleanup
- `console-proxy/`: Websocket-Proxy fuer noVNC/xterm.js ohne direkte Proxmox-Verbindung im Browser
- `frontend/`: React/TypeScript/Vite-App fuer Kunden- und Admin-Workflows
- `migrations/`: versionierte SQL-Migrationen
- `deploy/`: lokale und spaetere Deployment-Artefakte
## Lokales Setup
1. Go >= 1.22 installieren.
2. Node.js >= 20 und npm installieren.
3. Docker Desktop oder kompatible Docker Engine installieren.
4. `.env.example` nach `.env` kopieren und lokale Werte setzen.
5. Abhaengigkeiten installieren: `npm install --prefix frontend`.
6. Go-Abhaengigkeiten installieren: `go work sync`.
7. Backend starten: `go run ./backend/cmd/api`.
8. Console-Proxy starten: `go run ./console-proxy/cmd/console-proxy`.
9. Frontend starten: `npm run dev --prefix frontend`.
`make dev`, `make migrate`, `make test` und `make lint` werden mit E0-T02 angelegt, sobald die lokale Docker-Umgebung steht.
## Sicherheitsregeln
- Nur Backend, Worker und Console-Proxy sprechen mit Proxmox.
- Proxmox-Tokens werden nie im Frontend sichtbar und nie unverschluesselt gespeichert.
- Tenant-bezogene Queries muessen immer tenant-gefiltert sein.
- Secrets gehoeren in `.env` oder einen Secret-Manager, nie ins Repo.