Migrating from Fly.io
View as MarkdownMove a Fly.io app to Atlasflow.
Fly.io and Atlasflow both run containers on microVMs, so your application image will feel right at home. The main differences are how you configure and deploy: Atlasflow is GitHub-driven and uses project settings instead of a fly.toml and CLI.
What maps over
| Fly.io | Atlasflow |
|---|---|
| Dockerfile build | Dockerfile build |
| MicroVM runtime | MicroVM runtime |
flyctl deploy | Push to your default branch |
| Secrets | Environment variables |
| Custom domains / certs | Custom domains (TLS automatic) |
Steps
- Create a project from your GitHub repository and reuse your existing Dockerfile.
- Set the internal port to 3000. Fly maps
internal_portinfly.toml; Atlasflow forwards traffic to port 3000. Make sure your app listens on0.0.0.0:3000. - Drop
fly.toml. Atlasflow configures the root directory, Dockerfile path, and branch in project settings rather than a config file. - Move secrets to environment variables, split into build and runtime scopes.
- Health check on
/. Fly health checks are configurable; Atlasflow checksGET /for a 2xx response. See Container requirements. - Domains and TLS. Add a custom domain and verify DNS. Atlasflow issues certificates automatically, so you don't manage certs yourself.
Things to know
- There's no Atlasflow CLI; deployments are driven by Git pushes and the dashboard.
- Multi-region is available on the Team plan.
- Persistent volumes and managed data services differ from Fly. Managed database, storage, and queues are coming soon.
Next steps
- How Atlasflow works: the runtime model.
- Configuration: replace
fly.toml. - Custom domains: domains and automatic TLS.