# Azure Marketplace Install

You can install the Reporting Hub using [our installer](https://license.thereportinghub.com/install/installer), or through the Azure marketplace. This guide will explain the differences between the two installation methods and describe the requirements and steps for installing through Azure Marketplace.

## Comparison with Installer Methods

Regardless of which installation method you choose, the latest version of the Reporting Hub will be installed in your environment.

The biggest differences when you install via the Azure Marketplace versus using our installer are:

* There is no free trial period when you install through the Azure Marketplace.&#x20;
* Can only deploy a Power BI Embedded capacity (instead of a Fabric capacity). We will update our offering to include the Fabric capacity option soon.
* Translator service isn't deployed automatically through Azure Marketplace and requires manual configuration.

## Installing through the Azure Marketplace

### Create a Managed Identity

Before you install through the Azure Marketplace, you must create a Managed Identity. You must also assign the necessary permissions to the Managed Identity. The Managed Identity requires contributor access on the Azure subscription where the app will be installed, as well as Application Administrator and Groups Administrator permissions in the directory.

#### Create a User Assigned Managed Identity

1. In the Azure portal, select **Managed Identities**.
2. Select **Create**.
3. Select the appropriate **Subscription** in which you'd like to deploy all of the Reporting Hub app resources.
4. Select the **Resource Group** you'd like to use, or create a new one.
5. Select a **Region** you'd like to deploy your Azure resources in.&#x20;
6. **Name** your managed identity.
7. Select **Review + Create** to review your settings and select **Create**.&#x20;

#### Give Managed Identity the Necessary Entra ID Permissions

This allows the managed identity to create the app registration required for your Reporting Hub application.

1. In the Azure portal, select **Microsoft Entra ID**.&#x20;
2. Under **Manage**, select **Roles and administrators**.&#x20;
3. From the list of roles, select:&#x20;
   1. **Application Administrator**
   2. **Groups Administrator**
4. Select **Add assignments**.&#x20;
5. Search for the name of the managed identity and select it. Select **Add**.

#### Give Managed Identity the Necessary Permissions on Azure Subscription

This allows the managed identity to create the necessary resources on the Azure subscription.

1. In the Azure portal, select **Subscriptions**.
2. Select the relevant subscription.
3. Select **Access control (IAM)** on the left menu.
4. On the top menu select **Add** and then **Add role assignment**.
5. Select the **Privileged administrator roles** tab and then select **Contributor**. Select **Next**.
6. Leave the **Assign access to** field set to **User, group, or service principal**. Click **Select members**.
7. Search for the Managed Identity you created, select it, and hit the **Select** button below.
8. Select **Review + assign** at the bottom of the screen.

### Deploy through the Azure Marketplace

{% embed url="<https://azuremarketplace.microsoft.com/marketplace/apps/shiftanalyticsinc1663186612563.reportinghub_prod_003?tab=overview>" %}

1. Open the link above in a new tab to view our Azure Marketplace offering and select **Get It Now**.
2. Sign in to the Microsoft Azure Marketplace.
3. Choose a [Plan](https://thereportinghub.com/pricing) and select **Create**.&#x20;

   1. You must select a paid plan; there is no free trial period when you install through the Azure Marketplace. If you'd like to install with a free trial period, [use our installer](https://docs.thereportinghub.com/getting-started/deployment-step-by-step/self-serve-guided-install) instead.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FdBtxqeydIrjMRB0kNjVd%2F1%20select%20plan.png?alt=media&#x26;token=aff45ef1-e27c-4490-b11d-ed5adbe804c3" alt=""><figcaption></figcaption></figure>
4. Select your Azure **Subscription** and the **Resource group** that your Managed Identity is in.
5. Select the **Region** that you'd like to deploy all of the Reporting Hub resources in.
6. Enter a name for the **Managed Application** and the **Managed Resource Group**. Select **Next**.

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2F3Pqik8OSx386hN3PLxMV%2F2b%20basic%20info.png?alt=media&#x26;token=c2e893d2-d3e8-4029-8b07-87e1093b3579" alt=""><figcaption></figcaption></figure>
7. On the App Service Setup page, you will be presented the option to either use an existing App Service or add a new App Service.&#x20;

   * To use an existing App Service, check the **Use existing App Service** box and select an App Service and deployment slot. Select **Next**.
   * To create a new App Service, enter an **App Service Name**. Select a **Tier**; you can scale up your App Services plan later. Select **Next**.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FzCv8CzIfMPKF04yyneEc%2F3%20app%20service%20setup.png?alt=media&#x26;token=ca84a127-f6b4-44e4-941d-e301c7439332" alt=""><figcaption></figcaption></figure>
8. On the Database Setup page, you can either use an existing Azure SQL Server or create a new one.&#x20;

   * To use an existing server, select the **Use existing Azure SQL Server** box and select it from the list.
   * To create a new server, enter a **SQL Server Name**.

   Enter a **Database Name**. Select **Next**.

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FHPcQle3tfm3IBZkHL1XL%2F4%20database%20setup.png?alt=media&#x26;token=0cdcc523-a233-4f06-ae01-b9b8514f1963" alt=""><figcaption></figcaption></figure>
9. On the Database Credentials page, enter a **SQL Server Username**, **Password**, and enter the **Password** again to confirm. If you are creating a new SQL server, the server admin credentials will be what you enter here. If you are using an existing server, please ensure that you are entering the correct server admin credentials here — the installer is unable to validate them here. Select **Next**.

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FcKykdS3sZYTjJG1lCzjN%2F5%20db%20cred.png?alt=media&#x26;token=24eef1a7-e0ab-48f2-b008-44eddcd3d625" alt=""><figcaption></figcaption></figure>
10. On the Embedded Capacity Setup page, you have the option of creating a new Embedded Capacity or using an existing one.

    * To use an existing capacity, check the **Use existing capacity** box and select a capacity from the list. Only capacities in the resource group you have selected will be available to select. Select **Next**.
    * To create a new capacity, enter a **Capacity Name** and an **Administrator Email** for the user you'd like to set as the capacity's administrator. You can add additional capacity administrators later on. Select **Next**.

    <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FnlHc0KA5N9o6qxihsiFk%2F6%20pbi%20embedded%20capacity.png?alt=media&#x26;token=e0f25566-76c5-4f69-a301-9a2a22475fcb" alt=""><figcaption></figcaption></figure>
11. On the Identity page, select **Add** and then select the user assigned managed identity you created earlier. Select **Next**.

    <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FTgZBmjWEjvtgyaQ5Vzez%2F7b_selected%20identity.png?alt=media&#x26;token=08890f3d-b2bd-4fcf-9790-93a2ce13dffd" alt=""><figcaption></figcaption></figure>
12. Review your terms. You can read The Reporting Hub's Terms of Use and Privacy Policy, as well as the Azure Marketplace Terms, and select **I agree to the terms and conditions above**. Select **Create**.&#x20;

    <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FN4MWCEaecGcXL6XJhygt%2F8_review%20and%20submit.png?alt=media&#x26;token=6d372fe1-626e-4a99-a4d5-4b781b1c258a" alt=""><figcaption></figcaption></figure>
13. The wizard will deploy your Reporting Hub app in your Azure environment. After deployment, navigate to your App Service and select the domain from the Overview page to launch your Reporting Hub.

After deployment, enable Power BI Settings and configure your Reporting Hub app settings. Additionally, if you want to translate your Reporting Hub into a language other than English, [link a Translator service to your Reporting Hub app](#add-a-translator-optional). &#x20;

### Enable Power BI Service Settings

Follow the instructions linked below.

{% content-ref url="deployment-step-by-step/enable-power-bi-service-settings" %}
[enable-power-bi-service-settings](https://docs.thereportinghub.com/getting-started/deployment-step-by-step/enable-power-bi-service-settings)
{% endcontent-ref %}

### Configure Reporting Hub App Settings

Follow the instructions linked below.

{% content-ref url="deployment-step-by-step/configure-reporting-hub-app-settings" %}
[configure-reporting-hub-app-settings](https://docs.thereportinghub.com/getting-started/deployment-step-by-step/configure-reporting-hub-app-settings)
{% endcontent-ref %}

### Add a Translator (Optional)

#### Create a Translator service in Azure&#x20;

1. In the Azure portal, search for **Translators** in the top search bar and select **Translators**.&#x20;
2. Select **Create**.&#x20;
3. Choose a **Subscription** and **Resource group**; it doesn't have to be in the same subscription or resource group that your Web App is in.&#x20;
4. Choose a **Region** that is the same as or close to the region your Web App is in.&#x20;
5. Enter a **Name** for your Translator.&#x20;
6. Set the **Pricing tier** as **Free**.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2F2io1q4fXckWqud36KZj9%2Ft1.png?alt=media&#x26;token=0aa04246-adb1-4fa0-a36c-38f4ec0e0baf" alt=""><figcaption></figcaption></figure>
7. On the **Network** tab, select **All networks, including the internet, can access this resource**.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2F4zcu63KfSsyATVoPbZvO%2Ft2.png?alt=media&#x26;token=385ab5d0-26c9-4de6-99a2-663ed2e9a8b2" alt=""><figcaption></figcaption></figure>
8. Select **Review + Create** and then **Create** to create the resource.&#x20;

#### Add Translator Keys to Reporting Hub App

After the Translator has been created, you need to add its keys to your Reporting Hub app's settings.

1. Select the Translator in your Azure portal.
2. Under **Resource Management**, select **Keys and Endpoint**.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FHyzCtasmpNxTNNpQwWDX%2Ft3%20keys.png?alt=media&#x26;token=1b996818-5d0e-4535-83f2-56cdc16ee31d" alt=""><figcaption></figcaption></figure>
3. Select **Show Keys** and copy KEY 1, KEY 2 and Location/Region to a notes app, like notepad.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FFm48ieNETmP6M0Z5qoTC%2Ft4%20copy%20keys.png?alt=media&#x26;token=0de2dde9-d910-408b-8925-1ddd0f3dd1d4" alt=""><figcaption></figcaption></figure>
4. Navigate to your **App Services** list; you can use the search bar at the top of the page. &#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FqvH18C1ZLYcIIzx7188v%2Ft5%20app%20services.png?alt=media&#x26;token=f5a05f35-c14e-4174-b6bb-b0988c841122" alt=""><figcaption></figcaption></figure>
5. From the list of App Services, select your Reporting Hub app service.&#x20;
   1. If you deployed your Reporting Hub app to a specific slot on your app service, then expand the **Deployment** menu in the left menu pane; select **Deployment slots**; and select the desired slot.&#x20;
6. On the left menu, expand the **Development Tools** menu and select **Advanced Tools**.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FiKQWxypLrwKDa3SAWH2e%2Ft%20advanced%20tools.png?alt=media&#x26;token=86baff23-b65d-473a-a548-dcf5105e225f" alt=""><figcaption></figcaption></figure>
7. Select **Go ->** and Kudu tools will open in a new tab.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2Fcgi8IRz0qF1UbCyxi4Qq%2Ft%20advanced%20tools%20go.png?alt=media&#x26;token=2e87a09c-1b87-4bce-8221-ae6fe1e2d767" alt=""><figcaption></figcaption></figure>
8. On the Kudu page, in the top menu, select **Tools** and **Zip Push Deploy**.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FymDkeFeYsQWHNr2K6zVT%2Fzip%20push%20deploy.png?alt=media&#x26;token=db6b6ccd-0f53-4f93-b366-0ab84b714118" alt=""><figcaption></figcaption></figure>
9. Scroll down in the file list and find `appsettings.json`. Select the **pencil icon** next to it.&#x20;

   <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FAOarCnrmvX4CZbyC52EJ%2Fedit%20app%20settings.png?alt=media&#x26;token=436d79c5-91d2-4b69-834d-5c50c492f66d" alt=""><figcaption></figcaption></figure>
10. In the text editor on the page, find **"key1"** and replace the text beside it with the KEY1 value from step 3. Ensure the key value is inside quotation marks.&#x20;

    <figure><img src="https://2452209205-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd5bUZ5n4bSLHFrpgX6Nj%2Fuploads%2FF2U1JJraxv8gC8bzX3zq%2Fedit%20app%20settings%20translator%20keys.png?alt=media&#x26;token=35567741-01f4-4b32-9d4d-77bd468dd200" alt=""><figcaption></figcaption></figure>
11. Find **"key2"** and replace the text beside it with the KEY2 value from step 3.&#x20;
12. Find **"location"** and replace the text beside it with the translator region you copied in step 3.&#x20;
13. Select **Save**.
