Fly.io: Deployment strategy on fly.io

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


Found this interesting.

I was used to similar services that used a single file named docker-compose.yaml to set up multiple services.

On fly, each service in your app lives on its dedicated service, deployed independently, each with its own Dockerfile.

If you have multiple services, you communicate between them inside fly using the .internal domain, like this: myappname.internal

You can also prepend the region to point to a specific one, for example:

cdg.my-app.internal

Note that you also need the internal port, as specified in the app fly.toml, for example cdg.my-app.internal:8080

I wasn’t able to set this up with my PocketBase instance yet, but that’s the goal.

Related issues https://github.com/pocketbase/js-sdk/issues/21

Lessons in this unit:

0: Introduction
1: Run an app on fly.io
2: ▶︎ Deployment strategy on fly.io
3: Run PocketBase on fly.io
4: Deploy to Fly via GitHub action
5: Fly.io, list all regions available