A service that automatically updates NextDNS with your current WAN IP address at regular intervals by directly calling the NextDNS endpoint from within your home network.
Available in two implementations:
- Python version: Docker-based service (this README)
- Go version: Static binaries for manual deployment (README-go.md)
- Regularly updates the NextDNS endpoint with your WAN IP
- NextDNS automatically detects your WAN IP when called from your network
- Uses structured logging for better visibility
- Runs in a Docker container (Python) or as static binaries (Go)
- Configurable update interval
Configuration is done through environment variables:
NEXTDNS_ENDPOINT
: The NextDNS endpoint URL to update (default: https://link-ip.nextdns.io/YOUR_ID/YOUR_EXT_ID)UPDATE_INTERVAL_SECONDS
: Time between updates in seconds (default: 300 seconds / 5 minutes)
- Clone this repository
- (Optional) Edit the
docker-compose.yml
file to change the environment variables - Run:
docker-compose up -d
docker build -t nextdns-ip-updater .
docker run -d --name nextdns-ip-updater \
-e NEXTDNS_ENDPOINT=https://link-ip.nextdns.io/YOUR_ID/YOUR_EXT_ID \
-e UPDATE_INTERVAL_SECONDS=300 \
nextdns-ip-updater
View the logs with:
docker logs -f nextdns-ip-updater
This image runs as the default (root) user. For production environments, consider implementing additional security measures.