--- title: "Azure Container Instances" description: "Deploy Infisical with Azure Container Instances" --- Prerequisites: - Have an account with [Microsoft Azure](https://azure.microsoft.com/en-us) This brief goes over how to deploy an instance of Infisical with Azure Container Instances without TLS/SSL configuration. There are various options for enabling TLS/SSL with Azure Container Instances more suitable for production including: - [Enabling a TLS endpoint in a sidecar container](https://learn.microsoft.com/en-us/azure/container-instances/container-instances-container-group-ssl). - [Enabling automatic HTTPS with Caddy in a sidecar container](https://learn.microsoft.com/en-us/azure/container-instances/container-instances-container-group-automatic-ssl). - Using Azure Function Proxies, Application Gateway, etc. For a simpler deployment experience with complete TLS/SSL setup, you may try [deploying Infisical with Azure App Services](/self-hosting/deployment-options/azure-app-services). 1.1. In Azure, navigate to the **Container Instances** solution and press **Create**. ![Azure container instance](/images/self-hosting/deployment-options/azure-container-instances/aci-select-container-instances.png) ![Azure create container instance](/images/self-hosting/deployment-options/azure-container-instances/aci-create-container-instance.png) 1.2. In the **Basics** section, specify the **Subscription** and **Resource group** to manage the deployed resource. Also, give the container a friendly name like Infisical and specify a **Region** for it to be deployed to. ![Azure container instance basics](/images/self-hosting/deployment-options/azure-container-instances/aci-create-container-instance-basics-1.png) Next, select the **Public** option under **Image type** and fill in your intended [Infisical public Docker image](https://hub.docker.com/r/infisical/infisical) in the **Image** field; this will pull the image from Docker Hub. For example, in order to opt for Infisical `v0.43.4`, you would input: `infisical/infisical:v0.43.4`. ![Azure container instance basics](/images/self-hosting/deployment-options/azure-container-instances/aci-create-container-instance-basics-2.png) Depending on your use-case and requirements, you may find it helpful to further configure your Azure container instance. For example, you may want to adjust the **Region** option to specify which region to deploy the container for your instance of Infisical to minimize distance and therefore latency between the instance and your infrastructure. 1.3. In the **Networking** section, select the **Public** option under **Networking type**; this will make the container accessible over the public internet. Next, under the **Ports** section, add an entry for port `8080` and protocol `TCP` since Infisical listens on port `8080`. ![Azure container instance networking](/images/self-hosting/deployment-options/azure-container-instances/aci-create-container-instance-networking.png) 1.4. Running Infisical requires a few environment variables to be set for the Azure container instance. At minimum, Infisical requires that you set the variables `ENCRYPTION_KEY`, `AUTH_SECRET`, `MONGO_URL`, and `REDIS_URL` which you can read more about [here](/self-hosting/configuration/envars). In the **Advanced** section, fill in the required environment variables. To use more features like emailing and single sign-on, you can set additional configuration options [here](/self-hosting/configuration/envars). ![Azure container instance advanced](/images/self-hosting/deployment-options/azure-container-instances/aci-create-container-instance-advanced.png) 1.5. Finally, in the **Review + create** section, double check the information from the previous steps and press **Create** to create the Azure container instance. ![Azure container instance review](/images/self-hosting/deployment-options/azure-container-instances/aci-create-container-instance-review.png) Head to the **Overview** page of the newly-created container instance to view its **IP address (Public)**; you can access your instance of Infisical by this IP address under the port `:8080`. For example, in the image below, the IP address of the sample deployed container instance is `4.255.87.109`; the instance would be accessible in the browser by heading to `4.255.87.109:8080`. ![Azure container instance overview](/images/self-hosting/deployment-options/azure-container-instances/aci-container-instance-overview.png) Yes, here are a few that come to mind: - In step 1.2, we recommend pinning the Docker image to a specific [version of Infisical](https://hub.docker.com/r/infisical/infisical/tags) instead of referring to the `latest` tag to avoid any unexpected version-to-version migration issues. - In step 1.2, we recommend selecting a **Region** option that is closest to your infrastructure/clients to reduce latency. - Enable TLS/SSL with Azure Container Instances. There are various options for doing so including [enabling a TLS endpoint in a sidecar container](https://learn.microsoft.com/en-us/azure/container-instances/container-instances-container-group-ssl), [enabling automatic HTTPS with Caddy in a sidecar container](https://learn.microsoft.com/en-us/azure/container-instances/container-instances-container-group-automatic-ssl), and using Azure Function Proxies, Application Gateway, etc. We're working on putting together a fuller list of deployment best practices as well as minimum resource configuration requirements for running Infisical so stay tuned!