doable.do

Deploy Remix apps with the Node adapter

Deploy Remix apps, Node-first, no platform lock-in

Remix is designed to run anywhere with a Node adapter. Doable deploys the standard `@remix-run/express` or `@remix-run/serve` setup, your loaders, actions, and SSR routes all work as they do locally.

Typical first deploy: 30–60 seconds

Why deploy Remix on Doable

Remix everywhere Remix runs

Remix is adapter-portable by design. Doable is one of the simplest Node targets, no `remix.config.js` tweaks, no platform-specific adapter switch.

Deploy from Claude Code, Cursor, or Codex

Type /deploy in your editor, the AI bundles the repo, builds a Docker image on our worker, and hands back the URL in chat. No tab-switching to a dashboard.

One-click preview from a GitHub URL

Paste a public GitHub URL at doable.do/try and get a live preview in 30 seconds. No signup. Expires in 8h unless you claim it.

Bring your own server, free forever

A $6 Hetzner box runs unlimited projects via `doable server add`. Same deploy UX; the only thing we don't run is our Cloud infra.

Deploy your Remix app

doable deploy  # from your Remix project

Detected via `@remix-run/*` deps. Build runs `remix build`; start runs `remix-serve` or your custom server.

Or say “deploy this” in Claude Code.

FAQ

Can I keep using my custom server (Express, Fastify)?

Yes. If your package.json `start` script points at a custom server file, Doable runs that. The generated Dockerfile preserves your entry point.

What about React Router v7 (the Remix successor)?

React Router v7 is Remix renamed and restructured. Same Node-adapter story; Doable deploys it the same way.

Try Doable — paste any GitHub URL

No credit card. Live URL in ~30 seconds.

Other frameworks: Next.js · Vite · React (Create React App) · SvelteKit · Astro · FastAPI · Django · Hono