A nodejs application that gets your public IP and updates an Azure DNS zone to provide a dynamic DNS service.
- Deploy a DNS Zone for your domain and add the nameservers to your registrar
- Create an app registration in your Azure Tenant
- Add a client secret to the app registration
- Provide the app registration
Readerover the resource group andDNS Zone Contributorover the DNS Zone
| Variable | Description |
|---|---|
| TENANT_ID | Tenant ID the DNS zone is deployed in (You can use one of [TENANT_ID or ARM_TENANT_ID or AZURERM_TENANT_ID]) |
| CLIENT_ID | The client ID of the app registration (You can use one of [CLIENT_ID or ARM_CLIENT_ID or AZURERM_CLIENT_ID]) |
| CLIENT_SECRET | The client secret of the app registration (You can use one of [CLIENT_SECRET or ARM_CLIENT_SECRET or AZURERM_CLIENT_SECRET]) |
| ARM_TENANT_ID | Alias for TENANT_SECRET |
| ARM_CLIENT_ID | Alias for CLIENT_ID |
| ARM_CLIENT_SECRET | Alias for CLIENT_SECRET |
| AZURERM_TENANT_ID | Alias for TENANT_SECRET |
| AZURERM_CLIENT_ID | Alias for CLIENT_ID |
| AZURERM_CLIENT_SECRET | Alias for CLIENT_SECRET |
| SUBSCRIPTION_ID | Subscription ID where the DNS zone is located |
| RESOURCE_GROUP_NAME | Resource group where the DNS zone is located |
| DNS_ZONE | Azure DNS zone name |
| RECORD | @ or subdomain |
WillsMBP.local: ~/Documents/Projects/azure-ddns
🥞 >TENANT_ID='820ff242-a754-4e7a-9be9-de7b5350251f' \
CLIENT_ID='27b5946c-6e11-4e62-b081-0d11138cccd8' \
CLIENT_SECRET='n1S8Q~bFKlqO13EEPxl0TK7NEUZjQFLgeLy39csu' \
SUBSCRIPTION_ID='8d8aeb08-5ca6-4f8c-a3ef-e9ab11cc4449' \
RESOURCE_GROUP_NAME='rg-dns-example' \
DNS_ZONE='wdew.uk' \
RECORD='home' \
node index.js
Updated - Domain: home.wdew.uk IP: 1.22.25.29Values are for example and should be updated