Skip to content
Back to all projects

Autonomous VPS PaaS Control Plane

Wurbr

Autonomous deployment and operations control plane for customer-owned VPS infrastructure built with Clean Architecture, Next.js 16, Hono, BullMQ, and PostgreSQL, featuring zero-SSH operations, dual automatic/guided deployment modes, real-time Ably log streaming, AES-256-GCM envelope encryption, and instantaneous rollbacks.

Lead Systems Architect & Core Engineer2026Next.js 16React 19TypeScriptHonoNode.jsBullMQRedisPostgreSQLPrisma ORMAbly RealtimeTailwind CSS v4DockerTurborepo
Wurbr autonomous deployment and operations platform dashboard, real-time log streaming, and VPS infrastructure manager

Executive Summary & Core Value Proposition

01

Wurbr is a self-hostable control plane that brings the seamless developer experience of modern PaaS platforms (such as Vercel or Render) to customer-owned VPS infrastructure (Hetzner, DigitalOcean, AWS EC2, Linode, OVH, or bare metal).

Key Value Pillars: 1. Zero-SSH Operations: Provision, deploy, configure environment variables, manage custom domains, provision SSL certificates, inspect metrics, and stream live logs directly from the web interface. 2. Infrastructure Ownership: All application workloads run directly on the user's servers, while Wurbr operates as the control plane orchestration engine. 3. Dual Deployment Paradigms: Continuous push-to-deploy Automatic Mode and interactive stage-by-stage Guided Mode. 4. Security by Default: Client credentials, private SSH keys, and environment variables are encrypted at rest using AES-256-GCM, with HMAC authentication across webhooks and web terminal sessions.

System Architecture & Clean Architecture Boundaries

02

Wurbr is architected as a modular monolith adhering strictly to Clean Architecture (Hexagonal / Ports & Adapters):

• Inward Dependency Rule: packages/domain contains pure business entities, value objects, and port interfaces with zero external runtime dependencies. packages/application coordinates use cases and depends only on domain contracts. Outer packages (packages/database, packages/ssh, apps/api, apps/worker) implement domain ports. • Web & Database Isolation: apps/web never connects directly to PostgreSQL or remote SSH servers. All state operations route through apps/api or shared client DTOs. • Worker Isolation (ADR-0002): All long-running SSH commands, Git clones, builds, Certbot certificate requests, and system metric harvests are strictly offloaded from HTTP request handlers into background BullMQ workers.

Asynchronous Job Processing & Distributed Worker Model

03

All background workloads are dispatched through BullMQ queues backed by Redis 7:

• Queues & Workers: deployments (builds, pipelines, rollbacks), health (SSH connectivity and host fingerprint validation), metrics (CPU, RAM, Disk utilization harvesting), and domain-ssl (TLS socket handshakes and DNS verification). • Distributed Locking (RedisLockService): Prevents race conditions during concurrent deployments on the same project or server. • Graceful Worker Shutdown: Traps SIGTERM and SIGINT signals, stops accepting new jobs, drains active deployment pipelines cleanly, and closes SSH connection pools safely.

Deployment Engine & Phased Execution Pipeline

04

Every deployment execution follows a strictly structured lifecycle:

1. Prepare: Acquires Redis distributed lock and initializes deployment stages. 2. Source: Clones target Git repository or pulls commit to remote staging (/var/www/wurbr/apps/<project-id>/releases/<deployment-id>). 3. Detect: Automatically identifies project framework (Next.js standalone, Node/Express/Fastify/Hono, Vite static HTML, Docker/Docker Compose). 4. Build: Injects decrypted environment variables, installs dependencies, and runs build scripts. 5. Release: Configures systemd unit files or Docker containers, updates reverse proxy configurations (Nginx/Caddy), reloads services, and updates the active /current symlink. 6. Healthcheck: Probes the local application port for zero-downtime cutover.

Dual Modes & Rollbacks: Supports fully automated CI/CD alongside Guided Mode (ADR-0017) for interactive command/file editing. Rollbacks (ExecuteRollback) are instantaneous and non-destructive, re-pointing the /current symlink to prior successful releases without rebuilding.

Realtime Telemetry & Ably Log Streaming

05

Wurbr provides sub-second visibility into all deployment and server events:

