{"id":48902213,"url":"https://github.com/patilyashh/vpc","last_synced_at":"2026-04-25T13:02:00.434Z","repository":{"id":342181044,"uuid":"1172691688","full_name":"PATILYASHH/VPC","owner":"PATILYASHH","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-05T04:21:05.000Z","size":4137,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-16T16:25:55.951Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PATILYASHH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-04T15:39:20.000Z","updated_at":"2026-04-08T00:55:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/PATILYASHH/VPC","commit_stats":null,"previous_names":["patilyashh/vpc"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/PATILYASHH/VPC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PATILYASHH%2FVPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PATILYASHH%2FVPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PATILYASHH%2FVPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PATILYASHH%2FVPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PATILYASHH","download_url":"https://codeload.github.com/PATILYASHH/VPC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PATILYASHH%2FVPC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32262801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-16T16:11:35.750Z","updated_at":"2026-04-25T13:02:00.427Z","avatar_url":"https://github.com/PATILYASHH.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/PATILYASHH/VPC\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./imgs/logo-light.svg\" /\u003e\n      \u003cimg alt=\"VPC\" src=\"./imgs/logo-dark.svg\" height=\"60\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003e\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e |\n  \u003ca href=\"#downloads\"\u003eDownloads\u003c/a\u003e |\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e |\n  \u003ca href=\"#self-hosting\"\u003eSelf-Hosting\u003c/a\u003e |\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\n\u003c/h4\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch2\u003e\n    An open-source, OS-style dashboard for managing your entire server infrastructure.\n  \u003c/h2\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/PATILYASHH/VPC/blob/main/LICENSE\"\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-blue.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/PATILYASHH/VPC/releases\"\u003e\n    \u003cimg alt=\"Release\" src=\"https://img.shields.io/github/v/release/PATILYASHH/VPC?label=version\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/PATILYASHH/VPC/stargazers\"\u003e\n    \u003cimg alt=\"Stars\" src=\"https://img.shields.io/github/stars/PATILYASHH/VPC?style=social\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./imgs/VPC-image.png\" alt=\"VPC Desktop\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n---\n\n## Install\n\nOne command to install VPC on any Ubuntu/Debian VPS:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/PATILYASHH/VPC/main/install.sh | sudo bash\n```\n\nThe installer will:\n- Install Node.js, PostgreSQL, Nginx, PM2\n- Ask for your admin username, email, and password\n- Optionally configure a domain with SSL\n- Start VPC and show you the access URL + credentials\n\n---\n\n## What is VPC?\n\nVPC (Virtual PC Control) is a **web-based desktop environment** for managing your VPS. Instead of juggling terminals, dashboards, and tools — you get a single OS-like interface with windowed apps, a taskbar, and a launcher. Everything your server needs, in one place.\n\nThink of it as **your server's operating system in the browser**.\n\n\u003cbr /\u003e\n\n\n---\n\n## Downloads\n\n### VPC Sync - VS Code Extension\n\nSync your local code with VPSHub repositories directly from VS Code. Push, pull, commit, branch — Git-like VCS built into your editor.\n\n| Platform | Download |\n|----------|----------|\n| VS Code | [vpc-sync-8.0.0.vsix](https://github.com/PATILYASHH/VPC/raw/main/downloads/vpc-sync.vsix) |\n\nInstall manually:\n```bash\ncode --install-extension vpc-sync-8.0.0.vsix\n```\n\n### VPC CLI\n\nPull database migrations from VPSHub into your local projects.\n\n| Platform | Download |\n|----------|----------|\n| Node.js (18+) | [vpc-sync-cli.tar.gz](https://github.com/PATILYASHH/VPC/raw/main/downloads/vpc-sync-cli.tar.gz) |\n\nInstall:\n```bash\nnpm install -g ./vpc-sync-cli.tar.gz\n```\n\n---\n\n## Features\n\n### Desktop Environment\n\nA real desktop experience in your browser. Drag, resize, minimize, and multitask across windowed apps — just like a native OS.\n\n- Windowed multitasking with drag-and-drop\n- Taskbar with running app indicators\n- App launcher grid\n- Fullscreen mode\n- Theme customization\n\n\u003cbr /\u003e\n\n### VPSHub - Code Collaboration\n\nA self-hosted code platform with repositories, pull requests, issues, and deployment pipelines.\n\n- Create and manage Git-like repositories\n- Pull requests with merge, review, and comment\n- Issue tracking with labels\n- Branch management and commit history\n- File tree browsing with syntax highlighting\n- AI-powered code review (via Claude)\n- Smart merge conflict resolution\n\n\u003cbr /\u003e\n\n### DB - Database Management\n\nFull PostgreSQL management with project isolation, API generation, and schema versioning.\n\n- Create isolated database projects\n- Auto-generated REST APIs per project\n- SQL editor with query execution\n- Schema migrations with PR workflow\n- Storage buckets (S3-style file storage)\n- Auth system per project (users, JWT)\n- API key management (anon, service, pull)\n- Supabase import support\n\n\u003cbr /\u003e\n\n### Web Hosting\n\nDeploy and host websites directly from your VPC.\n\n- One-click site deployment\n- Custom domain support with SSL\n- Slug-based public URLs\n- Linked to VPSHub repos for auto-deploy\n\n\u003cbr /\u003e\n\n### Server Management\n\nMonitor and control your server infrastructure.\n\n- **Server Manager** - Real-time process and resource monitoring\n- **Database Manager** - PostgreSQL browser and query tool\n- **Terminal** - Execute commands directly from the browser\n- **Logs Viewer** - Application log monitoring and search\n- **Backup Manager** - Scheduled database backups with restore\n- **Gallery** - File browser with upload, preview, and bucket management\n\n\u003cbr /\u003e\n\n### AI Agent (Jarvis)\n\nAn autonomous AI agent that lives on your server — thinks, diagnoses, and acts.\n\n- Multi-provider support: **Anthropic Claude**, **OpenAI GPT**, **Ollama** (local)\n- 30+ built-in tools: deploy, restart, SQL, git, file ops, diagnostics\n- Autonomous task management with priority-based TODOs\n- Persistent memory across conversations\n- Telegram bot integration — chat with your server from your phone\n- Proactive alerts: deploy status, backup results, PR events, resource warnings\n- Approval workflow for dangerous operations (write files, run scripts)\n- Auto-diagnose issues: checks logs, services, disk, memory, DB health\n\n\u003cbr /\u003e\n\n### Security\n\n- JWT authentication with TOTP (2FA) support\n- Role-based access control (RBAC)\n- Per-user app permissions\n- API key management with scoped access\n- IP restriction middleware\n- Full action audit logging\n\n\u003cbr /\u003e\n\n### VS Code Integration\n\nThe **VPC Sync** extension brings VPSHub into your editor:\n\n- Push and pull code from VPSHub repos\n- Stage, commit, and branch — all from VS Code's Source Control panel\n- Auto-sync on configurable intervals\n- PAT token authentication\n\n\u003cbr /\u003e\n\n---\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| **Frontend** | React 18, Vite, TailwindCSS, Radix UI, Zustand, React Query |\n| **Backend** | Node.js, Express, PostgreSQL |\n| **Auth** | JWT, TOTP, bcrypt |\n| **AI** | Anthropic Claude, OpenAI GPT, Ollama (multi-provider) |\n| **Process Manager** | PM2 |\n| **Reverse Proxy** | Nginx |\n| **Extension** | VS Code SCM Provider API |\n| **CLI** | Node.js |\n\n---\n\n## Quick Start\n\n```bash\n# Clone the repo\ngit clone https://github.com/PATILYASHH/VPC.git\ncd VPC\n\n# Install dependencies\nnpm install\ncd backend \u0026\u0026 npm install \u0026\u0026 cd ..\ncd frontend \u0026\u0026 npm install \u0026\u0026 cd ..\n\n# Configure environment\ncp backend/.env.example backend/.env\n# Edit backend/.env with your database credentials\n\n# Run migrations and seed admin\ncd backend \u0026\u0026 node db/run-migrations.js \u0026\u0026 node db/seed-admin.js \u0026\u0026 cd ..\n\n# Build frontend\ncd frontend \u0026\u0026 npx vite build \u0026\u0026 cd ..\n\n# Start\nnode app.js\n```\n\nOpen `http://localhost:8001` and log in with your admin credentials.\n\n---\n\n## Self-Hosting\n\nFull deployment guide for Ubuntu 22.04 VPS.\n\n### Prerequisites\n\n- Ubuntu 22.04+ (or any Linux with systemd)\n- Node.js 20+\n- PostgreSQL 14+\n- Nginx\n- A domain name (optional, for SSL)\n\n### 1. Install Dependencies\n\n```bash\napt update \u0026\u0026 apt upgrade -y\n\n# Node.js 20.x\ncurl -fsSL https://deb.nodesource.com/setup_20.x | bash -\napt install -y nodejs\n\n# PostgreSQL + Nginx + Certbot\napt install -y postgresql postgresql-contrib nginx certbot python3-certbot-nginx\n\n# PM2\nnpm install -g pm2\n\n# Enable services\nsystemctl enable postgresql nginx\nsystemctl start postgresql nginx\n```\n\n### 2. Setup Database\n\n```bash\nsudo -u postgres psql \u003c\u003c 'SQL'\nCREATE USER vpc_admin WITH PASSWORD 'YOUR_STRONG_PASSWORD';\nCREATE DATABASE vpc OWNER vpc_admin;\nGRANT ALL PRIVILEGES ON DATABASE vpc TO vpc_admin;\n\\c vpc\nCREATE EXTENSION IF NOT EXISTS pgcrypto;\nSQL\n```\n\n### 3. Install VPC\n\n```bash\nmkdir -p /var/www/vpc\ngit clone https://github.com/PATILYASHH/VPC.git /var/www/vpc\ncd /var/www/vpc\n\nnpm install\ncd backend \u0026\u0026 npm install \u0026\u0026 cd ..\ncd frontend \u0026\u0026 npm install \u0026\u0026 cd ..\n```\n\n### 4. Configure\n\n```bash\ncp backend/.env.example backend/.env\nnano backend/.env\n```\n\n```env\nNODE_ENV=production\nPORT=8001\nDB_HOST=localhost\nDB_PORT=5432\nDB_NAME=vpc\nDB_USER=vpc_admin\nDB_PASSWORD=YOUR_STRONG_PASSWORD\nJWT_SECRET=your_random_64_char_string\nJWT_EXPIRES_IN=24h\nVPC_ADMIN_USERNAME=admin\nVPC_ADMIN_EMAIL=admin@yourdomain.com\nVPC_ADMIN_PASSWORD=your_admin_password\nBACKUP_DIR=/var/backups/vpc\nFRONTEND_URL=https://vpc.yourdomain.com\n```\n\n### 5. Build and Run\n\n```bash\n# Create directories\nmkdir -p /var/backups/vpc uploads/gallery\n\n# Run migrations + seed admin\ncd backend \u0026\u0026 node db/run-migrations.js \u0026\u0026 node db/seed-admin.js \u0026\u0026 cd ..\n\n# Build frontend\ncd frontend \u0026\u0026 npx vite build \u0026\u0026 cd ..\n\n# Start with PM2\npm2 start deploy/ecosystem.config.js\npm2 save \u0026\u0026 pm2 startup\n```\n\n### 6. Nginx + SSL\n\n```bash\ncp deploy/nginx-vpc.conf /etc/nginx/sites-available/vpc\n# Edit: replace vpc.yourdomain.com with your domain\nnano /etc/nginx/sites-available/vpc\n\nln -s /etc/nginx/sites-available/vpc /etc/nginx/sites-enabled/vpc\nrm -f /etc/nginx/sites-enabled/default\nnginx -t \u0026\u0026 systemctl reload nginx\n\n# SSL\ncertbot --nginx -d vpc.yourdomain.com\n```\n\nYour VPC is live at `https://vpc.yourdomain.com`\n\n---\n\n## Updating\n\n```bash\ncd /var/www/vpc\ngit pull origin main\nnpm install\ncd backend \u0026\u0026 npm install \u0026\u0026 cd ..\ncd frontend \u0026\u0026 npm install \u0026\u0026 npx vite build \u0026\u0026 cd ..\ncd backend \u0026\u0026 node db/run-migrations.js \u0026\u0026 cd ..\npm2 restart vpc\n```\n\nOr use the deploy script:\n```bash\n./deploy/deploy.sh\n```\n\n---\n\n## Project Structure\n\n```\nVPC/\n├── app.js                       # Entry point\n├── backend/\n│   ├── server.js                # Express app\n│   ├── routes/                  # API routes\n│   ├── services/                # Business logic\n│   ├── middleware/               # Auth, rate limiting, permissions\n│   ├── migrations/              # SQL migrations (001-036)\n│   └── db/                      # Migration runner, admin seeder\n├── frontend/\n│   └── src/\n│       ├── components/\n│       │   ├── desktop/         # Desktop shell, taskbar, launcher\n│       │   ├── apps/            # App windows\n│       │   ├── db/              # Database management UI\n│       │   └── vpshub/          # Code collaboration UI\n│       ├── stores/              # Zustand state management\n│       └── lib/                 # Utilities, app registry\n├── vscode-extension/            # VPC Sync VS Code extension\n├── cli/                         # vpc-pull CLI tool\n├── deploy/                      # PM2, Nginx, setup scripts\n├── downloads/                   # Extension + CLI packages\n└── uploads/                     # User files\n```\n\n---\n\n## PM2 Commands\n\n| Action | Command |\n|--------|---------|\n| Start | `pm2 start deploy/ecosystem.config.js` |\n| Stop | `pm2 stop vpc` |\n| Restart | `pm2 restart vpc` |\n| Logs | `pm2 logs vpc` |\n| Status | `pm2 status` |\n\n---\n\n## Contributing\n\nWe welcome contributions! Here's how to get started:\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n## License\n\nThis project is open source and available under the [MIT License](LICENSE).\n\n---\n\n\u003cp align=\"center\"\u003e\n  Built with care by \u003ca href=\"https://github.com/PATILYASHH\"\u003ePATILYASHH\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatilyashh%2Fvpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatilyashh%2Fvpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatilyashh%2Fvpc/lists"}