Migrating from Replit
Replit Deployments add per-resource and per-hour compute charges that scale with how busy your app is. Doable runs your code as a standard Docker container with flat per-month pricing, $0/$15/$39, and the same image runs anywhere Docker runs.
Most Replit apps move over without code changes. The only friction is getting the source out of the Repl and into a regular folder.
In Replit, go to the three-dots menu and choose Download as zip, or, if your Repl is connected to GitHub, just clone the repo. You want a regular folder of code.
One-time setup.
npm install -g doable-cli && doable loginReplit's Secrets pane has your env vars. Copy them into a local .env file (one KEY=VALUE per line) so we can bulk-import.
From the unzipped (or cloned) directory. Doable detects Node, Python, static, or Dockerfile.
doable projects createEncrypted at rest, injected at container start.
doable env import .envFirst deploy takes 30–90 seconds.
doable deployMost Replit apps work without changes. Node, Python, Go, Ruby, static, all auto-detected from standard files (`package.json`, `requirements.txt`, `go.mod`, etc.). If your Repl uses unusual system packages (e.g. specific binaries from a Nix config), you may need to add a Dockerfile to capture them, usually a 5-line wrap.
Replit's `.replit` config file isn't read by Doable, but its run command typically maps to a `package.json` `start` script or a Procfile-style entry that Doable picks up.
No in-browser IDE. You write code locally in VS Code, Cursor, Vim, or Claude Code (with the MCP plugin) and `doable deploy` from the terminal.
No always-on by default in browser-side tutorials, Doable always runs your container continuously. (Replit Free Repls sleep when idle; Doable's Free tier doesn't.)
Pricing: flat $0/$15/$39 vs. Replit's subscription + per-hour compute. For predictable workloads Doable is usually cheaper; the comparison gets closer for very low-traffic apps that benefit from Replit's sleep behaviour.
Database: bring an external one via `doable addon attach`. Replit DB doesn't have a direct migration path, most users move to Neon, Supabase, or Upstash and refactor accordingly.
Yes for any standard runtime. The auto-detection covers Node, Python, Go, Ruby, static, and Dockerfile-based projects. The most common gotcha is Replit-specific packages installed via Nix, if you hit one, add a Dockerfile that includes the equivalent apt packages.
There's no direct migration path. Most users export their data (Replit's `replit.db` library has a `db.list()` method to dump keys) and move to a Neon Postgres or Upstash Redis, then `doable addon attach`. The schema rewrite is small for typical key-value usage.
Pair Doable with Claude Code, Cursor, or the editor you already use. The iteration loop becomes: edit → save → `doable deploy` (30–90 seconds). For very rapid prototyping, run locally first and deploy when you have something ready to share.
For most projects, less. Doable's Starter ($15/month) covers 3 projects with no per-hour compute charges. Replit Deployments add per-resource charges that compound with traffic. The exception is very low-traffic always-idle apps, where Replit's sleep-when-idle behaviour can be cheaper.
No credit card. Deploy your first project in under a minute.