opened image

Как установить AdGuard Home в Docker

Реклама и трекеры могут следить за вами. В большинстве случаев реклама может быть не уместна. Благодаря трекерам, ваша личная информация, будет использована, чтобы определить эффективный способ продажи вам любого товара. И реклама с баннерами, и трекеры замедляют работу браузера, мешают и ухудшают работу в Интернете. 

AdGuard Home это ПО обеспечивает безопасность в вашей сети, а так же блокирует рекламу и трекеры. В этой статье мы рассмотрим как его установить в Docker контейнере, используя так же docker-compose.
 

Установим Docker. 

Обновляем пакеты ОС. 
 

apt update


Установим необходимые пакеты, и добавим новый репозиторий:

 

 

 

apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

 


Обновим пакеты с новым репозиторием:

 

 

 

 

apt update

 


Теперь установим Docker.

 

 

 

 

apt-get install docker-ce docker-ce-cli containerd.io

 


Проверим версию:

 

 

 

 

docker --version

 




Проверим статус:

 

 

 

 

systemctl status docker

 




Если он не запустился, то запускаем:

 

 

 

 

systemctl start docker

 


И добавляем в автозапуск.

 

 

 

 

systemctl enable docker

 

 

 

 

 

Установим Docker-Compose


Для данного проекта нам будет достаточно версии 1.25. 

 

 

 

 

 

 

curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 


Устанавливаем права на запуск. 

 

 

 

 

chmod +x /usr/local/bin/docker-compose

 


Проверяем как установился Docker-Compose:

 

 

 

 

docker-compose --version

 





Добавляем пользователя Linux в группу docker:

 

 

 

 

usermod -aG docker $USER

 


Создадим файл *.yaml для Docker-Compose.

Что бы ориентироваться в будущем в том что у нас установлено, создадим отдельную папку для данного проекта в каталоге /home и перейдем в него.

 

 

 

 

mkdir /home/adguardhome && cd /home/adguardhome

 


Вы так же можете использовать другую директорию  для размещения этого и других проектов. 

Воспользуемся репозиторием для создания файла docker-compose.yaml по ссылке https://hub.docker.com/r/adguard/adguardhome

Создаем файл docker-compose.yaml или docker-compose.yml,

 

 

 

 

vim docker-compose.yaml

 


И добавляем в него следующий код:

 

 

 

 

version: '3.3'
services:
    adguardhome:
        image: adguard/adguardhome
        container_name: adguardhome
        volumes:
            - /opt/adguardhome/work:/opt/adguardhome/work
            - /opt/adguardhome/conf:/opt/adguardhome/conf
        ports:
            - 53:53/tcp
            - 53:53/udp
            - 67:67/udp
            - 68:68/udp
            - 80:80/tcp
            - 443:443/tcp
            - 443:443/udp
            - 3000:3000/tcp
            - 853:853/tcp
            - 784:784/udp
            - 853:853/udp
            - 8853:8853/udp
            - 5443:5443/tcp
            - 5443:5443/udp
        restart: always

 

Где:

container_name: название Вашего контейнера;
В блоке volumes указываем пути по которым будут доступны конфигурационные файлы;
В блоке ports указаны порты, которые необходимо прокинуть в контейнер.


Запускаем скрипт (для этого нужно находиться в директории где создан наш файл. В данном случае это /home/adguardhome/):

 

 

 

 

docker-compose up -d 

 


Дожидаемся скачивания образов, и развертывания.

Проверяем:

 

 

 

 

docker-compose ps

 


Или:

 

 

 

 

docker ps

 



Так же установить adguardhome можно одной командой без использования docker compose.

 

 

 

 

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

 


Теперь что бы зайти в панель администрирования, необходимо отключить DNSStubListener на сервере. Для этого создаем директорию и новый файл:

 

 

 

 

mkdir -p  /etc/systemd/resolved.conf.d
vim /etc/systemd/resolved.conf.d/adguardhome.conf

 
И добавим в него следующий код:
 

[Resolve]
DNS=127.0.0.1
DNSStubListener=no


Чтобы активировать resolve.conf, выполните следующие команды:

 

 

 

mv /etc/resolv.conf /etc/resolv.conf.backup
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

 


Обновляем DNSStubListener:

 

 

 

 

systemctl reload-or-restart systemd-resolved

 


Теперь можем использовать свой IP, для того чтобы подключиться к adguardhome и провести установку. После этого, можете подключиться с теми данными, которые вводили при установке. 


Приблизительно такую картину будете наблюдать в личном кабинете. 


Для того чтобы adguardhome начал блокировать рекламу, введите IP сервера, на котором расположен adguardhome в поле DNS. Это можно сделать как в роутере, так и в личном ПК.


Приятного серфинга без трекеров и рекламы.