Vercel Migration Guide: Move to HostStack
Self-host Next.js and full-stack apps on EU infrastructure. Always-on backends, managed Postgres and Redis, and flat pricing instead of per-execution billing. Migrate in an afternoon.
Vercel is excellent for frontend and Next.js, but the backend is serverless functions with execution limits, the company is US-incorporated, and usage-based billing (function execution, bandwidth, image optimization) is hard to forecast. HostStack runs your Next.js app -- or any app -- as an always-on service on EU infrastructure, with managed Postgres and Redis on the same platform and flat per-resource pricing.
Why switch from Vercel?
- Always-on Node/Bun servers instead of serverless functions with execution time limits -- run long tasks, websockets, and background workers.
- EU data residency by default (Germany, Finland) under a Danish company -- no US CLOUD Act exposure, unlike a US-incorporated platform with an EU region.
- Flat per-resource pricing from EUR 1/mo instead of per-execution + bandwidth + image-optimization metering that spikes with traffic.
- Managed Postgres and Redis on the same platform, from EUR 4/mo, with optional 3-node HA -- no separate database vendor to wire in.
- No egress surprises -- 200 GB/team free, then a flat EUR 0.01/GB.
- Deploy any Next.js output mode (standalone, ISR, streaming, middleware) via Dockerfile or native build, plus non-Next.js apps, workers, and cron.
Price comparison
| Resource | Vercel | HostStack | Comparison |
|---|---|---|---|
| Hobby / starter | Free (Hobby, non-commercial) | EUR 1/mo Pico or free Nano | Commercial use allowed |
| Team seat | $20/user/mo (Pro) + usage | No per-seat fee | Up to 100% |
| Always-on backend | Serverless functions (metered) | EUR 1-29/mo flat | Predictable |
| Managed Postgres | Marketplace add-on (3rd-party) | EUR 4/mo Micro (first-party) | Bundled |
| Bandwidth (100 GB) | Metered above plan allowance | EUR 1 (1c/GB) | Predictable |
Prices as of 2026-07-16. Always check current pricing on each provider before deciding.
Code migration
Before (Vercel)
// vercel.json -- serverless, per-execution
{
"functions": { "app/api/**": { "maxDuration": 60 } },
"crons": [{ "path": "/api/cron", "schedule": "0 * * * *" }]
}After (HostStack)
# hoststack.yaml -- always-on service + managed DB
services:
- name: web
runtime: bun
build: bun install && bun run build
start: bun run start # next start (standalone)
plan: pro-standard
databases:
- name: app-db
engine: postgres
plan: micro
crons:
- name: hourly
schedule: "0 * * * *"
command: bun run scripts/cron.tsFeature comparison
| Feature | Vercel | HostStack |
|---|---|---|
| Next.js deploys | First-class | Standalone / Dockerfile |
| Always-on servers | No (serverless) | Yes |
| Background workers | No | Yes |
| Cron jobs | Vercel Cron (function-based) | Native, any schedule |
| Managed Postgres / Redis | Marketplace (3rd-party) | First-party |
| WebSockets / long tasks | Limited | Yes |
| Data residency | Edge / US-incorporated | Germany + Finland (EU company) |
| Pricing model | Per-execution + bandwidth | Flat per-resource |
| Egress fees | Metered | Flat 1c/GB after 200 GB |
| DPA included | Pro+ only | At signup |
Migration gotchas
Serverless functions become part of an always-on server.
Vercel API routes run as isolated functions. On HostStack they run inside your always-on Node/Bun process, so there are no per-invocation cold starts or max-duration limits -- but you own the process lifecycle (a crash restarts the container, not a single function).
Image Optimization is Vercel-specific.
next/image works, but Vercel hosted image-optimization CDN does not come with you. Use the Next.js built-in optimizer (sharp) in your container, or an external image CDN if you need one.
Edge Middleware runs at the edge on Vercel.
On HostStack, Next.js middleware runs in your service region (Germany or Finland), not at a global edge PoP. For EU-focused apps this is usually fine and keeps data in-region.
Migration steps
- 1Sign up at hoststack.dev -- no credit card required for the free tier.
- 2Build your Next.js app in standalone output mode (output: "standalone" in next.config.js) or add a Dockerfile; HostStack auto-detects both.
- 3Connect your GitHub / GitLab / Bitbucket repo and import the project. Copy env vars across with the CLI or the dashboard.
- 4Move any Vercel serverless API routes into the same always-on service, and turn Vercel Cron entries into HostStack cron jobs.
- 5Provision managed Postgres / Redis on HostStack and repoint your connection strings (pg_dump/restore if you used a marketplace database).
- 6Update DNS to point your custom domain at HostStack. Run both platforms in parallel until you are ready to cut over.
Frequently asked questions
Can I self-host Next.js on HostStack?
Yes. Build in standalone output mode or with a Dockerfile and HostStack runs it as an always-on service. ISR, streaming, route handlers, server actions, and middleware all work; the difference from Vercel is that everything runs in your EU-region container rather than across Vercel serverless/edge platform.
Is there a managed database like Vercel Postgres?
Yes -- HostStack ships first-party managed Postgres (from EUR 4/mo), plus MySQL, MariaDB, MongoDB, and Redis, with backups and optional 3-node HA. Vercel Postgres is a marketplace integration to a third-party provider; on HostStack the database is part of the same platform and bill.
Will my costs be more predictable than on Vercel?
For most always-on apps, yes. Vercel bills per-seat plus usage (function execution, bandwidth, image optimization), which scales with traffic. HostStack charges a flat, prorated per-resource price with no per-seat fee and flat 1c/GB egress after a 200 GB/team allowance.