Blog Post

Apps on Azure Blog
11 MIN READ

Strapi on App Service: FAQ

Nitesh_Jain's avatar
Nitesh_Jain
Icon for Microsoft rankMicrosoft
Apr 09, 2025

Frequently asked questions for Strapi deployment on App Service

Where to host Strapi? How to self-host Strapi?

When it comes to Strapi hosting, deploying Strapi, or self-hosting Strapi, Azure App Service stands out as a premier solution. Azure App Service is a fully managed platform for building, deploying, and scaling web apps, offering unparalleled scalability and reliability. Deploy Strapi on Azure App Service to leverage Strapi's flexible content management capabilities with the robust infrastructure of Microsoft's cloud. With greater customization control, global region availability, pre-built integration with other Azure services, Strapi on Azure App Service simplifies infrastructure management while ensuring high availability, security, and performance. Learn more from documentation below,

How do I enable a custom domain for my Strapi website?

Custom domains can be set up with these resources:

Does Strapi on App Service have email functionality?

Yes, email functionality is supported through Azure Communication Services. You can also configure custom email domains.  In order to integrate Strapi application with Azure communication services, we use an Email plugin here.

Can I use other databases with Strapi on Azure App Service?

Strapi supports MySQL, PostgreSQL, MariaDB and SQL Lite. Our current ARM template solution supports using PostgreSQL or MySQL as database. To use another supported database, you could either modify the ARM template or even set up database manually and update the database related environment variables.

How can I access error logs for my Strapi website?

Access error logs for debugging via App Service logs or the Kudu dashboard. Refer to the documentation for detailed steps.

How can I debug and monitor my Strapi site?

Key tools for debugging and monitoring Strapi sites include:

How do I estimate pricing for hosting a Strapi site on Azure?

See how to estimate pricing section in our Strapi on App service overview blog. Use the Azure Pricing Calculator to estimate hosting costs, considering App Service, MySQL  or PostgreSQL, Blob Storage, and other components.

How to deploy Strapi for free?

We have configured default plans for each Application environment mode to help you get started quickly. However, you can manually adjust these plans to free plans to meet your requirements. You can change the default plan either in the ARM template before deployment or post-deployment via the portal.

Following plans are available for app service and database server:

  • WebApp Server: F1 Free Tier (60 CPU minutes per day, 1 GB RAM, 1 GB Storage)
  • Database Server: Burstable, B1ms Free trial (1 vCores, 2 GB RAM, 32 GB storage, 396 IOPS)

The free hosting plan provides you with a playground to explore and experiment with Strapion App Service. This will help you understand the offering better before you make a long-term investment.

Note: This hosting plan is not suitable for production workloads. It is highly recommended that you do not use this plan for a production setup.

Eligibility:

The free hosting plan takes advantage of App Service F1 free tier and Azure Database for MySQL/PostgreSQL free trial. Your eligibility depends on your subscription type [1]:

  • Free Account: Free Forever, 750 hours per month for 12 months
  • Student Account: Free Forever, 750 hours per month for 12 months
  • Pay as you go with Free Offer: Free Forever, 750 hours per month for 12 months
  • Pay as you go: Chargeable

For more details on Free Account, refer to the Azure Free Account FAQ | Microsoft Azure [1].

How do I set up local environment and continuous deployment for my Strapi application?

Follow the instructions below to set up CI/CD for your Strapi application using GitHub.

You can also create a pipeline in Azure DevOps and configure it to deploy your Strapi application to Azure App Service. Learn more.

How is run Strapi in production mode?

To run Strapi in production mode, set the Application Environment mode to Production during the creation process. In production mode, no default code or package will be deployed. You need to install Strapi locally and set up CI/CD. Here are the steps for that:

For more details on application modes and transitioning from development to production mode, refer to the FAQ documentation.

Note: The default pricing plans for Azure services used in this solution vary between development and production modes. You can adjust the pricing plan of respective resources post-creation or by modifying the ARM template.

How is run Strapi in development mode?

To run Strapi in development mode, set the Application Environment mode to Development during the creation process. Use this mode when you are starting, developing, or testing your Strapi application. In this mode, you can directly update the content schema and data from the Strapi admin portal. The Strapi App Service demo template package will be deployed by default to App Service.

