stacks-panel — server management for workshop clients
Lean web panel for my workshop servers. Live metrics, service control, logs. Single binary in Go (~25 MB), runs on any Linux server without runtime dependencies.
What is stacks-panel?
Every workshop server I deploy comes with stacks-panel pre-installed — a lean, individual web admin panel that I tailor to each client’s setup on request.
Standard solutions are: Plesk / cPanel (commercial, ~€50-150/month, often overkill), Webmin (open source, visually stuck in the 2000s), or nothing (SSH + tmux + grep — works, but not for clients without Linux background).
stacks-panel is my lean answer — a customisable config panel that lets you see what runs on your server.
What it can do today
Live metrics in browser via WebSocket (CPU, RAM, disk, network, load), service control (status/start/stop for any systemd service), log reading (journalctl with filter and live tail), backup triggers (wrappers around restic), JWT login with bcrypt, single binary deployment.
What it does not aim to be
Not a Plesk clone (no 50 modules for every possible use case), not a multi-tenant hosting platform, no auto-installers for WordPress / apps.
Included in every workshop package
stacks-panel is not an add-on — it ships with every Workshop Server (S, M, L, Root) automatically. Setup, updates and monitoring are included.
If you need an individual panel with custom modules (web-hooks, custom widgets, industry dashboards): available as a separate project from €1,500.
Why Go?
Single binary (no Python venv hell, no node_modules), statically compiled (runs on any Linux server from kernel 3.x onwards), high performance (under 50 MB RAM at 1,000 concurrent WebSocket connections), strong types and a minimal dependency list.
Status
Pilot setup running on my own workshop servers in Germany. First pilot installations available on request at pilot pricing.
Outcomes
- Single binary, ~25 MB, statically compiled (CGO_ENABLED=0)
- Runs on any Linux server without runtime dependencies
- Live system metrics via WebSocket in the browser
- Service status, start/stop, logs from Nginx/Caddy/Postgres etc.
- JWT-based login with bcrypt-hashed passwords
- Persistent configuration in local SQLite file
- Included automatically with every Workshop Server and Workshop Root