PushpendraPanel

v0.1.19Latest stable release

The secure Linux server control panel with Git deploys.

Your server, under control

Pushpendra Panel runs websites, Node.js apps, databases, DNS, mail and SSL on your own Ubuntu server — with a privilege-separated architecture and push-to-deploy built in.

curl -fsSL https://ptpanel.in/install.sh | sudo bash
Ubuntu 22.04 & 24.04 amd64 & arm64 Self-hosted on your server
Pushpendra Panel dashboard showing websites, applications, databases, server resources and security overview
Why Pushpendra Panel

Built for developers who care how their server is run

Traditional hosting panels were designed for shared hosting. Pushpendra Panel is designed around Git workflows, isolation and safe changes.

Git push to production

Atomic releases with health checks mean a broken build never takes your site down.

Safe by construction

Configs are validated before reload and the last known-good version is kept.

Made for teams and clients

Workspaces and roles let agencies hand over access without handing over the server.

One install command

A single script sets up the panel, agent, Nginx integration and database on a fresh Ubuntu server.

How it works

From a fresh server to a live deploy in three steps

Step 1

Install

Run one command on a fresh Ubuntu 22.04 or 24.04 server. The installer checks the system, creates service accounts and prints a one-time admin login.

Step 2

Add a site

Point your domain at the server and add it in the panel. Nginx config is generated and validated, and a Let’s Encrypt certificate is issued.

Step 3

Deploy

Connect a Git repository with a deploy key. Every push is built, health-checked and switched atomically — with instant rollback.

$ git push origin main
→ webhook verified · deployment #42 queued
→ fetch a1b2c3d · npm ci · npm run build
→ health check GET /health → 200 OK
→ switched release · previous release kept for rollback ✓
Security model

Privilege separation, not promises

The web interface never runs as root. Privileged work goes through a small agent that only accepts typed, validated operations.

Unprivileged API

The web API runs as an unprivileged user. It cannot run arbitrary shell commands — there is no such endpoint.

Typed privileged agent

Root-level work is done by a small Go agent that only accepts a fixed allowlist of schema-validated operations over a local socket.

Modern authentication

Argon2id password hashing, opaque session tokens stored only as hashes, brute-force lockouts and per-device session revocation.

Deny by default

Workspaces cannot see each other’s resources; databases and Redis are not exposed publicly unless you choose to.

Signed updates

Release archives are published with SHA-256 checksums and ed25519 signatures and delivered over TLS.

Audit everything

Privileged and sensitive actions are recorded with actor, IP, result and redacted metadata.

Websites & Nginx

Static, PHP, reverse-proxy and Node.js sites with Nginx configs generated from controlled templates.

  • Domains, aliases, redirects, custom headers and upload limits
  • Every change runs nginx -t first — a failing config never replaces the last known-good one
  • Per-site config history with rollback
  • Per-site PHP-FPM pools and PHP versions
server_name example.com www.example.com;
listen 443 ssl http2;
# generated by Pushpendra Panel — validated with nginx -t
Node.js apps & Git deploy

Push to a branch and ship: fetch → install → build → health check → atomic switch, with one-click rollback.

  • GitHub, GitLab, Bitbucket or any Git remote via deploy keys
  • Signed webhooks with replay protection
  • npm, pnpm or yarn; apps run as their own unprivileged user under systemd
  • Build logs, commit info and previous releases kept for rollback
push main → fetch a1b2c3d → npm ci → npm run build
→ GET /health 200 → switch release → reload ✓
Pricing

Start free, upgrade when you grow

Self-host the Community edition at no cost. Paid plans add more servers and priority help.

Community

Free and self-hosted, for personal servers and side projects.

Free
Self-hosted, forever
1 servers
  • All core modules
  • Git deploys for Node.js apps
  • Let’s Encrypt SSL
  • Community forum support
Install free
Recommended

Pro

For freelancers and small teams running production workloads.

$9/month
or $90 billed yearly
3 servers
  • Everything in Community
  • Multi-user workspaces
  • Off-site backups to S3-compatible storage
  • Email support
Upgrade to Pro

Business

For agencies and companies managing many servers and clients.

$29/month
or $290 billed yearly
10 servers
  • Everything in Pro
  • Priority support
  • Onboarding assistance
  • Custom roles for client access
Upgrade to Business
FAQ

Frequently asked questions

Which operating systems are supported?

Ubuntu 22.04 LTS and 24.04 LTS on amd64 or arm64. Debian support is planned. Install on a fresh server — the installer checks OS, architecture, memory, disk and required ports before changing anything.

How much does it cost?

See the pricing page. The Community plan is free to self-host; paid plans add more servers and support. Prices are shown in the currency configured by the owner.

Does it replace my existing panel?

Pushpendra Panel manages an existing Linux server. We recommend installing it on a fresh server rather than on top of another control panel, because both would try to own Nginx, DNS and mail configuration.

Can I host Node.js and PHP sites on the same server?

Yes. Each site chooses its mode — static, PHP, reverse proxy or Node.js application — and Node apps run as their own unprivileged users behind Nginx.

How are updates delivered?

The panel checks this site for new releases on your chosen channel (stable or beta). Every release archive has a published SHA-256 checksum and an ed25519 signature that the updater verifies before installing.

Where do I get help?

Start with the documentation, then ask in the community forum. You can also reach us through the contact page.

Take control of your server today

Install Pushpendra Panel on a fresh Ubuntu server in minutes. Join the forum if you get stuck.