Compute: heavy work runs elsewhere
Builds, exports, AI runs finish in the cloud. Your laptop stays cool. celdrive compute run <command> ships your work up, runs it, brings results back.
What it does
Some work doesn't belong on a laptop. A 4K export, a 10-minute Webpack bundle, a fine-tuning run, a video transcode: these tasks roast your fan, drain your battery, and lock you out of doing anything else. CelDrive's compute layer ships them to a faster machine in the cloud, runs them there, and brings the results back.
It's explicit, not magic. You don't get a transparent shell hook that quietly redirects your commands. You decide what runs remote: celdrive compute start provisions a VM, celdrive compute run <cmd> ships your current directory up and runs the command there, celdrive compute stop destroys the host. The flow is honest: you ask for compute, you get it; you stop, billing stops.
Files go up via rsync (only what changed since the last run), the command streams output back to your terminal in real time, and modified files come back when the command exits. Your local working directory is the source of truth on both ends.
Multi-cloud by design
The compute backend is your choice. Hetzner is the default because it's the cheapest credible option (~$0.013/hr for a cx32 with 4 vCPU and 8 GB RAM, billed in EU and US datacenters). DigitalOcean is opt-in for users who prefer a US-headquartered provider. AWS, GCP, Azure, and Fly.io are all wired in. Pick from your dashboard's advanced settings.
This matters because some teams have policy requirements about where their compute runs (data residency, vendor approval, existing committed-spend agreements). We don't lock you to a cloud. Switch providers from a dropdown; your CLI commands don't change.
Pricing reality
USD, billed hourly with a 1-hour minimum on most providers; per-second on Fly. Prices are pulled live from each provider's API at session start so you see exactly what you'll pay before you press start.
| Provider | Default instance | Specs | ~Price | Billing |
|---|---|---|---|---|
| Hetzner (default) | cx32 | 4 vCPU · 8 GB RAM | $0.013/hr | Hourly · 1-hr min |
| DigitalOcean | s-2vcpu-4gb | 2 vCPU · 4 GB RAM | $0.027/hr | Hourly · 1-hr min |
| AWS | t3.medium | 2 vCPU · 4 GB RAM | $0.042/hr | Per-second after 1 min |
| GCP | e2-standard-2 | 2 vCPU · 8 GB RAM | $0.067/hr | Per-second after 1 min |
| Azure | Standard_B2s | 2 vCPU · 4 GB RAM | $0.041/hr | Per-minute |
| Fly.io | shared-cpu-1x-1gb | 1 vCPU · 10 GB RAM | $0.0067/hr | Per-second, no minimum |
Stop the session as soon as you're done. Leaving an idle VM running still bills. That's the trade-off you take in exchange for not paying a fixed monthly subscription.
The flow
One terminal, three commands. Output is real, billing is real.
→ provisioning hetzner cx32 in ash-1...
✓ host ready in 28s · $0.013/hr · billed 1-hr min
ssh: ssh celdrive-compute (auto-configured)
$ celdrive compute run "npm run build"
→ uploading cwd (32 MB delta)...
→ running on remote...
webpack 5.89.0 compiled successfully in 14.2s
→ pulling results...
✓ done in 18s · dist/ updated locally
$ celdrive compute stop
✓ host destroyed · billed 1 hr (min) · $0.013
The same flow works from the dashboard if you'd rather not use the terminal. Open Compute in the CelDrive app, pick a region, click Start session, type your command in the run panel, hit Stop when done. Live billed minutes update in the panel header so you see exactly what the session is costing as it runs.
What it's NOT
- Not background magic. The CLI never silently shells your build to the cloud. Every remote run is preceded by
celdrive compute run. If you don't see that command, it ran locally. - Not a replacement for CI. Use it for ad-hoc heavy runs from your laptop, not for triggered builds on every PR. (For that, use real CI; the cost model is different.)
- Not a managed runtime. The VM is a vanilla Linux box. We provision it; we don't pre-install your toolchain. Your
package.json/requirements.txt/Dockerfileis what bootstraps it on first run. - Not always-on. Sessions are ephemeral.
celdrive compute stopdestroys the host and the disk. State you care about goes back to your CelDrive folder.