Network-wide ad and tracker blocking DNS server. Covers all devices on your network with no client-side software — includes DoH, DoT, DoQ, and a built-in DHCP server.
| Port | 3000 |
| Registry | ghcr.io/daemonless/adguardhome |
| Source | https://github.com/AdguardTeam/AdGuardHome |
| Website | https://adguard.com/adguard-home.html |
| Tag | Description | Best For |
|---|---|---|
latest |
FreeBSD Port. Built from FreeBSD packages. | Most users. Matches Linux Docker behavior. |
pkg |
FreeBSD Quarterly. Uses stable, tested packages. | Production stability. |
pkg-latest |
FreeBSD Latest. Rolling package updates. | Newest FreeBSD packages. |
Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.
services:
adguardhome:
image: ghcr.io/daemonless/adguardhome:latest
container_name: adguardhome
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
volumes:
- "/path/to/containers/adguardhome/opt/adguardhome/conf:/opt/adguardhome/conf"
- "/path/to/containers/adguardhome/opt/adguardhome/work:/opt/adguardhome/work"
ports:
- 3000:3000
- 53:53
- 53:53
- 67:67
- 68:68
- 80:80
- 443:443
- 443:443
- 784:784
- 853:853
- 853:853
- 5443:5443
- 5443:5443
- 6060:6060
- 8853:8853
restart: unless-stopped.env:
DIRECTOR_PROJECT=adguardhome
PUID=1000
PGID=1000
TZ=UTC
appjail-director.yml:
options:
- virtualnet: ':<random> default'
- nat:
services:
adguardhome:
name: adguardhome
options:
- container: 'boot args:--pull'
oci:
user: root
environment:
- PUID: !ENV '${PUID}'
- PGID: !ENV '${PGID}'
- TZ: !ENV '${TZ}'
volumes:
- adguardhome_opt_adguardhome_conf: /opt/adguardhome/conf
- adguardhome_opt_adguardhome_work: /opt/adguardhome/work
volumes:
adguardhome_opt_adguardhome_conf:
device: '/path/to/containers/adguardhome/opt/adguardhome/conf'
adguardhome_opt_adguardhome_work:
device: '/path/to/containers/adguardhome/opt/adguardhome/work'Makejail:
ARG tag=latest
OPTION overwrite=force
OPTION from=ghcr.io/daemonless/adguardhome:${tag}
podman run -d --name adguardhome \
-p 3000:3000 \
-p 53:53 \
-p 53:53 \
-p 67:67 \
-p 68:68 \
-p 80:80 \
-p 443:443 \
-p 443:443 \
-p 784:784 \
-p 853:853 \
-p 853:853 \
-p 5443:5443 \
-p 5443:5443 \
-p 6060:6060 \
-p 8853:8853 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=UTC \
-v /path/to/containers/adguardhome/opt/adguardhome/conf:/opt/adguardhome/conf \
-v /path/to/containers/adguardhome/opt/adguardhome/work:/opt/adguardhome/work \
ghcr.io/daemonless/adguardhome:latest- name: Deploy adguardhome
containers.podman.podman_container:
name: adguardhome
image: ghcr.io/daemonless/adguardhome:latest
state: started
restart_policy: always
env:
PUID: "1000"
PGID: "1000"
TZ: "UTC"
ports:
- "3000:3000"
- "53:53"
- "53:53"
- "67:67"
- "68:68"
- "80:80"
- "443:443"
- "443:443"
- "784:784"
- "853:853"
- "853:853"
- "5443:5443"
- "5443:5443"
- "6060:6060"
- "8853:8853"
volumes:
- "/path/to/containers/adguardhome/opt/adguardhome/conf:/opt/adguardhome/conf"
- "/path/to/containers/adguardhome/opt/adguardhome/work:/opt/adguardhome/work"Access at: http://localhost:3000
| Variable | Default | Description |
|---|---|---|
PUID |
1000 |
User ID for the application process |
PGID |
1000 |
Group ID for the application process |
TZ |
UTC |
Timezone for the container |
| Path | Description |
|---|---|
/opt/adguardhome/conf |
Configuration files |
/opt/adguardhome/work |
Work directory (database, logs, data) |
| Port | Protocol | Description |
|---|---|---|
3000 |
TCP | Web UI (Setup/Admin) |
53 |
TCP | DNS (TCP/UDP) |
53 |
UDP | DNS (TCP/UDP) |
67 |
UDP | |
68 |
UDP | |
80 |
TCP | HTTP |
443 |
TCP | HTTPS / DNS-over-HTTPS (TCP/UDP) |
443 |
UDP | HTTPS / DNS-over-HTTPS (TCP/UDP) |
784 |
UDP | |
853 |
TCP | DNS-over-TLS (TCP/UDP) |
853 |
UDP | DNS-over-TLS (TCP/UDP) |
5443 |
TCP | DNS-over-HTTPS (TCP/UDP) |
5443 |
UDP | DNS-over-HTTPS (TCP/UDP) |
6060 |
TCP | Admin API |
8853 |
UDP |
Architectures: amd64
User: bsd (UID/GID via PUID/PGID, defaults to 1000:1000)
Base: FreeBSD 15.0
Need help? Join our Discord community.