For more details on application modes and transitioning from development to production mode, refer to the FAQ documentation.

Note: The default pricing plans for Azure services used in this solution vary between development and production modes. You can adjust the pricing plan of respective resources post-creation or by modifying the ARM template.

How is set up of Strapi application in development mode different from production mode?

When the application mode is set to development, the following steps are performed as part of the default setup:

  • The Strapi App Service demo template package is deployed from a specified location to the App Service.
  • The NODE_ENV variable on the App Service web app is set to development.
  • The demo template includes updates to the standard Strapi website template.
  • Plugins are added to the demo template package by default to enable integration with Azure Blob Storage and Azure Communication Service. The following plugins are used:

When the application mode is set to production, the following steps are performed as part of the default setup:

The default configuration pricing plans differ for development and production modes.

How to run Strapi in production mode from development mode?

Here are steps to move from development mode to production mode,

  • Update the NODE_ENV variable on App service web app from development to production.
  • Remove the Startup Command from App Service -> Settings -> Configuration -> General settings
  • Rebuild the project either from Kudu or SSH before starting the app.
  • Follow more instructions & next steps here to move to production.

How do I configure common app settings e.g. environment variables in Azure App Service for my Strapi application?

To configure common app settings, such as environment variables, for your Strapi application on Azure App Service, you can use the Azure portal. In Azure App Service, app settings are passed as environment variables to your application code. This allows you to customize the behavior of your application without changing the code itself. To set these environment variables, go to your App Service instance in Azure portal. In the left-hand menu, select "Configuration" under the "Settings" section. Learn more.

Are there limits on the number of sites, visits, storage, or bandwidth?

The allocated resources for an App Service plan and database tier determine the hosting capacity. For example:

  • App Service P1V3 Plan: Includes 2 core, 8 GB RAM, and 250 GB storage.
  • Database B1ms Instance: Offers 1 vCore, 2 GiB Memory, and up to 16TB storage.

There's no fixed limit on the number of sites you can host, but refer to blog on App Service plan density check for recommended app limits by SKU.

Bandwidth is unlimited, but charges apply for internet egress.

How to upgrade Strapi ? How to update Strapi version? 

Azure App Service manages security patches for core technologies such as Node and NGNIX. However, Strapi-specific updates require manual steps.

  • Node Major Versions: Update manually under App Service > Settings > Configuration [1].
  • Strapi: This needs to be manual and typically involves updating dependencies and migrating your project to the latest version. To update the Strapi version, run npm install strapi@latest or yarn add strapi@latest in your project directory and follow any migration steps provided in the official documentation Strapi documentation for upgrades.
  • Plugins and Themes: Perform manual updates after backing up your site to avoid issues. Strapi also offers auto-update options..

What are the features available for securing my Strapi application on Azure App Service?

Azure App Service integrates robust security features to safeguard Strapi sites:

What features can I use to boost my Strapi app's performance & scaling?

Enhance performance with these features / plugins:

What are the options for configuring and setting up my Strapi site?

Follow App Service documentation (deployment and configuration menu) for various options on deployment and configuration.  Few commonly used options are:

And Strapi is just like any other node app deployed on Linux, so you can also refer to this for general node related configuration.

How can I build a headless Front-end site with Strapi?

Follow Strapi documentation for,

How to host Strapi with Vercel?

Once you host Strapi on App Service, it can be used as a backend for many modern frontend frameworks, including Vercel. To host Strapi on Vercel, deploy your Strapi application using Vercel's deployment tools. Ensure your project is configured correctly and linked to your Vercel account. Learn more

How to deploy Strapi on Netlify?

After hosting Strapi on App Service, it can be used as a backend for various modern frontend frameworks, including Netlify. To deploy Strapi on Netlify, use Netlify's deployment tools to link your project repository and configure your build settings. Ensure your project is set up to run on Netlify's infrastructure. Learn more

How to use Strapi with React?

