https://github.com/physer/umami-on-azure
A ready-to-go setup for hosting Umami in a well-designed Azure environment
https://github.com/physer/umami-on-azure
analytics azure bicep containers docker docker-compose umami
Last synced: about 1 month ago
JSON representation
A ready-to-go setup for hosting Umami in a well-designed Azure environment
- Host: GitHub
- URL: https://github.com/physer/umami-on-azure
- Owner: Physer
- License: gpl-3.0
- Created: 2025-08-17T13:15:14.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-08-30T15:21:32.000Z (about 1 month ago)
- Last Synced: 2025-08-30T17:29:16.847Z (about 1 month ago)
- Topics: analytics, azure, bicep, containers, docker, docker-compose, umami
- Language: Bicep
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Umami on Azure 🚀
[](https://azure.microsoft.com/)
[](https://docs.microsoft.com/azure/azure-resource-manager/bicep/)
[](https://umami.is/)## 📋 Overview
This repository provides a complete, automated infrastructure-as-code solution for hosting **Umami**, a privacy-focused, open-source web analytics platform, in Microsoft Azure.
Designed as a modern alternative to Google Analytics, this setup prioritizes data privacy, security, and full organizational control over analytics data.The entire deployment is orchestrated using **Azure Bicep templates**, ensuring reproducible, maintainable, and scalable infrastructure provisioning.
### 🏗️ Architecture Highlights
- **🔧 Infrastructure as Code**: All resources defined using Azure Bicep for maintainable, version-controlled infrastructure
- **🐳 Containerized Deployment**: Umami runs on Azure App Service with Linux containers for optimal performance and scalability
- **🔒 Network Security**: Isolated deployment using Azure Virtual Networks with private DNS and secure connectivity
- **📊 Privacy-First Analytics**: Complete data ownership with GDPR-compliant analytics platformThis solution is perfect for organizations seeking enterprise-grade analytics without compromising on data privacy or control.
## 🚀 Quick Start
### Prerequisites
- [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) installed and configured
- Active Azure subscription with appropriate permissions### Deployment Steps
1. **Authenticate with Azure**
```pwsh
az login
```2. **Deploy the Infrastructure**
```pwsh
az deployment sub create --location -f ./deployUmami.bicep -p ./parameters/local.bicepparam
```> Replace `` with your preferred Azure region (e.g., `swedencentral`)
3. **Resource Provisioning**
The deployment automatically provisions:
- Azure App Service with Linux container
- PostgreSQL Flexible Server database
- Virtual Network with private endpoints
- Supporting networking infrastructure> ⚠️ **Environment Notice**: This configuration currently deploys a local/development environment. Production and staging environments will be supported in future releases.
## 🐳 Local Development with Docker Compose
For local development and testing, you can run Umami using Docker Compose. The Docker Compose configuration is based on the official Umami repository with minor modifications for increased reusability and flexibility.
### Prerequisites
- [Docker](https://www.docker.com/get-started) and Docker Compose installed
- Git for cloning the repository### Setup Steps
1. **Clone the repository**
```bash
git clone https://github.com/Physer/umami-setup
cd umami-setup
```2. **Configure environment variables**
```bash
cp .env.example .env
```Edit the `.env` file with your configuration:
- Set database credentials
- Configure application settings
- Adjust any other environment-specific variables3. **Start the services**
```bash
docker compose up -d
```4. **Access Umami**
Once started, Umami will be available at `http://localhost:3000`
5. **Stop the services**
```bash
docker compose down
```## ✨ Current Features
- ✅ **Automated Infrastructure Provisioning** - Complete resource deployment using Bicep templates
- ✅ **Azure CLI Integration** - Streamlined deployment via command-line interface with parameter files
- ✅ **Virtual Network Security** - Isolated network architecture with private endpoint connectivity
- ✅ **Container-Based Hosting** - Modern Linux container deployment on Azure App Service
- ✅ **Local Development Setup** - Docker Compose configuration for streamlined local development and testing
- ✅ **Application Monitoring** - Azure Application Insights integration for comprehensive observability## 🛣️ Roadmap
The following enhancements are planned to expand and improve the platform:
### 🔧 Development & Operations
- **🔄 CI/CD Automation** - Automated deployment pipelines for staging and production environments
### 🔐 Security & Configuration
- **🔑 Secrets Management** - Azure Key Vault integration for secure credential handling
- **🌐 Custom Domains** - Support for custom domain configuration via Bicep automation
- **🛡️ Access Control** - IP whitelisting and Entra ID managed identity integration### 🚀 Advanced Deployment
- **⚡ Zero-Downtime Updates** - Sidecar deployment pattern implementation
- **🔒 Enhanced Security** - Advanced network isolation and access restrictions---
## 📞 Support
For questions, issues, or contributions, please open an issue in this repository.
## 📄 License
This project is open-source. Please review the license file for details.