Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions js/shopify.html.markerb
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,26 @@ The value of `SHOPIFY_API_SECRET` will be set as a [fly secret](https://fly.io/d
SHOPIFY_APP_URL = 'https://….fly.dev'
```

<div class="important icon">
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.
</div>

## 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](https://shopify.dev/docs/apps/launch/built-for-shopify/requirements#performance).
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](https://shopify.dev/docs/apps/launch/built-for-shopify/requirements#performance).

Depending on your requirements:

* [suspend](https://community.fly.io/t/autosuspend-is-here-machine-suspension-is-enabled-everywhere/20942) 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_running` to 1 in the [http service section](https://fly.io/docs/reference/configuration/#the-http_service-section) of your `fly.toml` can make sure that there always is a started machine to process requests.
* setting `auto_stop_machines` to `off` in the [http service section](https://fly.io/docs/reference/configuration/#the-http_service-section) will prevent your machines from being stopped all together.
* setting `auto_stop_machines` to `off` in the [http service section](https://fly.io/docs/reference/configuration/#the-http_service-section) will prevent your Machines from being stopped all together.

You can also [Scale Machine CPU and RAM](https://fly.io/docs/launch/scale-machine/), and [Scale the number of machines](https://fly.io/docs/launch/scale-count/).
You can also [Scale Machine CPU and RAM](https://fly.io/docs/launch/scale-machine/), and [Scale the number of Machines](https://fly.io/docs/launch/scale-count/).

## 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 unavailabilty during deploys. For a typical application without any new migrations, this will be on the order of a few hundred milliseconds.
* By virtue of only running on a single Machine, SQLlite3 apps will experience brief unavailabilty 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](https://fly.io/docs/launch/deploy/#deployment-strategy) are the default, avoiding any downtime.

Additional information is available on [deploying Prisma apps on Fly.io](../prisma/).
2 changes: 2 additions & 0 deletions styles/words2ignore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,5 @@ vm
vms
http
youtube
shopify
unavailabilty