🐳 Синхронизация инстансов AdGuard Home |

🐳 Синхронизация инстансов AdGuard Home

Мануал

В современном цифровом мире обеспечение конфиденциальности и безопасности наших сетей стало критически важным.

AdGuard Home — мощное средство защиты приватности и блокировки рекламы на уровне всей сети — завоевало популярность благодаря своей эффективности в достижении этих целей.

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

Adguardhome-sync — полезное средство, доступное на GitHub, которое облегчает синхронизацию конфигураций, белых списков и списков блокировки между несколькими инстансами AdGuard Home.

Путём автоматизации синхронизации пользователи могут поддерживать единые настройки и предпочтения на всей своей сети без особых усилий.

Предположим, что у вас уже установлены два (или больше) экземпляра AdGuard Home.

Вы можете следовать одному из вариантов, представленных в репозитории adguardhome-sync, однако здесь мы рассмотрим установку синхронизации с использованием Docker в среде Proxmox, когда один экземпляр AdGuard Home размещается в Home Assistant, а второй — в контейнере Docker.

Создайте директорию /docker/adguard-sync и поместите туда файл adguardhome-sync.yaml, заполнив его следующим содержанием, скорректировав при необходимости:

cron: '*/10 * * * *'
runOnStart: true
continueOnError: true
origin:
  url: '{ORIGIN_ADGUARD_HOME_INSTANCE_URL}'
  insecureSkipVerify: true
  username: '{ORIGIN_ADGUARD_HOME_INSTANCE_USERNAME}'
  password: '{ORIGIN_ADGUARD_HOME_INSTANCE_PASSWORD}'
replicas:
  - url: '{REPLICA_ADGUARD_HOME_INSTANCE_URL}'
    username: '{REPLICA_ADGUARD_HOME_INSTANCE_USERNAME}'
    password: '{REPLICA_ADGUARD_HOME_INSTANCE_PASSWORD}'
api:
  port: 8080
  username: '{ADGUARD_HOME_SYNC_CONTROL_PANEL_USERNAME}'
  password: '{ADGUARD_HOME_SYNC_CONTROL_PANEL_PASSWORD}'
darkMode: true
features:
  generalSettings: true
  queryLogConfig: true
  statsConfig: true
  clientSettings: true
  services: true
  filters: true
  dhcp:
    serverConfig: true
    staticLeases: true
  dns:
    serverConfig: true
  accessLists: true
  rewrites: true

Запустите контейнер Docker следующей командой:

docker run -d \
-p 80:8080 \
-v /docker/adguard-sync/adguardhome-sync.yaml:/config/adguardhome-sync.yaml \
--restart unless-stopped \
--name=adguardhome-sync \
ghcr.io/bakito/adguardhome-sync:latest

Откройте браузер и перейдите по адресу http://<адрес-контейнера>, чтобы посмотреть интерфейс управления AdGuard Home sync.

Большинство настроек YAML-файла интуитивно понятны. Стоит обратить внимание, что вы можете добавить более одного резервного экземпляра и отключить веб-интерфейс AdGuard Home sync, если он вам не нужен. Рекомендую ознакомиться с документом README для получения дополнительной информации.

Чтобы разрешить доступ к экземпляру AdGuard Home, расположенному в Home Assistant, выполните следующие шаги:

  • {ORIGIN_ADGUARD_HOME_INSTANCE_USERNAME} — Имя пользователя, используемое для доступа к вашему экземпляру AdGuard Home.
  • {ORIGIN_ADGUARD_HOME_INSTANCE_URL} — Локальный адрес вашего экземпляра Home Assistant.

Спасибо @brunty.me за предоставленные советы!

Параметры запуска контейнера Docker:

  • docker run -d → Запуск Docker в режиме демона.
  • -p 80:8080 → Открытие порта 80 хоста для порта 8080 контейнера Docker, чтобы веб-интерфейс AdGuard Home sync стал доступен.
  • -v /docker/adguard-sync/adguardhome-sync.yaml:/config/adguardhome-sync.yaml → Предоставление файла конфигурации /docker/adguard-sync/adguardhome-sync.yaml хост-машины в качестве /config/adguardhome-sync.yaml в контейнере Docker.
  • --restart always → Всегда автоматически перезапускайте контейнер.
  • --name=adguardhome-sync → Название, присваиваемое контейнеру.
  • ghcr.io/bakito/adguardhome-sync:latest → Образ Docker, используемый для создания контейнера.

Контейнер Docker будет автоматически перезапущен в случае сбоя или перезагрузки благодаря опции --restart always.

Чтобы остановить и снова запустить контейнер вручную, используйте команды docker stop adguardhome-sync и docker restart adguardhome-sync.

cм. также:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий