this is a valid point, but I just came to a realization about fly’s “launch” command that creates the fly.toml file:
As a first-time user of Fly.io, I did not know that a [dev] section was required as the default fly.toml file does not produce this. To be clear:
If one uses flyctl launch , you will see the following:
# fly.toml app configuration file generated for remix-app-deploytest2 on 2024-10-07T16:26:07-04:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = 'app-name-you-chose'
primary_region = 'ewr'
[build]
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 0
processes = ['app']
[[vm]]
memory = '1gb'
cpu_kind = 'shared'
cpus = 1
However, adding the following made this deployment finally work:
# fly.toml app configuration file generated for remix-app-deploytest2 on 2024-10-07T16:26:07-04:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = 'app-name-you-chose'
primary_region = 'ewr'
[build]
[env]
PORT = "3000"
SHOPIFY_APP_URL = "https://app-name-you-chose.fly.dev"
SHOPIFY_API_KEY = "your-key-made-by-shopify"
SCOPES = "scopes-defined-in-shopify.app.toml"
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 0
processes = ['app']
[[vm]]
memory = '1gb'
cpu_kind = 'shared'
cpus = 1
For anyone who is struggling to deploy a Shopify Remix application, I highly recommend this guide