ToolsMy tool

VPS Manager

Control panel for self-hosted servers

A single-server dashboard for VPSs that run projects under PM2 or Docker, designed to be fully usable from a phone.

Role
Designer and developer
Type
My tool
Year
2026
Status
In daily use
server-01ubuntu · 4 vCPU · 8 GB
CPU23%
Memory3.1 GB
Disk41%

Illustration of a deploy streaming live in VPS Manager.

Overview

I host my own products and several client systems on Linux VPSs. VPS Manager is the control panel I built to run them, from a laptop or from my phone.

It shows every PM2 process and Docker container with its git branch, tag and whether it is behind origin, deploys with one tap, and opens a real terminal for any project in the browser.

Built with

  • React
  • Node.js
  • Express
  • WebSockets
  • xterm.js
  • node-pty
  • PM2
  • Docker

What I built

  1. 01Live CPU, memory, disk and network charts over WebSockets
  2. 02Every PM2 process and Docker container, with git branch, tag and behind-origin status
  3. 03One-tap deploys: fetch → checkout → install → build → restart, streamed live
  4. 04A persistent browser terminal for every project, with node-pty and xterm.js
  5. 05A watchdog with Telegram alerts for leaks, restart loops, OOM exits and full disks
  6. 06A phone-first layout, so a server can be fixed from anywhere

Engineering

  • Stops at the first failure

    Every deploy step streams its output live, and the pipeline halts on the first error, so a failed build doesn't restart the running app.

  • Real terminals

    node-pty spawns a persistent shell for each project, and xterm.js renders it in the browser.

  • Problems find me

    The watchdog looks for memory-leak signals, restart loops, OOM exits and full disks, and alerts me on Telegram.

Selected work01About me02How I work03Experience04Tech stack05Contact06REM NexusHR services & sports arena platformBizUpwardMulti-tenant SaaS for service businessesWingZ TopupGame top-up platform, built end to endVPS ManagerControl panel for self-hosted serversZipizyEveryday tools that never upload your filesGumas CargoCargo payments workspaceSend me an emailMailMessage me on WhatsAppOpenDownload my résuméPDFGitHub profileOpenLinkedIn profileOpen