Once Strapi is hosted on App Service, it can serve as a backend for many modern frontend frameworks, including React applications. Fetch data from Strapi's API endpoints and integrate it into your React components using libraries like Axios or Fetch. Learn more

What features are available for creating an enterprise-grade production website?

Key features include:

What logging and monitoring tools are available for Strapi on Azure App Service?

Azure App Service offers several tools for monitoring and diagnostics to ensure your Strapi application runs smoothly. Azure Monitor collects and aggregates metrics and logs from your application, providing insights into its availability, performance, and resilience. Application Insights is another powerful tool that helps you monitor application performance and usage, offering detailed telemetry data. Additionally, App Service Logs provide built-in diagnostics logging to assist with debugging and troubleshooting your application. These tools collectively help you maintain the health and performance of your Strapi application on Azure App Service. 

Learn more

How do I set up custom domains and SSL certificates for my Strapi application on Azure App Service?

To set up custom domains and SSL certificates for your Strapi application on Azure App Service, you can use the Azure portal. First, you need to purchase a custom domain or use an existing one. Then, you can configure the custom domain in the Azure portal by navigating to your App Service and selecting the "Custom domains" option. For SSL certificates, you can either use an App Service Managed Certificate if your app is in the Basic tier or higher, or upload your own certificate. This ensures that your application is accessible via a custom domain and secured with SSL encryption.

Can I use Azure Front Door (AFD) to serve static assets for my Strapi application?

Yes, you can integrate Azure Front Door (AFD) to serve static assets for your Strapi application, which helps improve performance and reliability. Azure Front Door provides a global, scalable entry point for delivering your web applications, APIs, and static content. By configuring AFD to serve static assets, you can leverage its caching capabilities, load balancing, and enhanced security features to ensure faster and more secure delivery of your content to users worldwide.

Learn more

How do I configure CORS for my Strapi application on Azure App Service?

To configure Cross-Origin Resource Sharing (CORS) for your Strapi application on Azure App Service, you need to update the CORS settings in the config/middleware.js file of your Strapi project. Additionally, you can configure CORS settings directly in the Azure portal by navigating to your App Service and selecting the "CORS" option under the API section. This allows you to specify the allowed origins and ensure that your application can handle cross-origin requests securely. Learn more.

What are the options for backing up and restoring my Strapi application on Azure App Service?

Azure App Service provides robust backup and restore options to safeguard your Strapi application and its data. You can create on-demand custom backups or set up automatic backups to ensure your data is regularly saved. In case of data loss or corruption, you can restore a backup by either overwriting the existing app or restoring it to a new app or slot. This feature helps you maintain the integrity and availability of your application data. Learn more

How do I migrate my existing Strapi application to Azure App Service?

To migrate your existing Strapi application to Azure App Service, you need to: set up an Azure account, create an App Service plan, configure your Strapi project for Azure deployment by setting up environment variables for your database connection, and then deploy your Strapi code to the App Service using either a continuous integration/continuous delivery (CI/CD) pipeline; ensuring your database is properly migrated to an Azure database service like Azure MySQL or PostgreSQL is crucial. 

How do I ensure high availability and disaster recovery for my Strapi application?

Use Azure's high availability and disaster recovery features, such as multi-region deployment, zone redundancy and backups. Learn more

Can I customize the ARM templates based on my requirements?

Yes, these templates are highly configurable. You can download the ARM template and modify as per requirements. You can deploy modified ARM template using CLI, PowerShell or Azure portal.

Read more about Azure Resource Manager (ARM) templates

And for updating anything on the ARM template, they can refer to the specific resource section.

How can I reset the admin password of the Strapi site?

You can change the password from Admin panel.

Change the password using CLI options.

If you forgot password, you can Reset password

How do I upgrade my existing Strapi project to the Enterprise Edition?

When you purchase an Enterprise Edition license for Strapi, you will be given a long randomized key, which is used to activate the features of your Strapi project the license provides. There are two key ways to install this license that will be detailed below:

  • Via an environment variable STRAPI_LICENSE
  • Via a license.txt file located in the root folder of your Strapi project

Read Strapi's Installation Guide for more details.

Updated Apr 16, 2025
Version 7.0
No CommentsBe the first to comment