# 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. Lokale Infrastruktur starten: wird mit der offiziellen Supabase-Self-Hosted-Konfiguration ergaenzt. 8. Backend starten: `go run ./backend/cmd/api`. 9. Console-Proxy starten: `go run ./console-proxy/cmd/console-proxy`. 10. Frontend starten: `npm run dev --prefix frontend`. Aktuelle Targets: - `make test`: Go-Tests - `make build`: Go-Builds - `make frontend-build`: Frontend-Production-Build - `make lint`: Go Vet und Frontend-ESLint - `make verify`: Lint, Tests und Builds - `make migrate`: Platzhalter bis E2-T01 `golang-migrate` einbindet ## 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.