Skip to content
FLAVIO COPES
flaviocopes.com
2026

Deployment strategy on fly.io

By Flavio Copes

Understand how deployment works on Fly.io, where each service gets its own Dockerfile and services talk to each other over the internal .internal domain.

~~~

Found this interesting.

I was used to similar services that used a single file named docker-compose.yaml to set up multiple services (I built a free Docker Compose generator if you need to write one of those).

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

Also see my Docker tutorials.

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

~~~

Related posts about services: