What gets migrated
- Any language or framework (Node.js, Python, Go, Ruby, etc.)
replit.nixenvironment definition (converted to Dockerfile)- Replit Secrets → Nometria environment variables
- Static files
Prerequisites
- An Nometria account
- Your Replit project connected to GitHub (recommended) or a ZIP export
Step 1 — Export from Replit
- Via GitHub (recommended)
- Via ZIP
- In Replit, click Version Control (Git icon in the sidebar)
- Connect your Replit project to a GitHub repository
- Push the current state
- In Nometria, select Connect via GitHub and choose that repo
Step 2 — Configure
Environment (Nix → Docker)
Replit uses
replit.nix to define the environment. Nometria reads this file and converts it to a Dockerfile automatically.If your project already has a Dockerfile, Nometria uses it directly.For most Node.js and Python apps, the conversion is automatic. For unusual Nix packages, you’ll see a warning and can provide a manual Dockerfile override.Migrate Replit Secrets
Replit Secrets don’t export with your project. Re-enter them in Nometria’s environment variable screen:
Start command
Nometria detects the start command from:
.replitfile (runfield)package.jsonstartscriptmain.py(for Python apps)
Step 3 — Database migration
If you use Replit DB: Replit DB is a key-value store proprietary to Replit. You’ll need to migrate to Supabase (PostgreSQL) or another database. This requires updating your app code. If you use PostgreSQL via Replit: Export your database:DATABASE_URL environment variable to point to your external database.
Step 4 — Deploy
Click Deploy. Nometria builds from your Dockerfile (or generates one) and deploys to EC2.Why EC2 vs Replit Always On
| Replit Always On | Nometria EC2 | |
|---|---|---|
| Uptime | 99% (sleep between requests) | 99.9%+ (no sleep) |
| Cold starts | Yes | No |
| Compute | Shared, throttled | Dedicated vCPU |
| Custom domain | Paid add-on | Included |
| SSH access | No | Yes |
| Cost | Usage-based | Fixed monthly |
Post-migration checklist
- App starts and responds at your live URL
- All Replit secrets re-entered as Nometria env vars
- Database migrated and accessible
- No references to
process.env.REPL_*(Replit-specific env vars) in your code - Always On disabled on Replit to avoid double billing