Features StacksPricing About Contact
Sign in →
02 // Core Architecture • Git Push to Deploy

Git push. Live in seconds.

Connect any GitHub, GitLab, or custom Git repository. Rubuz automatically detects your runtime stack, compiles optimized OCI container images, provisions Let's Encrypt certificates, and executes zero-downtime traffic switching on your own servers.

Polyglot Runtime Auto-Detect Atomic Blue/Green Zero-Downtime 1-Click Instant Rollbacks Zero-Touch Let's Encrypt SSL
pipeline // github.com/rubuz-org/api-gateway:main • commit 49c2e0b
Deployed: api.rubuz.cloud (Green Slot)
Total Build Time
14.2s
85% layer cache hit
Detected Runtime
Node 22 LTS
pnpm • TypeScript 5.6
Traffic Switchover
0ms Lost
Blue/Green socket drain
TLS / SSL Route
Valid 89d
Automated Let's Encrypt
Deployment Logs (Streaming stdout)
Run #248
[00:00.4] ✓
GitHub Webhook Received: Verified HMAC-SHA256 signature for branch refs/heads/main
[00:01.2] ✓
Git Fetch: Shallow checkout commit 49c2e0b ("feat(auth): integrate Argon2id sessions")
[00:02.1] ✓
Auto-Detection: Found package.json and pnpm-lock.yaml. Selecting Node.js 22 alpine runtime.
[00:04.6] ✓
Cache Layer Reused: 4 cached layers restored. Skipping npm dependency download (saved ~32s).
[00:11.8] ✓
Rootless OCI Build: Sealed production container image rubuz/app-green:49c2e0b (size: 94 MB).
[00:13.2] ✓
Preflight Health Probe: Sent 3 HTTP requests to internal port 3000 -> 200 OK (latency: 3ms). Health verified.
[00:14.2] ★
Atomic Switchover: In-flight connections drained from Blue container. 100% traffic routed to Green container. Zero dropped packets.
Previous Release: #b7190f8 (Node 22 • 1h ago)
01 // Architectural Comparison

Why manual SSH deployments break. And how Rubuz fixes it.

Writing custom bash scripts with `git pull` and `pm2 restart` works for simple toys. For real production workloads, one failed npm build or syntax error takes your whole site down.

✕ DIY SSH Webhooks & In-Place Restarts

The Fragile Legacy Approach

  • ✕
    In-Place Restart Downtime: Stopping the old process before the new one is confirmed ready causes 502 Bad Gateway errors for active visitors and drops webhooks.
  • ✕
    Failed Builds Kill Production: If a TypeScript compilation error or missing npm dependency occurs during build on the server, the previous working release is already broken.
  • ✕
    Manual SSL & Nginx Wrestling: Managing certbot cron jobs, configuring upstream reverse proxy blocks, and renewing SSL certificates manually creates constant maintenance friction.
  • ✕
    Disk-Bloating Node Modules & Cache: Servers accumulate hundreds of orphaned container layers and gigabytes of dirty caches until disk runs 100% full, halting all services.
Rubuz Engineering Standard
✓ Rubuz Blue/Green Pipeline Engine

Production-Grade Zero-Downtime CD

  • ✓
    Atomic Blue/Green Socket Cutover: The new container is built, booted, and health-checked alongside the old container. Traffic switches only when the new release reports 200 OK.
  • ✓
    Isolated Out-of-Band Builds: If a build fails, the active production container continues serving customers seamlessly. Rubuz alerts you instantly without any outage.
  • ✓
    Automated Let's Encrypt TLS: Reverse proxy routes, HTTP/3, and SSL certificates are provisioned and auto-renewed out of the box with zero configuration files to edit.
  • ✓
    Automated Layer Pruning & 1-Click Rollback: Historical builds remain stored as immutable tagged images. Revert to any prior commit in under 2 seconds if a bug slips through.
02 // The Four Pillars

Engineered for developer velocity.

No complicated CI/CD YAML configurations or external build servers. Pure simplicity backed by battle-tested container architecture.

Pillar 01

Polyglot Runtime Auto-Detection

You don't need to write a Dockerfile. Rubuz inspects your repo root, detects your framework, selects the optimal base image, configures package managers, and determines start commands automatically.

Detected Environments:
• Node.js (npm, yarn, pnpm, bun) • Next.js, Nuxt, Remix
• Python (pip, poetry, pipenv) • FastAPI, Django, Flask
• Go, Rust, PHP (Composer, Laravel), Ruby (Bundler, Rails)
Pillar 02

Atomic Zero-Downtime Blue/Green Swaps

Deploys should never disrupt a paying customer. Rubuz launches your updated container on an isolated internal port, confirms TCP readiness and HTTP healthcheck, and switches the reverse proxy in memory.

Switchover Safeguards:
• Zero dropped HTTP keep-alive connections
• Configurable health check timeouts and paths (/healthz)
• Graceful draining of in-flight requests before container stop
Pillar 03

Multi-Branch Staging & Previews

Deploy different branches to different environments on the same server. Map main to your production domain, staging to staging.app.com, and pull requests to automatic preview URLs.

Environment Isolation:
• Dedicated environment variables per branch
• Automatic SSL certificate generation per subdomain
• Isolated container resource limits to protect production
Pillar 04

1-Click Instant Rollbacks

Shipped a bug to production? There's no need to push emergency git reverts and wait for full rebuilds. Select any prior deployment from your audit history and Rubuz restores the previous container immediately.

Recovery Speed:
• Rollback execution completes in < 2 seconds
• Immutable OCI image tags eliminate rebuilding risks
• Complete audit trail of who deployed what and when
03 // Polyglot Ecosystem

Deploy any language, framework, or container.

Rubuz handles the full spectrum of modern application architectures. Use automatic detection or bring your own Dockerfile and Docker Compose definitions.

Node.js Node.js Next, Nuxt, Vite
Python Python FastAPI, Django
Go Go Microservices
Rust Rust Actix, Axum
PHP PHP Laravel, Symfony
Ruby Ruby Rails, Puma
🐳
Custom Dockerfile & Compose Support: Have a specialized multi-stage build or complex container graph? Rubuz respects your existing `Dockerfile` and `docker-compose.yml` natively.
Zero Lock-In
04 // Frequently Asked Questions

Everything you need to know about Rubuz Deployments.

Does deploying a new version interrupt existing user requests or shopping carts? ↓

No. Rubuz uses true atomic Blue/Green deployments. The updated container is booted on a separate internal socket while the previous version continues handling live user traffic. Only after the new release passes health checks does the reverse proxy switch incoming traffic. Existing connections are gracefully drained without dropped packets.

Do I need to write a Dockerfile for every app I deploy? ↓

No! Rubuz includes built-in polyglot runtime detection. It recognizes Node.js, Python, Go, Rust, PHP, and Ruby automatically from your repository manifests (like package.json, pyproject.toml, or go.mod). If you do have a custom Dockerfile, Rubuz will detect and use it seamlessly.

Can I use private repositories from GitHub, GitLab, or Gitea? ↓

Yes. You can connect your private repositories via GitHub OAuth App integration or by providing a read-only SSH Deploy Key. Rubuz configures automated webhook endpoints so pushes to designated branches immediately trigger builds.

How does an instant rollback work if a bug ships to production? ↓

Every successful build produces an immutable tagged OCI image stored locally in your host container storage. When you click Rollback in the Rubuz dashboard, the proxy immediately redirects traffic back to the prior container image in less than 2 seconds, without waiting for git checkouts or rebuilds.

Can I run database migrations or build scripts before switching traffic? ↓

Yes. You can specify custom pre-deploy hook commands (e.g. npx prisma migrate deploy or python manage.py migrate). Rubuz executes these hooks in the new release container before the proxy cutover. If the migration fails, the deployment halts safely and the current version stays online.

Automate Your Deployments

Ship your code faster. With zero deployment anxiety.

Connect your Git repository in 60 seconds. Enjoy automated builds, zero-downtime rollouts, and 1-click rollbacks on your own servers today.

✓ No credit card required • Connect unlimited apps • 14-day trial