A production-ready template for creating Azure-deployed applications with multiple tech stack options.
Click "Use this template" → "Create a new repository"
Name your repo anything you want (e.g.,
my-awesome-api)
After creating the repo, you have two options:
- Go to Actions tab
- Click "🚀 Initialize Project"
- Click "Run workflow"
- Fill in the form and click "Run workflow"
Name your repo following this pattern:
{org}-{env}-{project}-{techstack}
Example: nl-dev-myapi-fastapi
The workflow will auto-configure based on the name.
git clone https://github.com/your-org/your-repo
cd your-repo
make install
make dev| Stack | Description | Port |
|---|---|---|
fastapi |
Python FastAPI - Simple REST API | 8000 |
fastapi-hexagonal |
Python with Clean Architecture/DDD | 8000 |
nodejs |
Node.js Express | 3000 |
go |
Go with standard library | 8080 |
dotnet |
.NET 8 Minimal API | 8080 |
flutter |
Flutter mobile/web | 80 |
reactnative |
React Native (Expo) | 19000 |
After initialization, your project will have:
├── .github/
│ ├── workflows/
│ │ ├── ci.yml # Lint, test, build
│ │ └── deploy.yml # Azure deployment
│ ├── ISSUE_TEMPLATE/
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── dependabot.yml
│ └── CODEOWNERS
├── infra/
│ ├── main.bicep # Infrastructure as Code
│ └── modules/ # Modular Azure resources
│ ├── app-service.bicep
│ ├── container-app.bicep
│ ├── postgres.bicep
│ ├── key-vault.bicep
│ ├── storage.bicep
│ ├── app-insights.bicep
│ └── redis.bicep
├── config/
│ ├── dev.json
│ ├── staging.json
│ └── prod.json
├── tests/
├── .devcontainer/ # VS Code dev container
├── docker-compose.yml # Local development
├── Makefile # Common commands
├── CONTRIBUTING.md
└── [tech-stack-specific files]
| Option | Values | Description |
|---|---|---|
| Organization | nl, pvc, tws, mys |
Your organization code |
| Environment | dev, staging, prod |
Target environment |
| Region | euw, eus, wus, san, saf |
Azure region |
| Tech Stack | See table above | Application framework |
make install # Install dependencies
make dev # Run development server
make test # Run tests
make lint # Run linters
make format # Format code
make docker-build # Build Docker image
make docker-run # Run with Docker ComposeThe template includes Bicep modules for:
- App Service - Traditional web app hosting
- Container Apps - Serverless containers
- PostgreSQL - Managed database
- Key Vault - Secrets management
- Storage Account - Blob storage
- Application Insights - Monitoring
- Redis Cache - Caching layer
Deploy with:
az deployment sub create \
--location westeurope \
--template-file infra/main.bicep \
--parameters infra/parameters/dev.bicepparam- CI runs on every push: lint, test, build, security scan
- Deploy runs on push to
main: deploys to Azure
Required GitHub Secrets:
AZURE_CREDENTIALS- Service principal for Azure
Required GitHub Variables:
ACR_NAME- Azure Container Registry nameWEBAPP_NAMEorCONTAINER_APP_NAME- Deployment target
- Install VS Code
- Install Dev Containers extension
- Open repo in VS Code
- Click "Reopen in Container"
docker-compose upThis starts:
- Your application
- PostgreSQL database
- Redis cache
See CONTRIBUTING.md for development guidelines.
MIT
