You can install lazydns using a number of methods depending on your platform and preferences.
cargo install, the rusty wayInstalls the latest published crate to your Cargo bin directory:
cargo install lazydns
Add the repository key and source, then install with apt:
sudo curl -fsSL https://raw.githubusercontent.com/lazywalker/apt/refs/heads/master/debian/key.asc -o /etc/apt/trusted.gpg.d/lazywalker.asc
echo "deb https://raw.githubusercontent.com/lazywalker/apt/refs/heads/master/debian/ stable main" | sudo tee /etc/apt/sources.list.d/lazywalker.list
sudo apt update
sudo apt install lazydns
Use the same repo but restrict to arm64 architecture in the sources.list entry:
sudo curl -fsSL https://raw.githubusercontent.com/lazywalker/apt/refs/heads/master/debian/key.asc -o /etc/apt/trusted.gpg.d/lazywalker.asc
echo "deb [arch=arm64] https://raw.githubusercontent.com/lazywalker/apt/refs/heads/master/debian/ stable main" | sudo tee /etc/apt/sources.list.d/lazywalker.list
sudo apt update
sudo apt install lazydns
You can install lazydns from the Arch User Repository (AUR) using an AUR helper like yay:
yay -S lazydns-bin
after installation, modify the config file at /etc/lazydns/lazydns.yaml as needed, then start the service:
sudo systemctl start lazydns
the service will auto-start on boot. Check status with:
sudo systemctl status lazydns
check logs with:
sudo journalctl -u lazydns -f
or view the log file at /var/log/lazydns/lazydns.log.*.
Tap the Homebrew repository and install via brew:
brew tap lazywalker/lazydns
brew install lazydns
# make modifications to config file if needed
# then start the service
brew services start lazydns
Run lazydns from the official Docker image. Example command (adjust volumes, ports and environment as needed):
docker run -d \
--name lazydns \
-p 53:53/udp -p 53:53/tcp \
-p 853:853/tcp -p 443:443/tcp \
-p 784:784/tcp -p 8080:8080/tcp -p 9090:9090/tcp \
-e TZ=Asia/Shanghai \
-v /path/to/config:/etc/lazydns \
lazywalker/lazydns:latest
cargo install: cargo install --force lazydnssudo apt update && sudo apt upgrade (package upgrades coming from the repo)docker pull lazywalker/lazydns:latest
docker rm -f lazydns
docker run ... (recreate with same args)
cargo-deb or native packaging tooling appropriate for your distribution.scripts/cross_build.sh helper and the docker/ folder for example Dockerfiles.