Feature request: fly launch with config URL

When launching new fly apps from templates, it would be really helpful if the template config could be a URL instead of a file on disk.

I’d like to conveniently deploy container images that are prebuilt, for example:

fly launch \
  --config https://github.com/... \
  --copy-config \
  --ha=false

I’m curious… what is in the template config?

This is the template config:

I’ve had a couple cases where I wanted to use this with other similar templates, usually when sharing deployments with others.

Still curious, what are you looking for that one or both of the following doesn’t provide?

fly launch --image docker.io/stellar/quickstart:latest

Or

fly machine run docker.io/stellar/quickstart:latest

TIL, the first one works well. Thank you!

When --image is used the --internal-port option seems to not work. If I specify --internal-port 8000 the launch web page that opens has its port as 8080.

Seems fine to me?

I tried:

fly launch --image docker.io/stellar/quickstart:latest --internal-port 8000 --no-deploy

And got the following fly.toml:

# fly.toml app configuration file generated for stellar-dawn-smoke-6674 on 2025-05-20T09:33:25-04:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#

app = 'stellar-dawn-smoke-6674'
primary_region = 'iad'

[build]
  image = 'docker.io/stellar/quickstart:latest'

[http_service]
  internal_port = 8000
  force_https = true
  auto_stop_machines = 'stop'
  auto_start_machines = true
  min_machines_running = 0
  processes = ['app']

[[vm]]
  memory = '1gb'
  cpu_kind = 'shared'
  cpus = 1

Ah so looks like the port works fine when I answer no to whether I want to tweak the settings. If I answer yes, that I want to tweak the settings, it opens a URL with the settings prefilled except the port is still set to 8080 even if I set a different value on the command line.

Good catch! I’ve created a pull request to fix this:

1 Like