Case study

VPSHub

A self-built panel to run the VPS: server metrics, Docker containers, deploying projects from GitHub and publishing them through Nginx Proxy Manager and Cloudflare.

VPSHubPreview

Problem

Running the VPS was spread across Webmin, Portainer, Nginx Proxy Manager and phpMyAdmin. Shipping a new project took several manual steps in each tool.

What was built

A Next.js panel with an admin login that brings server operations into one place.

  • Dashboard with CPU, memory, swap, disk and host information
  • Docker container management: list, start, stop and restart
  • Project deploys from a GitHub repository, with automatic stack detection and environment variables
  • WordPress site creation using the VPS central MariaDB database
  • Automatic publishing: a Nginx Proxy Manager proxy host and a Cloudflare DNS record
  • Cloudflare Tunnel routes managed through the API, straight from the panel
  • GitHub, Cloudflare, NPM and central database integrations set up on the settings screen, with encrypted credentials

What sets it apart

The panel ships itself safely: CI with tests, lint, build and Playwright, an image published to GHCR by immutable digest, a restricted SSH user and a health check with automatic rollback to the previous version if the new one fails.