This repository contains an Azure Resource Manager (ARM) template for deploying the ALTCHA Sentinel service on Azure App Service with persistent storage.
The deployment includes:
- A Linux-based Azure App Service with container support
 - An App Service Plan (B2 SKU by default)
 - A Storage Account with Azure Files share for persistent data
 - Configuration to mount the Azure Files share to the container
 
- Azure subscription
 - Azure CLI or PowerShell installed
 - Appropriate permissions to create resources in your Azure subscription
 
- 
Login to Azure:
az login
 - 
Create a resource group (if needed):
az group create --name <resource-group-name> --location <location>
 - 
Deploy the template:
az deployment group create \ --resource-group <resource-group-name> \ --template-file <path-to-template.json> \ --parameters siteName=<your-site-name> dockerImage=<your-docker-image>
 
- Navigate to your resource group in the Azure Portal
 - Click "Deploy a custom template"
 - Upload the template file or paste the JSON content
 - Fill in the parameters or use the default values
 - Review and create the deployment
 
| Parameter | Description | Default Value | 
|---|---|---|
siteNamePrefix | 
Name of the App Service | sentinel | 
dockerRegistry | 
Docker registry base URL | https://ghcr.io | 
dockerRegistryUsername | 
Optional username for the registry | |
dockerRegistryPassword | 
Optional password for the registry | |
dockerImage | 
Docker image to deploy | ghcr.io/altcha-org/sentinel:<version> | 
storageAccountName | 
Name of the storage account | Auto-generated | 
fileShareName | 
Name of the Azure Files share | persistentdata | 
mountPath | 
Mount path in the container | /data | 
location | 
Location for all resources | Resource group location | 
sku | 
SKU of App Service Plan | B2 | 
storageSKU | 
SKU of Storage Account | Premium_LRS | 
After deployment, the following outputs will be available:
appServiceName: Name of the deployed App ServiceappServiceUrl: URL to access the deployed applicationstorageAccountName: Name of the created storage accountfileShareName: Name of the created file share
- The application should be available at: 
https://<your-site-name>.azurewebsites.net - You can view the deployment outputs in the Azure Portal or by querying the deployment:
az deployment group show --resource-group <resource-group-name> --name <deployment-name>
 
To customize the deployment:
- Modify the 
dockerImageparameter to use a different container image - Adjust the 
skuparameter to change the App Service Plan tier - Change the 
storageSKUparameter to select a different storage account type 
- If the container fails to start, check the logs in the App Service's "Container settings" or "Log stream"
 - Verify the storage account and file share were created successfully
 - Ensure the container has proper permissions to write to the mounted volume
 
To remove all resources:
az group delete --name <resource-group-name> --yes --no-waitThis ARM template is provided as-is. Refer to the ALTCHA Sentinel project for licensing information about the application itself.