Skip to content

Support Fly.io as a deploy target for containers #18

@dannywillems

Description

@dannywillems

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:

  1. Build the Docker image locally
  2. 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:

  1. Build the image (existing build_image logic)
  2. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions