DeployProviders
Provider, Azure (Virtual Machine)
Deploy Olympus on an Azure VM
Azure isn't natively supported by Daedalus. Use Direct SSH.
VM creation
az vm create \
--resource-group olympus-rg \
--name olympus-prod \
--image Ubuntu2204 \
--size Standard_B2s \
--admin-username azureuser \
--ssh-key-values ~/.ssh/id_rsa.pubStandard_B2s (2 vCPU, 4GB RAM): ~$30/month. B-series instances are burstable, good for Olympus's bursty auth traffic pattern.
Network security group
az network nsg rule create \
--resource-group olympus-rg \
--nsg-name olympus-prodNSG \
--name AllowHTTPS \
--priority 100 \
--destination-port-ranges 80 443 \
--access Allow --protocol TcpRestrict SSH (port 22) to your IP only.
Azure Database for PostgreSQL
az postgres flexible-server create \
--resource-group olympus-rg \
--name olympus-db \
--location eastus \
--tier Burstable \
--sku-name Standard_B1ms \
--version 17Configure verify-full SSL, Azure provides the CA cert.
Azure DNS
Use Azure DNS or your existing DNS provider for the Olympus subdomain records.
Managed identity vs service principal
For CI/CD deploys from GitHub Actions:
- Create a service principal with
Contributorrole onolympus-rg. - Store credentials in GitHub Secrets.
- Use the
azure/login@v1action in your deploy workflow.
Cost estimate (1k MAU)
- VM B2s: $30/mo
- Flexible Postgres B1ms: $25/mo
- Bandwidth: ~$5
- Total: ~$60/mo
Pricier than DigitalOcean for equivalent specs but useful if your org already uses Azure.