Migration Guides
Guide
Migrating from Render
Move your Render services to Grid. No sleeping dynos, predictable pricing, and faster builds.
Before you start: Ensure Grid is installed and running. See the Installation Guide if you haven't set it up yet.
Key Differences
| Capability | Render | Grid |
|---|---|---|
| Sleep on Free Tier | Yes (spins down after inactivity) | No sleeping (always-on) |
| Build Speed | Slow (shared build infrastructure) | Fast (your own server builds locally) |
| Postgres HA | None (single instance unless paid) | Patroni HA with automatic failover |
| Docker Emphasis | Supported but not primary | Native (Dockerfile or Nixpacks) |
| Bandwidth | 100GB/mo (Starter), then $0.10/GB | Provider cost (often free up to 20TB) |
Migration Steps
1. Export your Render data
- Export Render Postgres via
pg_dump - Download any persistent disk data
- Copy environment variables from the Render dashboard
- Note your custom domain configuration
2. Prepare your project
Render supports Dockerfiles, and so does Grid. Your existing Dockerfile should work without changes. If you're using Render's native build system (no Dockerfile), create one or let Nixpacks auto-detect your framework.
# Example: Node.js
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
EXPOSE $PORT
CMD ["npm", "start"]3. Deploy to Grid
- Push your repo to GitHub
- Connect GitHub to Grid
- Create a new service and select your repo
- Add your environment variables
- Deploy — builds run on your own server (faster)
4. Migrate your database
# Export from Render
PGPASSWORD=... pg_dump \
-h your-render-db.internal \
-U render_user \
-d render_db > render_backup.sql
# Import to Grid's managed Postgres
psql postgresql://grid_user:...@grid-db:5432/grid_db < render_backup.sql5. Configure your domain
- Update your DNS A record to point to your Grid server IP
- Caddy will automatically provision Let's Encrypt SSL certificates
- Remove Render's DNS configuration
Render service equivalents on Grid
| Render Service | Grid Equivalent |
|---|---|
| Web Service | Service (long-running container) |
| Cron Job | Celery Beat scheduled tasks |
| Background Worker | Celery worker containers |
| Render Postgres | Managed Postgres (Patroni HA) |
| Render Redis | Managed Redis |
| Static Site | Service + static file serving via Caddy |
| Preview Environments | PR Previews (full-stack with DB) |
What you gain
- No sleeping services — always-on, even on the free tier
- Faster builds — your own server's CPU, not shared build infrastructure
- Predictable pricing — no per-GB bandwidth fees, no per-service tiers
- Database HA — Patroni replication instead of a single Postgres instance
- No bandwidth overage — most VPS providers include 10-20TB free