• Scoped Token Issuer (ADR-0007): apps/api generates short-lived, capability-restricted Ably Realtime tokens for authenticated client sessions. • Live Streaming Mesh: apps/worker emits real-time stdout and stderr log lines alongside stage state transitions (deployments:<id>, servers:<id>). • Resilient Fallback: If Ably is unavailable or WebSocket connectivity drops, the frontend automatically falls back to REST polling endpoints (/v1/deployments/:id/logs).

Infrastructure, SSH Gateway & Interactive Web Terminal

06

Server management is handled through a high-performance native SSH gateway:

• Ssh2Gateway: Manages SSH key authentication, host fingerprint verification, and remote command streaming. • Interactive Web Terminal (ADR-0009): The web client requests a single-use 60-second HMAC token from POST /v1/servers/:id/terminal-ticket and opens a WebSocket to apps/worker (ws://.../terminal). The worker allocates an SSH pseudo-terminal (PTY) and pipes input/output bidirectionally to in-browser xterm.js. • Metrics Harvester: Executes lightweight non-interactive SSH commands (top -bn1, free -m, df -k, cat /proc/loadavg) and appends samples to PostgreSQL, with automated 7-day retention pruning and SVG sparkline visualizations.

Custom Domains, DNS Guidance & Let's Encrypt TLS

07

Wurbr provides automated domain configuration and TLS lifecycle management:

• Target DNS Guidance: Computes the target server IP and outputs exact A and CNAME record configuration instructions for custom domains. • Automated Certbot Provisioning: Remotely issues and renews Let's Encrypt SSL certificates over SSH with automated Nginx/Caddy renewal hooks. • Continuous TLS Verification: Background workers periodically probe SSL expiration dates and update domain status badges (ACTIVE, EXPIRING, EXPIRED).

Security Architecture & Threat Mitigation

08

Security is engineered into every layer of the platform:

• Envelope Encryption at Rest (AES-256-GCM, ADR-0005): SSH private keys, passphrases, and environment variables are encrypted with 256-bit keys and stored as wurbr1.<iv>.<tag>.<ciphertext>. • Session Revocation & JWT Versioning (ADR-0014): Incrementing sessionVersion on user models instantly invalidates all other active JWT sessions upon password reset. • GitHub Webhook HMAC Verification: Validates x-hub-signature-256 signatures with Redis delivery ID tracking to prevent replay attacks. • Immutable Audit Trail: Every critical mutation generates an immutable AuditLog record capturing actor, action, resource, and scrubbed metadata.

Database Architecture & Data Model

09

The database layer uses PostgreSQL with Prisma ORM structuring multi-tenant entities:

• Tenancy & Membership: User, Organization, and OrganizationMember with granular RBAC roles (OWNER, MEMBER, VIEWER). • Workloads & Infrastructure: Project, Server (with credentialsEncrypted), Deployment, DeploymentStage, DeploymentStep, DeploymentLogLine, and ServerMetricSample.

Highlights

010
01

Zero

SSH Autonomous Operations: Complete web-based VPS management for provisioning, deployments, logs, and monitoring.

02

Clean Architecture & Worker Isolation

Strict package boundaries with domain isolation and asynchronous BullMQ job processing.

03

Dual Deployment Modes

Automatic push-to-deploy CI/CD and interactive Guided Mode with live configuration editing.

04

AES

256-GCM Envelope Encryption: Enterprise-grade security for SSH private keys, API secrets, and environment variables.

05

Real

Time Ably Log Streaming & Web Terminal: Live execution output and HMAC-authenticated WebSocket SSH PTY sessions.

06

Instant Symlink Rollback

Millisecond rollback to prior releases without rebuilds or Git fetches.

Outcome & Status

011

Shipped an enterprise-grade, open-source self-hostable PaaS control plane delivering modern cloud developer ergonomics directly to customer-owned VPS infrastructure.

React Native
Next.js
TypeScript
Node.js
NestJS
PostgreSQL
Prisma
Redis
Docker
GraphQL
Tailwind CSS
MongoDB
Express
AWS
Socket.io
Expo
System Design
REST APIs
Git
React Native
Next.js
TypeScript
Node.js
NestJS
PostgreSQL
Prisma
Redis
Docker
GraphQL
Tailwind CSS
MongoDB
Express
AWS
Socket.io
Expo
System Design
REST APIs
Git