Установка Coolify: Развёртывание приложений с Self-Hosted PaaS
Установка Coolify, интеграция Docker и Git, развёртывание приложений, управление базами данных, SSL-сертификаты, переменные окружения и self-hosted PaaS как альтернатива Heroku/Netlify.
Установка Pi-hole и AdGuard Home через Docker, настройка DNS, управление списками блокировки, DHCP-сервер, белый/чёрный список, статистика и поддержка DoH/DoT.
Pi-hole и AdGuard Home — это самостоятельно размещаемые решения, обеспечивающие DNS-блокировку рекламы и трекеров для всех устройств в вашей сети. В отличие от расширений браузера, они работают на уровне всей сети, блокируя рекламу также в смарт-телевизорах, игровых консолях и мобильных приложениях.
| Функция | Pi-hole | AdGuard Home |
|---|---|---|
| Интерфейс | Классический, функциональный | Современный, удобный |
| DoH/DoT | Требует плагин | Встроенный |
| DHCP | Поддерживается | Поддерживается |
| Regex-правила | Ограниченные | Расширенные |
| Установка | Простая | Очень простая |
| Производительность | Хорошая | Очень хорошая |
| Рекомендуется для | Опытных пользователей | Новичков |
version: '3.8'
services:
pihole:
image: pihole/pihole:latest
container_name: pihole
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "127.0.0.1:8080:80"
environment:
TZ: 'Europe/Moscow'
WEBPASSWORD: 'надёжный-пароль'
PIHOLE_DNS_: '1.1.1.1;8.8.8.8'
DNSSEC: 'true'
DNSMASQ_LISTENING: 'all'
volumes:
- ./pihole/etc-pihole:/etc/pihole
- ./pihole/etc-dnsmasq.d:/etc/dnsmasq.d
cap_add:
- NET_ADMIN
# Остановить сервис, использующий порт 53 (Ubuntu)
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
# Обновить /etc/resolv.conf
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
# Запустить Pi-hole
docker compose up -d
В Ubuntu systemd-resolved использует порт 53. Необходимо остановить этот сервис перед запуском Pi-hole.
version: '3.8'
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "127.0.0.1:3000:3000"
- "127.0.0.1:8080:80"
- "853:853/tcp"
- "443:443/tcp"
volumes:
- ./adguard/work:/opt/adguardhome/work
- ./adguard/conf:/opt/adguardhome/conf
docker compose up -d
# Начальная настройка: http://IP_СЕРВЕРА:3000
Панель управления роутером → Настройки DHCP
Основной DNS: IP_СЕРВЕРА (IP Pi-hole/AdGuard)
Дополнительный DNS: 1.1.1.1 (резервный)
# Linux
sudo nano /etc/resolv.conf
nameserver IP_СЕРВЕРА
# Windows (PowerShell)
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses IP_СЕРВЕРА
Group Management → Adlists → Добавить
Популярные списки:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://adaway.org/hosts.txt
https://v.firebog.net/hosts/Easylist.txt
https://v.firebog.net/hosts/Easyprivacy.txt
# Обновить gravity (обновить списки)
docker exec pihole pihole -g
Фильтры → DNS-списки блокировки → Добавить список блокировки
Рекомендуемые списки:
- AdGuard DNS filter (по умолчанию)
- EasyList
- EasyPrivacy
- Malware Domains
# Добавить в белый список
docker exec pihole pihole -w example.com
# Добавить в чёрный список
docker exec pihole pihole -b ads.example.com
# Regex-чёрный список
docker exec pihole pihole --regex '(^|\.)ads\..*'
Фильтры → Пользовательские правила фильтрации
# Блокировать
||ads.example.com^
# Разрешить (белый список)
@@||example.com^
Pi-hole: Настройки → DHCP
- DHCP-сервер включён: Да
- Диапазон: 192.168.1.100 - 192.168.1.200
- Роутер: 192.168.1.1
- Время аренды: 24 часа
AdGuard Home: Настройки → Настройки DHCP
- Включить DHCP-сервер
- Диапазон IP: 192.168.1.100 - 192.168.1.200
- Шлюз: 192.168.1.1
Отключите DHCP на роутере перед включением его на Pi-hole/AdGuard. Два DHCP-сервера вызывают проблемы с сетью.
Настройки → Настройки шифрования:
- Включить шифрование: Да
- Имя сервера: dns.example.com
- HTTPS-порт: 443
- DNS-over-TLS порт: 853
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: unless-stopped
command: proxy-dns --port 5053 --upstream https://1.1.1.1/dns-query
network_mode: host
Pi-hole → Настройки → DNS
Пользовательский DNS: 127.0.0.1#5053
Установив Pi-hole или AdGuard Home на серверах REXE VPS, вы можете фильтровать весь трафик сервера. DNS-фильтрация особенно эффективна в средах с несколькими контейнерами.
Другой сервис может использовать порт 53. В Ubuntu остановите systemd-resolved: sudo systemctl stop systemd-resolved. Проверьте /etc/resolv.conf и временно добавьте 8.8.8.8. Убедитесь, что контейнер Pi-hole запущен с помощью docker ps. Обновите настройку DNS на роутере до IP Pi-hole.
Сайт может быть случайно заблокирован. В Pi-hole найдите в Query Log, какой домен заблокирован, и добавьте его в белый список: pihole -w domain.com. В AdGuard Home добавьте @@||domain.com^ в Фильтры → Пользовательские правила фильтрации. Если используете очень агрессивные списки блокировки, попробуйте отключить некоторые из них.
Процент блокировки варьируется в зависимости от использования сети. 20-30% считается нормальным при интенсивном использовании рекламы. Добавьте больше списков блокировки для увеличения процента. Убедитесь, что устройства используют Pi-hole/AdGuard в качестве DNS. Приложения с зашифрованным DNS (DoH/DoT) могут не поддаваться фильтрации.
Убедитесь, что DHCP на роутере полностью отключён. Проверьте, что диапазон DHCP Pi-hole не пересекается со старым диапазоном роутера. Обновите сетевое подключение на затронутых устройствах: ipconfig /release && ipconfig /renew (Windows) или dhclient -r (Linux). Проверьте логи DHCP Pi-hole.
Загрузите SSL-сертификат из раздела Настройки шифрования в AdGuard Home. URL DNS-over-HTTPS: https://dns.example.com/dns-query. Добавьте этот URL как DoH-сервер на устройствах. Windows 11, Android 9+ и iOS 14+ имеют встроенную поддержку DoH. В Firefox используйте about:config → network.trr.uri.
Запустить оба на одном сервере невозможно, так как оба используют порт 53. Можно запустить их на разных серверах или разных IP-адресах. Альтернативно можно использовать один как основной, а другой как вторичный DNS. Для большинства пользователей достаточно выбрать один из них.
Установка Coolify, интеграция Docker и Git, развёртывание приложений, управление базами данных, SSL-сертификаты, переменные окружения и self-hosted PaaS как альтернатива Heroku/Netlify.
Установка Nextcloud с Docker, настройка Apache/Nginx, установка базы данных, SSL-сертификат, синхронизация файлов, магазин приложений и оптимизация производительности.
Установка Portainer CE, управление Docker и Kubernetes, развёртывание стеков, управление томами/сетями, авторизация пользователей, вебхуки и интеграция GitOps.