Initial import from PC

This commit is contained in:
2026-01-26 17:16:52 +04:00
commit 726e948a13
827 changed files with 179315 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
1) Отключение системного резолвера
```
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
```
2) Установка временного dns
```
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
```
>[!Warning] Установка Docker и nginx
>`sudo apt update`
>`sudo apt install docker.io docker-compose nginx certbot python3-certbot-nginx -y`
>**Включаем автозапуск**
>`sudo systemctl enable docker`
>`sudo systemctl enable nginx`
>
>
>[!BUG] Переход в раздел [[2. Настройка AdGuard Home]]

View File

@@ -0,0 +1,47 @@
**Создаем папки:**
```
mkdir -p /opt/adguardhome
cd /opt/adguardhome
```
**Создаем `docker-compose.yml`**
```
mkdir -p /opt/adguardhome
cd /opt/adguardhome
```
**Создаем `docker-compose.yml`:**
```
nano docker-compose.yml
```
```
version: "3"
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: unless-stopped
ports:
- "53:53/tcp" # DNS
- "53:53/udp" # DNS
- "8480:80/tcp" # Веб-интерфейс (снаружи 8480 -> внутри 80)
- "3000:3000/tcp" # Порт первоначальной настройки
- "853:853/tcp" # DNS-over-TLS (если нужен)
volumes:
- ./workdir:/opt/adguardhome/work
- ./confdir:/opt/adguardhome/conf
# Пробрасываем сертификаты (на случай, если понадобятся для DNS-over-TLS)
- /etc/letsencrypt:/opt/adguardhome/certs:ro
```
_Сохранить: `Ctrl+O`, `Enter`. Выйти: `Ctrl+X`._
**Запускаем контейнер:**
```
sudo docker-compose up -d
```
>[!Bug] Переход в [[3. Первичная настройка AdGuard]]

View File

@@ -0,0 +1,16 @@
Пока Nginx не настроен, зайдем напрямую через порт 3000.
1. Откройте в браузере: `http://IP-ВАШЕГО-СЕРВЕРА:3000`.
2. Нажмите "Начать".
3. **Важно на этапе "Веб-интерфейс":**
- Сетевой интерфейс: `Все интерфейсы`
- Порт: **80** (Оставьте как есть! Docker сам перенаправит с 8480 на 80).
4. **На этапе "DNS-сервер":**
- Порт: **53**.
5. Создайте логин/пароль и завершите настройку.
>[!Bug] Переход в [[4. Получение SSL-сертификатов]]

View File

@@ -0,0 +1,39 @@
Сначала настроим "заглушку" в Nginx, чтобы Certbot мог подтвердить домен.
**Настраиваем default конфиг Nginx:**
```
nano /etc/nginx/sites-available/default
```
**Вставляем код:**
```
server {
listen 80 default_server;
server_name _;
# Разрешаем Certbot'у проверять домены
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/html;
}
# Все остальные запросы отбрасываем
location / {
return 404;
}
}
```
_Сохранить и выйти._
**Перезапускаем Nginx:**
```
sudo systemctl reload nginx
```
**Получаем сертификат:** Указать свой домен!
```
sudo certbot certonly --webroot -w /var/www/html -d adguard.example.com
```
>[!Bug] Переход в [[5. Настройка Nginx как Прокси]]

View File

@@ -0,0 +1,54 @@
Теперь создадим "боевой" конфиг для вашего домена
_Замените `adguard` на удобное имя_
```
nano /etc/nginx/sites-available/adguard
```
**Вставляем код (замените домен на свой!):**
```
server {
listen 80;
server_name adguard.example.com; # ВАШ ДОМЕН
# Редирект на HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name adguard.example.com; # ВАШ ДОМЕН
# Пути к сертификатам
ssl_certificate /etc/letsencrypt/live/adguard.example.com/fullchain.pem; # ВАШ ДОМЕН
ssl_certificate_key /etc/letsencrypt/live/adguard.example.com/privkey.pem; # ВАШ ДОМЕН
ssl_protocols TLSv1.2 TLSv1.3;
location / {
# Проксируем на порт Докера (8480)
proxy_pass http://127.0.0.1:8480;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Настройки для WebSocket (нужны AdGuard)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
```
**Активируем конфиг:**
```
sudo ln -s /etc/nginx/sites-available/adguard /etc/nginx/sites-enabled/
```
**Проверяем и применяем:**
```
sudo nginx -t
sudo systemctl reload nginx
```