УВІЙТИ
    opened image

    Реклама та трекери можуть стежити за вами. У більшості випадків реклама може бути недоречною. Завдяки трекерам, ваша особиста інформація буде використана, щоб визначити ефективний спосіб продажу вам будь-якого товару. І реклама з банерами, і трекери сповільнюють роботу браузера, заважають і погіршують роботу в Інтернеті. 

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


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