Built with AI-assisted tooling: This project was developed primarily using Zed and OpenCode.ai together.
Promo: You've been invited to join the GLM Coding Plan. Enjoy full support for Claude Code, Cline, and 20+ top coding tools — with z.ai offering 3x more usage than Claude Code, starting at just $18/month. Join now.
SkyPanelV2 is an open-source full-stack VPS management and billing platform built for Linode-based hosting businesses and self-hosted deployments. It provides a complete customer portal, admin dashboard, automated hourly billing, real-time SSH console access, multi-tenant organization management, integrated support ticketing, blog/CMS, Enhance web hosting integration, fraud protection, refund management, and API key authentication — all in a single deployable application.
Open source: Anyone can clone, self-host, adapt, and extend this project under the terms of the included MIT License.
Revenue Model: Linode base cost + admin markup = customer hourly rate. Example: $5.00/mo base + $5.00/mo markup = $10.00/mo to customer. Billing is hourly — charges are deducted from the organization's prepaid wallet every hour via an automated cron scheduler. Customers fund their wallets through PayPal.
Detailed documentation is organized in the git-docs/ directory:
| Document | Description |
|---|---|
| Architecture | System overview, high-level architecture, application flow diagrams (auth, provisioning, billing, SSH, notifications, payments) |
| Frontend | React tech stack, route map, context providers, key components |
| Backend | Express tech stack, API route inventory, middleware pipeline, service layer, provider architecture |
| Database | Entity relationships, table definitions, migration history (001–076) |
| Features | Core features — VPS, hosting, billing, fraud, refunds, orgs, auth, real-time, admin, UI/UX |
| Security | Encryption, access control, rate limiting tiers |
| Development | Prerequisites, quick start, environment variables, icons/logo, dev commands |
| Deployment | Production architecture, PM2, CDN config, health check, maintenance |
| CLI Toolkit | Admin CLI tool — user management, billing, VPS, hosting, org, ticket commands |
| Project Structure | Full directory tree |
| Egress Billing | Egress credit system — architecture, billing, purchase flow, abuse prevention |
| Document | Description |
|---|---|
AGENTS.md |
Coding agent guidelines — current app state, structure, patterns, and practical guidance |
CLAUDE.md |
Claude Code development reference |
repo-docs/ENVIRONMENT_VARIABLES.md |
Complete environment variable reference |
repo-docs/ADMIN_COMPONENTS.md |
Admin dashboard component reference |
repo-docs/ADMIN_TROUBLESHOOTING.md |
Admin troubleshooting guide |
repo-docs/enhance-integration.md |
Enhance web hosting integration docs |
api/services/providers/ARCHITECTURE.md |
Provider service architecture (Linode) |
api/services/providers/README.md |
Provider service documentation |
api/services/providers/CACHING.md |
Provider caching strategy |
api/services/providers/API_DOCUMENTATION.md |
Provider API documentation |
scripts/README.md |
Utility scripts reference |
| Document | Description |
|---|---|
| Security Policy | Vulnerability reporting, dependency audit gates, SBOM, CORS |
| Production Checklist | Pre-deployment checklist (~60 items) |
| Pre-Release Verification | Verification procedure before every release |
| Rollout Checklist | Step-by-step deployment and rollback |
| Infrastructure Verification | Proxy, PM2, health, TLS verification |
| Migration Verification | Database migration procedures |
| Dependency Review | Weekly dependency review process |
| Dependency Analysis | Unused dependency analysis report |
| PWA Setup | Progressive Web App configuration |
| XSS Protection | XSS protection implementation record |
| Linode Coverage Matrix | Frontend-to-API-to-Linode mapping |
| Linode Feature Roadmap | Feature parity and backlog |
| Enhance Hosting Coverage | Enhance API operation coverage matrix |
| Notification Consolidation | Notification route consolidation plan |
| Volumes User Flow | Block storage volume management |
Note: Root-level files
IDENTITY.md,MEMORY.md,SOUL.md,TOOLS.md,USER.md, andHEARTBEAT.mdare AutoClaw agent workspace configuration — not project documentation.
# 1. Clone and install
git clone https://github.com/gvps-cloud/skypanelv2.git
cd skypanelv2
npm install
# 2. Configure environment
cp .env.example .env
node scripts/generate-ssh-secret.js # Generates SSH_CRED_SECRET
# 3. Edit .env with your values (see git-docs/DEVELOPMENT.md)
# 4. Setup database
npm run db:fresh # Reset + run all migrations
npm run seed:admin # Create admin user
# 5. Apply branding
node scripts/seed-branding.js
# 6. Start development
npm run dev # Frontend (5173) + Backend (3001)See Development Setup for full environment variable reference, API key setup, and branding configuration.
| Category | Command | Description |
|---|---|---|
| Dev | npm run dev |
Frontend + backend concurrently |
npm run dev-up |
Kill ports first, then dev | |
npm run client:dev |
Frontend only (Vite :5173) | |
npm run server:dev |
Backend only (Express :3001) | |
| Database | npm run db:fresh |
Reset + run all migrations |
npm run seed:admin |
Create default admin user | |
node scripts/run-migration.js |
Apply pending migrations | |
| Quality | npm run check |
TypeScript type checking |
npm run lint |
ESLint validation | |
npm run build |
Type check + Vite production build | |
| API Docs | npm run docs:api:sync |
Sync API docs manifest |
npm run docs:api:audit |
Audit API doc coverage | |
| Production | npm run pm2:start |
Build and start with PM2 |
npm run pm2:reload |
Graceful PM2 reload | |
npm run pm2:stop |
Stop PM2 processes | |
| CLI (TUI) | npm run skypanel |
Interactive admin TUI (requires Bun + SKYPANEL_API_TOKEN) |
| Utilities | npm run kill-ports |
Kill ports 3001, 5173, 8000 |
npm run pwa:icons |
Generate PWA icons |
See Development Commands for the full command reference.
| Area | Responsibilities |
|---|---|
| Issues | Bug reports, feature requests, and implementation discussion |
| Self-Hosting | Deployment, monitoring, environment setup, database changes |
| Customization | Branding, billing rules, provider setup, and workflow changes |
This project is open source and licensed under the MIT License.
Built and maintained by contributors