Laravel 13, MariaDB, Redis and a Blade + Tailwind frontend. The host needs Docker and
nothing else — no PHP, no Composer, no database.
web
nginx — the sole host-published port
edge
app
The web app itself — and the only one that touches the database schema
core
queue
All provisioning, power, backup and port-forward work
core
scheduler
Stats, task polling, orphan scans, health heartbeat
core
console
Long-lived VNC websocket relay
core
db / redis
MariaDB 10.11 · Redis for cache, session and queue
state
Nothing is lost to a refresh
Slow work happens in the background and reports its progress to the page. Close the tab mid-build, come back later, and it's exactly where you left it.
Safe to run twice
Setup checks what's already there before it changes anything, so running it again on a cluster that's already configured does nothing rather than making a mess.
Each tool does one job
Proxmox handles the firewalling, UniFi handles the port forwarding, and neither is asked to do the other's job.