Migrate from Render to HostStack
EU-hosted Render alternative. Same git-push workflow, lower bill, and your data stays on European infrastructure. Migrate in under an hour.
Render is great until your customers ask where their data lives, or your invoice creeps up. HostStack offers the same git-push deploy model, managed databases, cron jobs, and preview environments — all on EU infrastructure with predictable, pay-as-you-go pricing.
Why switch from Render?
- EU data residency by default — compute and data on European infrastructure, no US sub-processors in the request path.
- GDPR Article 28 DPA signed automatically at signup, sub-processor list published, EU VAT invoices.
- Predictable pay-as-you-go pricing — Pico web service from €1/mo, Pro from €29/mo. No surprise bandwidth bills.
- Free tier that fits a real side project: 1 Nano service + 1 Starter Postgres + 1 cron + 1 preview env.
- Cheap, predictable egress — 200 GB/team free, then a flat 1¢/GB, not bundled into a fat per-instance line.
- Managed Postgres, MySQL, MongoDB, and Redis — Render only ships Postgres + KV.
- A hoststack.yaml in your repo keeps build and start commands, port, health check, env defaults and disk next to your code.
Price comparison
| Resource | Render | HostStack | Comparison |
|---|---|---|---|
| Hobby web service | $7/mo Starter | €1/mo Pico (or free Nano) | Up to 100% |
| Production web service | $25/mo (1 CPU / 2 GB) | €20/mo Standard (2 GB) | ~20% |
| Managed Postgres (1GB) | $6/mo + $0.30/GB storage (Free expires after 30 days) | €4/mo Micro, storage included (free Starter never expires) | ~35% |
| Bandwidth (100GB egress) | $14.25 on Hobby (5 GB free, then $0.15/GB) | €0 (inside the 200 GB/team allowance) | 100% |
| Persistent disk (10GB) | $2.50/mo (0.25/GB) | €1/mo (10¢/GB·mo) | ~60% |
Render prices checked May 2026 against their public pricing page. Render prices are USD as published; HostStack figures are the live EUR catalog. Verify at the source before deciding.
Code migration
Before (Render)
# render.yaml
services:
- type: web
name: my-api
runtime: node
buildCommand: bun install && bun run build
startCommand: bun run start
envVars:
- key: NODE_ENV
value: production
databases:
- name: my-db
plan: starterAfter (HostStack)
# hoststack.yaml -- configures the existing "my-api" service
services:
my-api:
install:
command: bun install
build:
command: bun run build
start:
command: bun run start
env:
NODE_ENV: production
# The file creates nothing. Make the database and link it:
# hoststack db create --project prj_... --name my-db --engine postgres --plan micro
# hoststack db link db_... --service svc_...Feature comparison
| Feature | Render | HostStack |
|---|---|---|
| Git push deploys | Yes | Yes |
| Native runtimes | Node, Python, Go, Ruby, Rust, Elixir | Node, Bun, Python, Ruby, Go, Rust, Java, PHP, .NET, Elixir, Docker |
| Managed databases | Postgres, KV | Postgres, MySQL, MongoDB, Redis, S3 |
| Preview environments | Single-service on Hobby; full-stack on Pro+ | 1 free per project |
| Cron jobs | Paid only | 1 free per project |
| Data residency | US, Frankfurt, Singapore | Helsinki, FI (EU only) |
| Bandwidth | 5 GB (Hobby) / 25 GB (Pro) included, then $0.15/GB | 200 GB/team included, then €0.01/GB |
| DPA | Part of Terms (US entity) | At signup (EU entity) |
| Open YAML config | render.yaml | hoststack.yaml |
| CLI | render-cli | @hoststack.dev/cli |
Migration gotchas
Disk-backed services on Render are tied to a single instance.
HostStack persistent volumes are also single-AZ today. If you rely on Render disks you can lift-and-shift; if you want HA storage, plan to migrate to a managed database or S3-compatible object storage.
Render KV → HostStack managed Redis.
Render KV is a Redis-protocol KV store. HostStack provisions real managed Redis. The protocol is compatible; just point your client at the new connection URL.
Migration steps
- 1Sign up at hoststack.dev — no credit card required for the free tier.
- 2Create the service in the dashboard (or with the CLI or SDK). To keep its build and start commands, health check and env defaults in Git, add a hoststack.yaml — it configures an existing service and does not create services or databases, so plan, scaling, domains and the database are set on the service instead.
- 3Connect your GitHub / GitLab / Bitbucket account and import the same repo.
- 4Take a pg_dump of your Render database and restore it into your new HostStack Postgres (one-line CLI command in the dashboard).
- 5Trigger the first deploy. HostStack issues a free SSL certificate for *.hoststack.dev automatically.
- 6Update DNS to point your custom domain at HostStack. Switch traffic when you’re ready; both providers can run in parallel for as long as you need.
Frequently asked questions
How long does a typical migration take?
For a single web service + Postgres, under an hour. The bulk of the time is the database dump/restore and DNS propagation, neither of which is HostStack-specific.
Can I run on both providers during the migration?
Yes. Update your DNS only when you’re ready to cut over. Both providers can serve the same traffic in parallel, which is the safest way to migrate a production workload.
What about my Render preview environments?
HostStack ships preview environments natively. Every pull request gets its own ephemeral deploy with a unique URL, removed when the PR closes. A preview connects to the same databases as the service it previews, so point previews at a staging service and database if migrations must not reach production. The free tier includes one preview env per project; paid tiers get unlimited.