This guide explains how to make your Shopify app available to merchants. You'll learn about hosting options and deployment requirements, whether you're building with [Shopify Remix](/docs/apps/build/build) or another framework. ## General requirements for deployment Before deploying your app: - Review your [app's launch requirements](/docs/apps/launch/app-requirements-checklist) and [learn about the launch process](/docs/apps/launch) - [Test your app functionality](/docs/apps/build/cli-for-apps/manage-app-config-files#test-your-app-functionality) in a development environment - Configure your app in the [Partner Dashboard](https://www.shopify.com/ca/partners) > Note: > The [Shopify Remix template](/docs/apps/build/build) automatically handles key deployment requirements such as authentication, session management, webhook handling, and environment configuration. ## How it works When you deploy a Shopify app, you're making your code available to merchants. This involves: - Moving your code from your local development environment to a hosting service - Connecting your hosted app to Shopify through the Partner Dashboard - Managing app extensions and configurations separately through app versions Your hosting service manages the app's runtime environment and handles incoming requests through authenticated connections set up in the Partner Dashboard. ## Deploying to production If you're planning on deploying your app for use in production, then consider creating a separate app. The app might use the same repository and code base that you use for development and testing, but has its own record and configuration in the Partner Dashboard. If you use a separate app for production, then you can use your original app to test different app elements. You'll also avoid changing your production app settings, such as app URLs, during the development and testing process. > Note: > [App extensions](/docs/apps/build/app-extensions) require separate deployment steps. After deploying your app code, you'll need to deploy extensions built with [Shopify CLI](/docs/apps/build/cli-for-apps) and configure any extensions you set up in the Partner Dashboard. ## Hosting and deployment options The following are common providers for hosting your Shopify app:

Deploy to Fly.io

Learn how to deploy your Shopify app to Fly.io.

Deploy to Render

Learn how to deploy your Shopify app to Render.

### Manual deployment If you're comfortable with app hosting and deployment, or if you have specific infrastructure requirements, then you can deploy to a preferred hosting service that can run JavaScript apps:

Manual deployment guide

Choose this option if you need complete control over your hosting environment or have specific infrastructure requirements.

## App versions After setting up your [app configuration](/docs/apps/build/cli-for-apps/app-configuration) or creating [app extensions](/docs/apps/build/app-extensions), you can deploy these components together and release a new app version to users.

App versions overview

Learn about the deployment model for app configuration and extensions.

Deploy and release app versions

Learn how to deploy app configuration and extensions to Shopify.

Deploy in a CD pipeline

Learn how to deploy in a CI/CD pipeline.

## Next steps After you have deployed your app, it's time to [review distribution options](/docs/apps/launch/distribution/select-distribution-method).