Deployment
Docker Export
Every exported backend ships with a production-ready Dockerfile — no extra setup required.
Why every export ships one
A Framework Export already gives you a normal, framework-idiomatic project — but "runs on my machine" and "runs anywhere" are different problems. A Dockerfile is what closes that gap: the exact runtime, dependency versions and start command are captured once, so the same image behaves identically on your laptop, a teammate's machine, and whatever container platform you deploy to. Since it's generated alongside the rest of the project, there's nothing extra to write or keep in sync by hand.
What's included
- • A multi-stage Dockerfile, tuned to the framework you exported to.
- • A docker-compose.yml to run the backend alongside its dependencies locally.
- • A docker-compose.prod.yml override for production settings.
The build stage installs dependencies and compiles your project; the runtime stage keeps only what's needed to run it, for a smaller, leaner image.
Running the container
From the exported project:
docker compose up -dThe container exposes the same port your backend listens on locally, so you can point any reverse proxy or load balancer at it exactly like a normal service.
Handling secrets
Environment variables are never baked into the image — the Dockerfile expects them to be provided at runtime (via docker-compose.yml, a .env file, or your platform's secret manager). This keeps credentials out of the image layers entirely. See Environment Variables.
Interactions with the rest of the platform
- • The Dockerfile is generated from the same Framework Export output — re-exporting after canvas changes regenerates both together, so they never drift apart.
- • If you deploy through Runtime instead, you never touch this Dockerfile directly — it's only relevant once you export and run the project yourself.
Limitations
- • The Dockerfile is generated for the framework you exported to — changing frameworks means re-exporting, not hand-editing the existing one.
- • Like the rest of the export, it's a starting point: adjust base image versions, add system packages, or change build steps directly in the file once it's yours.