Push code.
Get a live URL.
GoUpServer is a self-hosted deployment platform for modern web apps. Connect a Git repo, push a commit, and get a unique HTTPS URL with SSR, ISR and serverless functions — running entirely on your own infrastructure.
$ git push origin main
→ webhook received
→ build queued · building
→ artifact uploaded · manifest published
✔ ready https://my-next-app-h8x2.goupserver.devFrom a git push to a live URL in seconds
Three fully observable stages, with live build logs streamed over SSE.
Push
GitHub webhook reaches the control plane and a build is queued in Redis Streams.
Build
A build worker clones, detects the framework, runs the build and uploads artifacts to MinIO.
Deploy
The edge router publishes the manifest, hot-reloads its cache and serves your URL over HTTPS.
Everything a deploy platform needs — without vendor lock-in
The pieces you would otherwise glue together yourself, designed to run as a single Docker Compose stack on any Linux box.
Git-driven deploys
Connect a GitHub repo and every push to a tracked branch triggers a build. PR previews are wired in.
Built for Next.js 16
App Router, RSC, SSR, ISR and Route Handlers — served as static assets plus an isolated function pool.
Edge router with hot manifest
Hostname → deployment lookup with in-memory cache and Redis Pub/Sub invalidation. No cold-paths on traffic.
Live build logs
Streamed from Redis Streams over Server-Sent Events. Every line, every stage, in real time.
Encrypted env vars
Per-team encryption with a key you own. Secrets never leave your server in plaintext.
TLS that just works
Caddy handles Let's Encrypt with DNS-01 wildcard certificates. Every preview URL gets HTTPS automatically.
Pluggable framework adapters
A clean adapter interface around the Build Output API v3. Add Astro, SvelteKit or Nuxt with a single class.
Quotas and metering, included
Bandwidth, function invocations and build minutes are aggregated and enforced. Optional MercadoPago billing.
A small set of services, talking through the right primitives
HTTP at the edge, Redis Streams for the build pipeline, Pub/Sub for cache invalidation, and object storage for artifacts. No hidden magic.
TLS · wildcard certs
Next.js 16 · API · Webhooks
Hono · manifest cache
clone · build · upload
Node.js pool
usage aggregator
streams · pub/sub · counters
Drizzle ORM
S3-compatible artifacts
A small CLI for the day-to-day
Beyond GitHub-driven deploys, the goup CLI is the fastest path from your editor to a preview URL. Use it from local, from CI, or from your own scripts.
goup loginAuthenticate the CLI against your GoUpServer instance.goup linkLink the current directory to a project on the platform.goup deploy --prodBuild and promote the current commit to production.goup logs <id>Stream live build and runtime logs for any deployment.
$ goup link
✓ linked to acme/website
$ goup deploy --prod
→ uploading workspace…
→ building on goupserver…
▌ next build (RSC)
→ deploying functions (3)
✔ production acme.goupserver.devBuilt around an open Build Output API
A neutral artifact format means new frameworks plug in cleanly, and new platform features (cron, KV, edge) can be added without touching the core.
Frameworks
Anything that emits the Build Output API plugs in via a thin adapter.
- Next.js 16shipped
- Astro
- SvelteKit
- Nuxt
- Remix
Roadmap hooks
Each row already has a place in the schema, manifest or worker pool.
- Preview deploys per PRwired
- Multi-region functionsscaffolded
- Edge functions (V8 isolates)scaffolded
- Image optimizationplanned
- KV / Blob storageplanned
- Cron jobsplanned
- Web Vitals analyticsplanned
Run your own deploy platform.
Clone the repo, set a few environment variables, and docker compose up. Your platform, your data, your URLs.