ВОЙТИ
    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. Это можно сделать как в роутере, так и в личном ПК.


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