adguardhome

adguard/adguardhome Docker Image

这是一款全网络广告与追踪器拦截DNS服务器,通过在DNS解析环节过滤广告内容、***追踪代码及侵扰性弹窗,实现对家庭或企业网络内所有设备(如手机、电脑、智能电视、智能家居产品等)的广告屏蔽与隐私保护,无需在各终端单独安装软件,仅需简单配置即可让整个网络环境免受广告干扰、视频贴片及用户行为追踪,有效提升网页加载速度、减少数据流量消耗,为用户营造更纯净、安全的网络使用体验。

1.4千 次收藏下载次数: 0状态:社区镜像维护者:adguard仓库类型:镜像最近更新:
下载命令
点击查看

AdGuard Home - Docker

 

Privacy protection center for you and your devices

Free and open source, powerful network-wide ads & trackers blocking DNS server.


  • Introduction
  • Quick Start
  • Update To A Newer Version
  • Running Dev Builds
  • Additional Configuration
  • DHCP Server
  • resolved

Introduction

AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it'll cover all your home devices, and you won't need any client-side software for that. Learn more on our https://github.com/AdguardTeam/AdGuardHome.

Quick Start

Pull the Docker image

This command will pull the latest stable version:

sh
docker pull adguard/adguardhome

Create directories for persistent configuration and data

The image exposes two volumes for data and configuration persistence. You should create a data directory on a suitable volume on your host system, e.g. /my/own/workdir, and a configuration directory on a suitable volume on your host system, e.g. /my/own/confdir.

Create and run the container

Use the following command to create a new container and run AdGuard Home:

sh
docker run --name adguardhome\
    --restart unless-stopped\
    -v /my/own/workdir:/opt/adguardhome/work\
    -v /my/own/confdir:/opt/adguardhome/conf\
    -p 53:53/tcp -p 53:53/udp\
    -p 67:67/udp -p 68:68/udp\
    -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
    -p 853:853/tcp\
    -p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
    -p 5443:5443/tcp -p 5443:5443/udp\
    -d adguard/adguardhome

Now you can open the browser and navigate to [***] to control your AdGuard Home service.

Don't forget to use your own data and config directories!

Ports mappings you may need:

  • -p 53:53/tcp -p 53:53/udp: plain DNS.

  • -p 67:67/udp -p 68:68/tcp -p 68:68/udp: add if you intend to use AdGuard Home as a DHCP server.

  • -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp: add if you are going to use AdGuard Home's admin panel as well as run AdGuard Home as an https://github.com/AdguardTeam/AdGuardHome/wiki/Encryption server.

  • -p 853:853/tcp: add if you are going to run AdGuard Home as a https://github.com/AdguardTeam/AdGuardHome/wiki/Encryption server.

  • -p 784:784/udp -p 853:853/udp -p 8853:8853/udp: add if you are going to run AdGuard Home as a https://github.com/AdguardTeam/AdGuardHome/wiki/Encryption server. You may only leave one or two of these.

  • -p 5443:5443/tcp -p 5443:5443/udp: add if you are going to run AdGuard Home as a https://github.com/AdguardTeam/AdGuardHome/wiki/DNSCrypt server.

Control the container

  • Start: docker start adguardhome

  • Stop: docker stop adguardhome

  • Remove: docker rm adguardhome

Update To A Newer Version

  1. Pull the new version from Docker Hub:

    sh
    docker pull adguard/adguardhome
    
  2. Stop and remove currently running container (assuming the container is named adguardhome):

    sh
    docker stop adguardhome
    docker rm adguardhome
    
  3. Create and start the container using the new image using the command from the previous section.

Running Dev Builds

If you want to be on the bleeding edge, you might want to run the image from the edge or beta tags. In order to use it, simply replace adguard/adguardhome with adguard/adguardhome:edge or adguard/adguardhome:beta in every command from the quick start. For example:

sh
docker pull adguard/adguardhome:edge

Additional Configuration

Upon the first run, a file named AdGuardHome.yaml will be created, with default values written into it. You can modify the file while your AdGuard Home container is not running. Otherwise, any changes to the file will be lost because the running program will overwrite them.

Settings are stored in https://yaml.org, possible parameters that you can configure are listed on https://github.com/AdguardTeam/Adguardhome/wiki/Configuration.

DHCP Server

If you want to use AdGuardHome's DHCP server, you should pass --network host argument when creating the container:

sh
docker run --name adguardhome --network host ...

This option instructs Docker to use the host's network rather than a docker-bridged network. Note that port mapping with -p is not necessary in this case.

A note from the Docker documentation:

The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

resolved

If you try to run AdGuardHome on a system where the resolved daemon is started, docker will fail to bind on port 53, because resolved daemon is listening on 127.0.0.53:53. Here's how you can disable DNSStubListener on your machine:

  1. Deactivate DNSStubListener and update the DNS server address. Create a new file, /etc/systemd/resolved.conf.d/adguardhome.conf (creating the /etc/systemd/resolved.conf.d directory if needed) and add the following content to it:

    none
    [Resolve]
    DNS=127.0.0.1
    DNSStubListener=no
    

    Specifying 127.0.0.1 as the DNS server address is necessary because otherwise the nameserver will be 127.0.0.53 which doesn't work without DNSStubListener.

  2. Activate a new resolv.conf file:

    sh
    mv /etc/resolv.conf /etc/resolv.conf.backup
    ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
    
  3. Stop DNSStubListener:

    sh
    systemctl reload-or-restart systemd-resolved
    

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 adguardhome 镜像标签

docker pull docker.xuanyuan.run/adguard/adguardhome:<标签>

DockerHub 原生拉取命令

docker pull adguard/adguardhome:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告