app in the cd line above)
Configuration
fly launch parses the output of shopify app env show.
The value of SHOPIFY_API_SECRET will be set as a fly secret. The remainder will be placed into your fly.toml:
If you’re using the Fly dashboard UI to launch your app directly from GitHub, you’ll need to manually update the auto-generated
fly.toml with these Shopify-related environment variables after the deployment completes.Scaling
By default, all Machines will automatically be configured to stop when not in use, and restart on the next request; this is fine for development purposes, but for production you will need to adjust this to meet Shopify performance requirements. Depending on your requirements:- suspend can generally reduce startup time from hundreds of milliseconds to a single digit number of milliseconds. Some applications may experience time skew issues, and there are other limits, so this is not the default.
- Setting
min_machines_runningto 1 in the http service section of yourfly.tomlcan make sure that there always is a started machine to process requests. - setting
auto_stop_machinestooffin the http service section will prevent your Machines from being stopped all together.
Database
Shopify’s template starts you off with SQLite using Prisma. Of particular note:- By virtue of only running on a single Machine, SQLlite3 apps will experience brief unavailability during deploys. For a typical application without any new migrations, this will be on the order of a few hundred milliseconds.
- For PostgreSQL applications without any volumes, rolling deploys are the default, avoiding any downtime.