lazydns

Installation & Updates

Installation

You can install lazydns using a number of methods depending on your platform and preferences.

1. Install via cargo install, the rusty way

Installs the latest published crate to your Cargo bin directory:

cargo install lazydns

2.1 Debian / Ubuntu (.deb via APT repo)

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

2.2 Raspberry Pi OS (Trixie, arm64)

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

2.3 Install on Arch Linux

You can install lazydns from the Arch User Repository (AUR) using an AUR helper like yay:

yay -S lazydns-bin

3. Systemd Service Setup (via apt & systemd Linux)

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.*.

4. Homebrew (macOS / Linuxbrew)

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

5. Docker

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

Upgrading

Notes