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. Це можна зробити як в роутері, так і на особистому ПК.


Приємного серфінгу без трекерів і реклами.