Problem
Currently catapulta only supports deploying containers to a VPS
via docker save/rsync/load. Lightweight services (webhook relays,
small APIs) could run for free on Fly.io instead of consuming
resources on a paid VPS.
Proposal
Add a Fly.io deploy target using the flyctl CLI. The workflow
would be:
- Build the Docker image locally
- Deploy to Fly.io via
flyctl deploy
// catapulta.toml or equivalent
[[apps]]
name = "notifier"
provider = "fly"
app = "my-notifier"
region = "cdg" // Paris
memory = 256
The deployer would:
- Build the image (existing
build_image logic)
- Call
flyctl deploy --local-only --image {tag} or use
flyctl deploy with a Dockerfile
Fly.io provides:
- Free tier: 3 shared VMs, 256 MB RAM each
- Always-on (no cold starts)
- Built-in HTTPS and custom domains
- Volumes for persistent storage if needed
- Multi-region support
Prerequisites
flyctl CLI installed and authenticated
- Fly.io account
fly.toml in the app directory (or generated by catapulta)
Problem
Currently catapulta only supports deploying containers to a VPS
via docker save/rsync/load. Lightweight services (webhook relays,
small APIs) could run for free on Fly.io instead of consuming
resources on a paid VPS.
Proposal
Add a Fly.io deploy target using the
flyctlCLI. The workflowwould be:
flyctl deployThe deployer would:
build_imagelogic)flyctl deploy --local-only --image {tag}or useflyctl deploywith a DockerfileFly.io provides:
Prerequisites
flyctlCLI installed and authenticatedfly.tomlin the app directory (or generated by catapulta)