Your code. Your servers.
Deployed.

SuperDeployer reads your Next.js and Express repo, builds the containers, and rolls them out to the infrastructure you draw, from one box to an autoscaling group, on your own cloud accounts.

Internet
Load balancer
server-1
server-2
server-3
Postgres
Redis
plan valid · ready to deploy

Replicas behind nginx. New ones start next to the old, traffic flips after health checks pass. Zero downtime.

Deploys to your own accounts on

Hetzner CloudDigitalOceanVultrOVHcloudAWS EC2Google CloudCloudflare DNSLet's EncryptDockerHetzner CloudDigitalOceanVultrOVHcloudAWS EC2Google CloudCloudflare DNSLet's EncryptDocker

How it holds up

Load-balanced rollouts

0 s

of downtime

New replicas take traffic only after their health checks pass.

Image reuse

Seconds

to roll back

Images are tagged by their inputs, so unchanged builds are skipped.

Autoscaling

5 s

between CPU readings

Groups grow under load and shrink back, with a cooldown.

In the deploy log's own words

“Reusing sd-shop-backend:k-3f9a… inputs unchanged, build skipped.”
sdReusing imagesSuperDeployer
“frontend: Next.js static export ✓ backend: Express ✓ 0 rejected, 0 warnings.”
sdRule checkSuperDeployer
“node dist/migrate.js exited 0. Replacing containers.”
sdRelease commandSuperDeployer
“api.example.com: certificate issued, edge reloaded, redirecting HTTP → HTTPS.”
sdCertificatesSuperDeployer
“web group at 84% of target for 10 s. Adding instance 4 of 8.”
sdAutoscalerSuperDeployer
“Rolled back to 7b20d44 with the env vars it ran with. Live in 6 s.”
sdRollbackSuperDeployer
“postgres nightly dump encrypted and uploaded. 214 MB, verified.”
sdBackupsSuperDeployer
“web-2: SSH keys only ✓ fail2ban ✓ unattended-upgrades ✓ live-restore ✓”
sdSecurity checkSuperDeployer
“Reusing sd-shop-backend:k-3f9a… inputs unchanged, build skipped.”
sdReusing imagesSuperDeployer
“frontend: Next.js static export ✓ backend: Express ✓ 0 rejected, 0 warnings.”
sdRule checkSuperDeployer
“node dist/migrate.js exited 0. Replacing containers.”
sdRelease commandSuperDeployer
“api.example.com: certificate issued, edge reloaded, redirecting HTTP → HTTPS.”
sdCertificatesSuperDeployer
“web group at 84% of target for 10 s. Adding instance 4 of 8.”
sdAutoscalerSuperDeployer
“Rolled back to 7b20d44 with the env vars it ran with. Live in 6 s.”
sdRollbackSuperDeployer
“postgres nightly dump encrypted and uploaded. 214 MB, verified.”
sdBackupsSuperDeployer
“web-2: SSH keys only ✓ fail2ban ✓ unattended-upgrades ✓ live-restore ✓”
sdSecurity checkSuperDeployer

The repo you push.
Every way it needs to run.

analysis · github.com/acme/shop

frontend/Next.js 16 · static export
backend/Express · port 4000
packages/uishared library
landing/Next.js · not deployed

Detected and checked

Frontend, backend, package manager, Node version and ports, plus a strict rule check on the exact commit being deployed.

build · backend

Repo's own Dockerfile
Pasted Dockerfile
Template: node-server
Template: nextjs-standalone

Containerized your way

Use the Dockerfile you already have, paste one, or pick a template. Monorepos build from the root so shared packages resolve.

superdeployer.app.json

{

"releaseCommand": …migrate.js,

"healthcheck": { "backend": "/health" },

"processes": { worker, scheduler }

}

Workers, migrations, settings

One manifest declares background processes, the release command, health checks, extra ports and the settings your app needs.

Everything after git push

Built for every stage of a release.

  • deploy #142 · a3f9c1e
    Build frontend (reusing image)0.4 s
    Release command: node dist/migrate.jsexit 0
    Start 3 new replicashealthy
    Flip load balancerlive
    Remove previous replicasdone

6

Cloud providers

5

Live versions kept for rollback

7 days

Of per-server metrics

For teams and the people they ship for.

SuperDeployer for teams

Ship your own products with staging, previews, push-to-deploy and alerts that go to whoever started the deploy.

SuperDeployer for agencies

Run one instance for many clients. Each customer org sees and operates only its own projects, with its own roles.

Security

Secure by default,
on infrastructure you own.

AES-256GCM
TLS1.2 / 1.3
SCRYPTPASSWORDS

Secrets encrypted at rest.

Credentials, certificates, env vars and backup keys use AES-256-GCM with a key you hold.

Servers hardened on arrival.

SSH keys only, fail2ban, daily security updates, and a daily check that reads it all back.

Scoped, expiring API tokens.

Read only, deploy or manage, limited to the projects you pick. Only hashes are stored.

One instance. Many orgs.

Customer orgs are isolated from each other and from the platform's own projects.

Unsafe Compose refused.

Privileged containers, host networking, the Docker socket and stray bind mounts never ship.

Signed alerts and webhooks.

Every outgoing webhook carries an HMAC signature, and GitHub pushes must carry theirs.

Draw it once.
Ship it every day.