00App deploys
· 8 presets

git push. Live on your VPS.

The Vercel workflow on hardware you own. Import a repository and every push builds in your own GitHub Actions, ships as a checksummed artifact, and runs as a locked-down service on your VPS. Nothing goes live until you say so.

deploy · api.yourapp.comlive
01 · push
git push origin main
a3f19c2 · fix: checkout flow
triggered by you
02 · build
GitHub Actions
✓ install · build · bundle
your account, your minutes
03 · verify
sha256 checked
✓ artifact matches build
held for your approval
04 · live
running on srv_8f3a2c
✓ systemd · non-root · localhost
ready in 41s
01Frameworks

Eight presets. Zero YAML.

Pick your framework and Infraa writes the workflow — build steps, artifact packaging, the systemd unit, the nginx site. If it listens on a port, it deploys.

01

Next.js

Standalone output with ISR and image optimization, no config.

02

SvelteKit

Deployed with the official Node adapter, ready to serve.

03

Nuxt

Self-contained Nitro server output — one folder, one process.

04

React Router / Remix

Full-stack React Router v7 apps, loaders and actions included.

05

Astro

Server-rendered or fully static — both presets work.

06

Node & Express

Express, Fastify, Hono — any server with an entry file.

07

Go & binaries

Rust, Zig, anything compiled that listens on a port.

08

Static sites

Vite, CRA, plain HTML — served fast with smart caching.

02How it works

Three steps from repo to running service.

1

Import your repository

Connect GitHub, pick a repo and a server. Infraa commits the build workflow and wires the deploy secrets — you never write a line of YAML.

2

Push to deploy

Every push builds in your own GitHub Actions, on your account. The artifact is checksummed, shipped to your VPS, and held for your approval — or auto-deployed if you say so.

3

Runs like an operator set it up

A locked-down systemd service bound to localhost — put the nginx module with a free Let’s Encrypt certificate in front. A deploy that fails its health check rolls back to the previous release automatically.

03What you get

Set up the way a careful sysadmin would — automatically.

Every deploy follows the same rules, on every server. Nothing to configure, nothing to remember.

Builds run on your GitHub, not ours

Your source stays in your repo and builds on your own GitHub account, just like your CI does today. Infraa receives only the finished, checksummed artifact.

github actions

What you built is what runs

Before starting your app, the server checks the download matches the build byte-for-byte. No tampering, no surprises.

sha256 verified

Your app can’t take over the server

It runs as its own limited user in a sandboxed systemd unit, bound to localhost until you put a proxy in front.

systemd sandbox

HTTPS one module away

Install the nginx module in front of your app and get a free Let’s Encrypt certificate for your domain — one approval, no config files.

nginx + let’s encrypt

A bad deploy rolls itself back

Older releases stay on the server. A deploy that fails its health check flips back to the previous release automatically — no rebuild, no waiting for CI.

auto rollback

Nothing goes live without your OK

Review every deploy before it ships — or, once you trust an app, turn on auto-deploy and stop thinking about it.

you approve

Your app needs a database? Postgres, Redis, and 20+ more services install on the same server with one click.