48 lines
993 B
Markdown
48 lines
993 B
Markdown
# ClusterCanvas
|
||
|
||
A web-based dashboard for managing Proxmox VMs and LXC containers. After configuration it discovers hosts and shows per‑instance details like hostname, storage and RAM usage, and status. From the same interface you can view logs, run updates, deploy changes, and perform other routine maintenance tasks.
|
||
|
||
## Layout
|
||
|
||
| Path | Role |
|
||
|------|------|
|
||
| `service/` | Go HTTP API |
|
||
| `webui/` | Vite + React + TypeScript SPA |
|
||
|
||
## Prerequisites
|
||
|
||
- Go 1.22+
|
||
- Node.js 20+ and npm
|
||
|
||
## Run
|
||
|
||
Start the API (default `:8080`, override with `PORT`):
|
||
|
||
```bash
|
||
make service
|
||
```
|
||
|
||
Start the web UI (Vite on `:5173`, proxies `/health` and `/api` to the service):
|
||
|
||
```bash
|
||
make webui
|
||
```
|
||
|
||
Optional: set `VITE_API_BASE_URL` (defaults to `http://localhost:8080`) if you call the API without the Vite proxy.
|
||
|
||
## Test
|
||
|
||
```bash
|
||
make test
|
||
```
|
||
|
||
This runs `go test ./...` in `service/` and Vitest in `webui/`.
|
||
|
||
## Build
|
||
|
||
```bash
|
||
make build
|
||
```
|
||
|
||
Produces `bin/clustercanvas-server` and `webui/dist/`.
|