Azure Installation
Self-hostedThis guide explains how to deploy Entropy Data on Microsoft Azure. Azure offers multiple deployment options, from managed container platforms to fully managed Kubernetes clusters.
Prerequisites
- Active Azure subscription
- Azure CLI installed and configured
- Basic understanding of Azure services
- SMTP credentials (Azure Communication Services or SendGrid recommended). Optional, but required for invitations and password resets.
Deployment Options
Azure provides several options for deploying Entropy Data:
- Azure Container Apps - Managed container platform with built-in HTTPS ingress and scaling (detailed below)
- Azure Kubernetes Service (AKS) - Full Kubernetes for enterprise deployments (see Kubernetes installation guide)
- Azure App Service - Runs the Docker image as a Linux web app (see the App Service environment variables)
Azure Container Apps Deployment (Recommended)
Azure Container Apps runs the Entropy Data container without managing servers, with HTTPS ingress, health probes, and log collection included.
Deploy Using ARM Template
Click the button below to deploy Entropy Data to Azure using an Azure Resource Manager template:
The template is maintained as a Bicep file in the Community Edition repository. The deployment creates the following resources:
- Container Apps Environment - Consumption workload profile, integrated into the virtual network
- Container App - Runs the Entropy Data Docker container with public HTTPS ingress and health probes
- Log Analytics Workspace - Collects the container logs
- Azure Database for PostgreSQL - Flexible server with the required extensions
vector,uuid-ossp, andhstore - Virtual Network - Isolates the database from public internet exposure
- Private DNS Zone - Enables secure database connectivity
The database password is generated during deployment and passed to the Container App as a secret, as is the SMTP password.
Important Parameters
When deploying via the Azure Portal, configure these key parameters:
- containerAppName: Name of the Container App (default
entropy-data). It becomes part of the default domainhttps://{containerAppName}.{random}.{region}.azurecontainerapps.io - superAdmins: Comma-separated email addresses of administrators who will have access to the /admin page
- smtpHost: SMTP server hostname (e.g.,
smtp.sendgrid.net). Leave empty to run without transactional emails - smtpUsername: SMTP authentication username
- smtpPassword: SMTP password or API key
- mailFrom: Sender email address for outgoing emails. Required when smtpHost is set
- applicationHostWeb: Public URL of the application when using a custom domain. Leave empty to use the default domain
- containerCpu and containerMemory: Container size (default 1 CPU and 2Gi). Must be one of the allowed combinations of the Consumption workload profile, such as 0.5/1Gi, 1/2Gi, 2/4Gi, or 4/8Gi
All other parameters have sensible defaults and can be customized as needed.
Deploy Using the Azure CLI
az group create --name entropy-data --location westeurope
az deployment group create \
--resource-group entropy-data \
--template-uri https://raw.githubusercontent.com/entropy-data/entropy-data-ce/main/azure/entropy-data-ce.json \
--parameters \
superAdmins=admin@example.com \
smtpHost=smtp.sendgrid.net \
smtpUsername=apikey \
smtpPassword=xxx \
mailFrom=support@example.com
The deployment takes about 10 to 15 minutes, most of it for the PostgreSQL server. The application URL is shown as the applicationUrl output of the deployment. Note that not every region offers PostgreSQL Flexible Server to every subscription. If the deployment fails with a message about the Version parameter, choose a different region.
Configure Custom Domain (Optional)
To use your own domain, add the domain and a managed certificate to the Container App, then run the deployment again with applicationHostWeb set to the public URL, e.g. https://entropy.example.com. The URL is used in emails to build links.
Upgrade
To upgrade, run the deployment again with containerImageUrl set to the new image tag. The Container App creates a new revision and switches traffic to it once the health probes pass.
Migrating from the App Service Template
Earlier versions of the template deployed Entropy Data as an App Service web app. The App Service subnet cannot be removed while the web app is still connected to it, so delete the web app and the App Service plan first, then run the new template in the same resource group. The PostgreSQL server keeps its name and data. Provide the existing postgresAdminPassword as a parameter, otherwise a new password is generated and the administrator password of the server is changed.
Next Steps
- Configure SSO with Azure Entra ID for user authentication
- Set up SCIM for user provisioning
- Configure observability for monitoring
- Review all configuration options
- Explore Azure integration