# Migrate from Fly.io

Move a single machine application off Fly.io without carrying its infrastructure operating work with it. Tokay gives the Workspace a dedicated virtual machine, detects the deployment from the source, and handles releases, restarts, and supported data services for you.

## The source replaces most deployment artifacts

You do not need to reproduce `fly.toml`, Machine definitions, or a routine Dockerfile on Tokay. [Connect the repository or push the source](/getting-started), and Tokay detects the stack, entry point, Services, environment variables, and system dependencies from the code.

Web processes, workers, and scheduled jobs become Services in one Project. Secrets are stored encrypted and supplied under the environment variable names the code already reads.

## Persistent data gets a direct destination

Tokay maps volume backed files to persistent directories, so the application can keep local data through deploys and restarts. Use `/tokay/data` or mark the existing application path as persistent. The data is replicated off the virtual machine with periodic offsite snapshots.

When the code expects Postgres, Tokay creates a Project database and supplies its connection. Migrations are rehearsed against a copy of production data before they reach the live database.

## Operations move to the platform

Health checks, zero downtime deploys, automatic rollback, process restarts, streaming logs, and incident email are built into the Service lifecycle. You do not need to maintain the runbook that connects those parts.

## Know what you give up

Fly.io is the stronger fit when the application needs a fleet across several regions or tight latency near users on different continents. Tokay runs the Workspace on one machine in the EU. The fit is an application that benefits from a predictable server without needing multi region placement.

## Your AI agent can move the source first

A coding agent like Claude Code or Codex can migrate the app without porting the Fly deployment files. Through Tokay's GraphQL API, it can submit the source, review the detected Services, set the secrets you provide, deploy the Project, and verify the Tokay URL before DNS changes.

Export Postgres data and volume files from Fly.io, import them into the Project, then move the domain after verification. A Dockerfile that performs unusual application specific work is the main item to check before the move.

Point your agent to [app.tokay.io/llms.txt](https://app.tokay.io/llms.txt) for the deployment protocol.

Tokay has a very generous free tier with no credit card. [Get started](/getting-started).
