mirror of
https://github.com/StepanovPlaton/HomeServerServices.git
synced 2026-04-03 20:30:44 +04:00
Update readme
This commit is contained in:
85
Debian.md
85
Debian.md
@@ -1,10 +1,15 @@
|
|||||||
# Настройка Debian
|
# 🐧 Настройка Debian
|
||||||
|
|
||||||
## 1. Установка Debian
|
> Этот гайд описывает установку и настройку Debian для запуска сервисов в контейнерах.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1️⃣ Установка Debian
|
||||||
|
|
||||||
Стандартная установка Debian Minimal. Занимаем весь виртуальный диск. При установке отключаем графический интерфейс и ставим SSH сервер.
|
Стандартная установка Debian Minimal. Занимаем весь виртуальный диск. При установке отключаем графический интерфейс и ставим SSH сервер.
|
||||||
|
|
||||||
После установки заходим под root и устанавливаем `sudo`.
|
После установки заходим под `root` и устанавливаем `sudo`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt install sudo
|
apt install sudo
|
||||||
usermod -aG sudo имя_пользователя
|
usermod -aG sudo имя_пользователя
|
||||||
@@ -12,18 +17,26 @@ usermod -aG sudo имя_пользователя
|
|||||||
|
|
||||||
Перезаходим и дальше работаем под обычным пользователем.
|
Перезаходим и дальше работаем под обычным пользователем.
|
||||||
|
|
||||||
## 2. Статический IP
|
---
|
||||||
Смотрим название сетевого интерфейса и устанавливаем resolvconf (для поддержки dns-nameservers):
|
|
||||||
|
## 2️⃣ Настройка статического IP
|
||||||
|
|
||||||
|
Смотрим название сетевого интерфейса и устанавливаем `resolvconf` (для поддержки `dns-nameservers`):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ip addr
|
ip addr
|
||||||
sudo apt install resolvconf
|
sudo apt install resolvconf
|
||||||
```
|
```
|
||||||
Редактируем настройки
|
|
||||||
|
Редактируем настройки:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo nano /etc/network/interfaces
|
sudo nano /etc/network/interfaces
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавляем настройки:
|
Добавляем настройки:
|
||||||
```
|
|
||||||
|
```ini
|
||||||
auto enp0s3
|
auto enp0s3
|
||||||
iface enp0s3 inet static
|
iface enp0s3 inet static
|
||||||
address 192.168.1.100
|
address 192.168.1.100
|
||||||
@@ -31,26 +44,41 @@ iface enp0s3 inet static
|
|||||||
gateway 192.168.1.1
|
gateway 192.168.1.1
|
||||||
dns-nameservers 77.88.8.8 8.8.8.8
|
dns-nameservers 77.88.8.8 8.8.8.8
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> ⚠️Замените `enp0s3` на название вашего сетевого интерфейса и настройте IP адрес в соответствии с вашей сетевой конфигурацией.
|
||||||
|
|
||||||
Перезагружаемся:
|
Перезагружаемся:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo reboot
|
sudo reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
## 3. Установка Podman
|
---
|
||||||
|
|
||||||
|
## 3️⃣ Установка Podman
|
||||||
|
|
||||||
> Мы будем использовать Podman вместо Docker в целях безопасности. Podman не требует запущенного демона для работы и по умолчанию нацелен на работу в rootless режиме, что нам очень интересно.
|
> Мы будем использовать Podman вместо Docker в целях безопасности. Podman не требует запущенного демона для работы и по умолчанию нацелен на работу в rootless режиме, что нам очень интересно.
|
||||||
|
|
||||||
|
Устанавливаем Podman и podman-compose:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install podman podman-compose
|
sudo apt install podman podman-compose
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавляем загрузку контейнеров с параметром `restart: always` при загрузке системы
|
Добавляем загрузку контейнеров с параметром `restart: always` при загрузке системы:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
systemctl --user enable podman-restart.service
|
systemctl --user enable podman-restart.service
|
||||||
sudo loginctl enable-linger USER
|
sudo loginctl enable-linger USER
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4. Клонируем этот репозиторий для запуска сервисов
|
> ⚠️ Замените `USER` на имя вашего пользователя.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4️⃣ Клонирование репозитория
|
||||||
|
|
||||||
|
Клонируем этот репозиторий для запуска сервисов:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install git
|
sudo apt install git
|
||||||
@@ -59,35 +87,54 @@ cd ~/services
|
|||||||
git clone https://github.com/StepanovPlaton/HomeServerServices .
|
git clone https://github.com/StepanovPlaton/HomeServerServices .
|
||||||
```
|
```
|
||||||
|
|
||||||
## 5. Монтирование дисков
|
---
|
||||||
|
|
||||||
|
## 5️⃣ Монтирование дисков
|
||||||
|
|
||||||
|
Смотрим список разделов с их UUID:
|
||||||
|
|
||||||
Смотрим список разделов с их UUID
|
|
||||||
```bash
|
```bash
|
||||||
sudo blkid
|
sudo blkid
|
||||||
```
|
```
|
||||||
Создаём точку монтирования
|
|
||||||
|
Создаём точку монтирования:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir ~/diskN
|
mkdir ~/diskN
|
||||||
```
|
```
|
||||||
Добавляем запись в fstab
|
|
||||||
|
Добавляем запись в `fstab`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo nano /etc/fstab
|
sudo nano /etc/fstab
|
||||||
```
|
```
|
||||||
В конец добавляем
|
|
||||||
```
|
В конец добавляем:
|
||||||
|
|
||||||
|
```ini
|
||||||
UUID=***-***-***-***-*** /home/USER/diskN ext4 defaults,nofail 0 2
|
UUID=***-***-***-***-*** /home/USER/diskN ext4 defaults,nofail 0 2
|
||||||
```
|
```
|
||||||
Монтируем диск
|
|
||||||
|
> ⚠️ Замените `UUID=***-***-***-***-***` на UUID вашего диска и `USER` на имя вашего пользователя.
|
||||||
|
|
||||||
|
Монтируем диск:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
sudo mount -a
|
sudo mount -a
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Для корректной работы с диском может потребоваться изменить права доступа:
|
||||||
|
|
||||||
Для корректной работы с диском может потребоваться изменить права доступа.
|
|
||||||
```bash
|
```bash
|
||||||
sudo chown -R 1000:1000 path/to/disk
|
sudo chown -R 1000:1000 path/to/disk
|
||||||
podman unshare chown -R 1000:1000 path/to/disk
|
podman unshare chown -R 1000:1000 path/to/disk
|
||||||
```
|
```
|
||||||
|
|
||||||
**Настройка сервисов описана в файле [Services.md](Services.md)**
|
> ⚠️ Замените `path/to/disk` на путь к вашему диску.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Следующие шаги
|
||||||
|
|
||||||
|
**Настройка сервисов описана в файле [Services.md](./Services.md)**
|
||||||
|
|||||||
101
OPNsense.md
101
OPNsense.md
@@ -1,38 +1,56 @@
|
|||||||
# Настройка OPNsense
|
# 🔒 Настройка OPNsense
|
||||||
|
|
||||||
## 1. Установка OPNsense
|
> Этот гайд описывает установку и настройку OPNsense в качестве роутера и файрвола для домашней сети.
|
||||||
|
|
||||||
Ничего не трогаем в момент загрузки. Авторизуемся как `installer`, пароль по умолчанию - `opnsense`.
|
---
|
||||||
|
|
||||||
|
## 1️⃣ Установка OPNsense
|
||||||
|
|
||||||
|
Ничего не трогаем в момент загрузки. Авторизуемся как `installer`, пароль по умолчанию — `opnsense`.
|
||||||
|
|
||||||
- Добавляем английскую локаль
|
- Добавляем английскую локаль
|
||||||
- Выбираем ФС - **ZFS RAID0**
|
- Выбираем ФС — **ZFS RAID0**
|
||||||
- Предупреждение о недостатке ОЗУ можно пропустить
|
- Предупреждение о недостатке ОЗУ можно пропустить
|
||||||
- Устанавливаем систему
|
- Устанавливаем систему
|
||||||
|
|
||||||
## 2. Создаём второй сетевой мост
|
---
|
||||||
|
|
||||||
Создаём второй сетевой мост для второго порта, подключаем сетевое устройство в ВМ OPNsense. Перезагружаем ВМ OPNsense.
|
## 2️⃣ Создание второго сетевого моста
|
||||||
|
|
||||||
## 3. Настройка OPNsense
|
Создаём второй сетевой мост в Proxmox для второго порта, подключаем сетевое устройство в ВМ OPNsense. Перезагружаем ВМ OPNsense.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3️⃣ Настройка OPNsense
|
||||||
|
|
||||||
В меню терминала:
|
В меню терминала:
|
||||||
|
|
||||||
1. Выбираем **1 - assign interfaces**:
|
### 1. Назначение интерфейсов
|
||||||
- Назначаем одному порту **WAN** (порт для провайдера, во внешний интернет)
|
|
||||||
- Второму порту **LAN** (порт для локальной сети)
|
|
||||||
|
|
||||||
2. Выбираем **2 - set interface ip address**:
|
Выбираем **1 - assign interfaces**:
|
||||||
- Для LAN указываем статический IPv4 (это будет наш Gateway)
|
|
||||||
- DHCP можно пока не включать, настроим позже
|
|
||||||
|
|
||||||
## 4. Обновляем OPNsense
|
- Назначаем одному порту **WAN** (порт для провайдера, во внешний интернет)
|
||||||
|
- Второму порту **LAN** (порт для локальной сети)
|
||||||
|
|
||||||
1. Открываем web интерфейс по адресу установленному для LAN
|
### 2. Настройка IP адресов
|
||||||
|
|
||||||
|
Выбираем **2 - set interface ip address**:
|
||||||
|
|
||||||
|
- Для LAN указываем статический IPv4 (это будет наш Gateway)
|
||||||
|
- DHCP можно пока не включать, настроим позже
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4️⃣ Обновление OPNsense
|
||||||
|
|
||||||
|
1. Открываем web интерфейс по адресу, установленному для LAN
|
||||||
2. Заходим **Система > Программное обеспечение > Статус > Проверить наличие обновлений**
|
2. Заходим **Система > Программное обеспечение > Статус > Проверить наличие обновлений**
|
||||||
3. Потом раздел обновления, снизу кнопка **обновить**
|
3. Потом раздел обновления, снизу кнопка **обновить**
|
||||||
4. Ждём обновления всех пакетов
|
4. Ждём обновления всех пакетов
|
||||||
|
|
||||||
## 5. Устанавливаем плагин Qemu Agent
|
---
|
||||||
|
|
||||||
|
## 5️⃣ Установка плагина Qemu Agent
|
||||||
|
|
||||||
Нужен для управления OPNsense из Proxmox.
|
Нужен для управления OPNsense из Proxmox.
|
||||||
|
|
||||||
@@ -40,7 +58,9 @@
|
|||||||
2. Включаем галочку **показать плагины сообщества**
|
2. Включаем галочку **показать плагины сообщества**
|
||||||
3. Ставим плагин `os-qemu-guest-agent`
|
3. Ставим плагин `os-qemu-guest-agent`
|
||||||
|
|
||||||
## 6. Настраиваем доступ в интернет
|
---
|
||||||
|
|
||||||
|
## 6️⃣ Настройка доступа в интернет
|
||||||
|
|
||||||
Можно воспользоваться стандартным мастером настройки:
|
Можно воспользоваться стандартным мастером настройки:
|
||||||
|
|
||||||
@@ -49,38 +69,54 @@
|
|||||||
3. Устанавливаем логин и пароль провайдера
|
3. Устанавливаем логин и пароль провайдера
|
||||||
4. Остальное уже должно быть настроено, но можно что-то изменить
|
4. Остальное уже должно быть настроено, но можно что-то изменить
|
||||||
|
|
||||||
## 7. Настройка DHCP
|
---
|
||||||
|
|
||||||
|
## 7️⃣ Настройка DHCP
|
||||||
|
|
||||||
В разделе **Службы**:
|
В разделе **Службы**:
|
||||||
|
|
||||||
- Выключаем **Dnsmasq DNS & DHCP**
|
- Выключаем **Dnsmasq DNS & DHCP**
|
||||||
- Включаем **ISC DHCPv4**
|
- Включаем **ISC DHCPv4**
|
||||||
- В настройках DNS первым сервером указываем IP адрес OPNsense. Сам DNS сервер настроем в следущем шаге
|
- В настройках DNS первым сервером указываем IP адрес OPNsense. Сам DNS сервер настроим в следующем шаге
|
||||||
|
|
||||||
## 8. Настройка DNS
|
---
|
||||||
|
|
||||||
|
## 8️⃣ Настройка DNS
|
||||||
|
|
||||||
> Для безопасности домашней сети от чрезмерной рекламы и сбора статистики добавим фильтр [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome)
|
> Для безопасности домашней сети от чрезмерной рекламы и сбора статистики добавим фильтр [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome)
|
||||||
> Если для вашей сети достаточно обычного DNS просто включите в настройках **Unbound DNS**
|
>
|
||||||
|
> Если для вашей сети достаточно обычного DNS, просто включите в настройках **Unbound DNS**
|
||||||
|
|
||||||
|
В консоли OPNsense добавим новый репозиторий:
|
||||||
|
|
||||||
В консоли OPNsense добавим новый репоизторий
|
|
||||||
```bash
|
```bash
|
||||||
fetch -o /usr/local/etc/pkg/repos/mimugmail.conf https://www.routerperformance.net/mimugmail.conf
|
fetch -o /usr/local/etc/pkg/repos/mimugmail.conf https://www.routerperformance.net/mimugmail.conf
|
||||||
pkg update
|
pkg update
|
||||||
```
|
```
|
||||||
После чего в разделе **Система > ПО > Плагины** появится пакет os-adguardhome-maxit (ставим калочку показать пользовательские пакеты). Устанавливаем его и включаем в разделе **Службы**. Мастер настройки запуститься на IP OPNsense на 3000 порту.
|
|
||||||
|
|
||||||
В настройках **указываем внутренний интерфейс LAN** и ставим WebUI AdGuardHome на 3000 порт. В разделе DNS-сервер так же **выбираем только внутренний интерфейс LAN**, порт по умолчанию 53. По какой-то причине AdGuard думает что у нас динамический IP, хотя это не так - игнорируем предупреждение.
|
После чего в разделе **Система > ПО > Плагины** появится пакет `os-adguardhome-maxit` (ставим галочку показать пользовательские пакеты). Устанавливаем его и включаем в разделе **Службы**. Мастер настройки запустится на IP OPNsense на 3000 порту.
|
||||||
|
|
||||||
|
В настройках:
|
||||||
|
|
||||||
|
- **Указываем внутренний интерфейс LAN** и ставим WebUI AdGuardHome на 3000 порт
|
||||||
|
- В разделе DNS-сервер также **выбираем только внутренний интерфейс LAN**, порт по умолчанию 53
|
||||||
|
|
||||||
|
> ⚠️ По какой-то причине AdGuard думает, что у нас динамический IP, хотя это не так — игнорируем предупреждение.
|
||||||
|
|
||||||
В настройках добавляем блоклисты по выбору:
|
В настройках добавляем блоклисты по выбору:
|
||||||
- [Hagezi Multi Pro++ — Идеальный баланс. Блокирует почти всё, при этом редко «ломает» сайты](https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.plus.txt)
|
|
||||||
- [Hagezi Multi Ultimate — Самый жесткий вариант. Блокирует агрессивно, включая глубокую телеметрию. Может потребоваться ручная разблокировка некоторых сервисов (белый список)](https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/ultimate.txt)
|
|
||||||
- и любые другие на своё усмотрение
|
|
||||||
|
|
||||||
## 9. Проброс портов
|
- [Hagezi Multi Pro++](https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.plus.txt) — Идеальный баланс. Блокирует почти всё, при этом редко «ломает» сайты
|
||||||
|
- [Hagezi Multi Ultimate](https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/ultimate.txt) — Самый жесткий вариант. Блокирует агрессивно, включая глубокую телеметрию. Может потребоваться ручная разблокировка некоторых сервисов (белый список)
|
||||||
|
- И любые другие на своё усмотрение
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9️⃣ Проброс портов
|
||||||
|
|
||||||
> Для начала нужно освободить 80 порт, потому что на нём по умолчанию доступен сам OPNsense. В разделе **Система > Настройки > Администрирование** заменим 80 порт на 8000
|
> Для начала нужно освободить 80 порт, потому что на нём по умолчанию доступен сам OPNsense. В разделе **Система > Настройки > Администрирование** заменим 80 порт на 8000
|
||||||
|
|
||||||
В разделе **Межсетевой экран > NAT > Передаресация портов** добавим правило.
|
В разделе **Межсетевой экран > NAT > Переадресация портов** добавим правило:
|
||||||
|
|
||||||
- **Interface:** WAN
|
- **Interface:** WAN
|
||||||
- **TCP/IP Version:** IPv4
|
- **TCP/IP Version:** IPv4
|
||||||
- **Protocol:** TCP
|
- **Protocol:** TCP
|
||||||
@@ -90,8 +126,11 @@ pkg update
|
|||||||
- **Redirect target port:** Порт назначения
|
- **Redirect target port:** Порт назначения
|
||||||
- **Pool Options:** Default
|
- **Pool Options:** Default
|
||||||
- **Filter rule association:** Add associated filter rule
|
- **Filter rule association:** Add associated filter rule
|
||||||
- **Это важно:** OPNsense автоматически создаст разрешающее правило в брандмауэре
|
- OPNsense автоматически создаст разрешающее правило в брандмауэре
|
||||||
|
|
||||||
Для HTTP нужно добавить перенаправления на 8080 порт сервера, для HTTPS на 8443. Базовые порты 80 и 443 недоступны в rootless контейнере. Сохраняем изменения и проверяем в разделе **Межсетевой экран > Правила > WAN**.
|
Для HTTP нужно добавить перенаправления на 8080 порт сервера, для HTTPS на 8443. Базовые порты 80 и 443 недоступны в rootless контейнере. Сохраняем изменения и проверяем в разделе **Межсетевой экран > Правила > WAN**.
|
||||||
|
|
||||||
Для доступа из домашней сети нужно добавить зеркальный NAT в разделе **Межсетевой экран > Настройки > Дополнительно** ставим галочки **Отображение для перенаправлений портов** и **Автоматический исходящий NAT для отображения**
|
Для доступа из домашней сети нужно добавить зеркальный NAT в разделе **Межсетевой экран > Настройки > Дополнительно** ставим галочки:
|
||||||
|
|
||||||
|
- **Отображение для перенаправлений портов**
|
||||||
|
- **Автоматический исходящий NAT для отображения**
|
||||||
|
|||||||
74
Proxmox.md
74
Proxmox.md
@@ -1,62 +1,76 @@
|
|||||||
# Настройка Proxmox
|
# 🖥️ Настройка Proxmox
|
||||||
|
|
||||||
## 1. Отключаем enterprise репозитории и обновляем пакеты
|
> Этот гайд описывает установку и настройку Proxmox VE для виртуализации OPNsense и Debian.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1️⃣ Отключение enterprise репозиториев и обновление пакетов
|
||||||
|
|
||||||
В разделе **Сервер > Обновления > Репозитории**:
|
В разделе **Сервер > Обновления > Репозитории**:
|
||||||
|
|
||||||
- Отключаем всё с упоминанием enterprise
|
- Отключаем всё с упоминанием enterprise
|
||||||
- Добавляем No-Subscription репозиторий
|
- Добавляем No-Subscription репозиторий
|
||||||
|
|
||||||
Затем обновляем пакеты в терминале сервера:
|
Затем обновляем пакеты в терминале сервера:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt update && apt upgrade
|
apt update && apt upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2. Загружаем на сервер ISO образы
|
---
|
||||||
|
|
||||||
|
## 2️⃣ Загрузка ISO образов
|
||||||
|
|
||||||
|
Загружаем на сервер ISO образы:
|
||||||
|
|
||||||
- Для OPNsense выбираем образ типа **DVD**
|
- Для OPNsense выбираем образ типа **DVD**
|
||||||
- Для Debian нужен minimal образ netinst
|
- Для Debian нужен minimal образ netinst
|
||||||
- Копируем файлы в разделе **Сервер > local > ISO-образы**
|
- Копируем файлы в разделе **Сервер > local > ISO-образы**
|
||||||
|
|
||||||
## 3. Создаём ВМ с OPNsense
|
---
|
||||||
|
|
||||||
|
## 3️⃣ Создание ВМ с OPNsense
|
||||||
|
|
||||||
Настройки ВМ:
|
Настройки ВМ:
|
||||||
|
|
||||||
- **Общее > Запуск при загрузке**: Включаем
|
- **Общее > Запуск при загрузке:** Включаем
|
||||||
- **ОС > Гостевая ОС**: Other (OPNsense - это FreeBSD)
|
- **ОС > Гостевая ОС:** Other (OPNsense — это FreeBSD)
|
||||||
- **Система > Агент QEMU**: включить (нужен для просмотра информации о системе в гипервизоре)
|
- **Система > Агент QEMU:** включить (нужен для просмотра информации о системе в гипервизоре)
|
||||||
- **Диски > Шина**: SCSI
|
- **Диски > Шина:** SCSI
|
||||||
- **Размер диска**: 16Гб (достаточно)
|
- **Размер диска:** 16Гб (достаточно)
|
||||||
- **ЦП > Тип**: host
|
- **ЦП > Тип:** host
|
||||||
- **ЦП > Кол-во ядер**: 2
|
- **ЦП > Кол-во ядер:** 2
|
||||||
- **Объём ОЗУ**: 2Гб (не менее 1Гб)
|
- **Объём ОЗУ:** 2Гб (не менее 1Гб)
|
||||||
- **Сеть > Модель**: VirtIO
|
- **Сеть > Модель:** VirtIO
|
||||||
- **Сетевой экран**: отключаем (OPNsense сам решает эту задачу)
|
- **Сетевой экран:** отключаем (OPNsense сам решает эту задачу)
|
||||||
- Остальные настройки по умолчанию
|
- Остальные настройки по умолчанию
|
||||||
|
|
||||||
Выбираем загруженный ISO-образ и запускаем ВМ.
|
Выбираем загруженный ISO-образ и запускаем ВМ.
|
||||||
|
|
||||||
**Настройка OPNsense описана в файле [OPNsense.md](OPNsense.md)**
|
**Настройка OPNsense описана в файле [OPNsense.md](./OPNsense.md)**
|
||||||
|
|
||||||
## 4. Создаём ВМ с Debian
|
---
|
||||||
|
|
||||||
> По идее Proxmox работает на ядре Linux и построен на Debian, поэтому мы могли бы использовать LXC контейнер, однако для запуска Docker (Podman) внутри LXC нужны разрешения, и модули ядра, не способствующие безопасности. По сути при таком подходе Docker (Podman) будет работать чуть ли не в самом гипервизоре, что плохо. Поэтому используем ВМ
|
## 4️⃣ Создание ВМ с Debian
|
||||||
|
|
||||||
|
> По идее Proxmox работает на ядре Linux и построен на Debian, поэтому мы могли бы использовать LXC контейнер, однако для запуска Docker (Podman) внутри LXC нужны разрешения и модули ядра, не способствующие безопасности. По сути при таком подходе Docker (Podman) будет работать чуть ли не в самом гипервизоре, что плохо. Поэтому используем ВМ.
|
||||||
|
|
||||||
Настройки ВМ:
|
Настройки ВМ:
|
||||||
|
|
||||||
- **Общее > Запуск при загрузке**: Включаем
|
- **Общее > Запуск при загрузке:** Включаем
|
||||||
- **ОС > Гостевая ОС**: Linux 6.x
|
- **ОС > Гостевая ОС:** Linux 6.x
|
||||||
- **Система > Агент QEMU**: включить (нужен для просмотра информации о системе в гипервизоре)
|
- **Система > Агент QEMU:** включить (нужен для просмотра информации о системе в гипервизоре)
|
||||||
- **Диски > Шина**: SCSI
|
- **Диски > Шина:** SCSI
|
||||||
- **Размер диска**: 48Гб (и более)
|
- **Размер диска:** 48Гб (и более)
|
||||||
- **ЦП > Тип**: host
|
- **ЦП > Тип:** host
|
||||||
- **ЦП > Кол-во ядер**: 4 (и более)
|
- **ЦП > Кол-во ядер:** 4 (и более)
|
||||||
- **Объём ОЗУ**: 4Гб (и более)
|
- **Объём ОЗУ:** 4Гб (и более)
|
||||||
- **Сеть > Модель**: VirtIO
|
- **Сеть > Модель:** VirtIO
|
||||||
- **Сетевой экран**: отключаем (нас прикрывает OPNsense)
|
- **Сетевой экран:** отключаем (нас прикрывает OPNsense)
|
||||||
- Остальные настройки по умолчанию
|
- Остальные настройки по умолчанию
|
||||||
|
|
||||||
> Если мы хотим добавить внешние диски для хранения данных, нужно дать ВМ доступ к ним через USB. В разделе **Оборудование** нужно добавить USB-устройство. Лучше всего дать доступ ВМ к самому USB-порту, тогда любое устройство в него вставленное будет доступно внутри ВМ, но можно так же предоставить доступ к конкретному устройству, в какой порт оно не было бы вставлено.
|
> Если мы хотим добавить внешние диски для хранения данных, нужно дать ВМ доступ к ним через USB. В разделе **Оборудование** нужно добавить USB-устройство. Лучше всего дать доступ ВМ к самому USB-порту, тогда любое устройство в него вставленное будет доступно внутри ВМ, но можно также предоставить доступ к конкретному устройству, в какой порт оно не было бы вставлено.
|
||||||
>
|
>
|
||||||
> Чтобы посмотреть подключенные USB-устройства и скорости их работы запускаем команду `lsusb -t` и ищем наши диски (`Class=Mass Storage`)
|
> Чтобы посмотреть подключенные USB-устройства и скорости их работы, запускаем команду `lsusb -t` и ищем наши диски (`Class=Mass Storage`)
|
||||||
|
|
||||||
**Настройка Debian описана в файле [Debian.md](Debian.md)**
|
**Настройка Debian описана в файле [Debian.md](./Debian.md)**
|
||||||
|
|||||||
116
README.md
116
README.md
@@ -1,38 +1,43 @@
|
|||||||
# Home Server Services
|
# 🏠 Home Server Services
|
||||||
|
|
||||||
> **Home Server Services** - это гайд по настройке и полный набор сервисов в Docker для организации домашнего роутера/сервера!
|
> **Home Server Services** — это гайд по настройке и полный набор сервисов в Docker для организации домашнего роутера/сервера!
|
||||||
>
|
>
|
||||||
> Главное - это **модульность** и **воспроизводимая установка**. Можно развернуть за 30 минут!
|
> Главное — это **модульность** и **воспроизводимая установка**.
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
## Мой сервер:
|
---
|
||||||
|
|
||||||
- CheckWay Sherman Micro
|
## 📋 Мой сервер
|
||||||
|
|
||||||
|
- **CheckWay Sherman Micro**
|
||||||
- [Intel Celeron J1900](https://technical.city/ru/cpu/Core-2-Duo-E8400-protiv-Celeron-J1900) @ 1.99GHz (64 bit)
|
- [Intel Celeron J1900](https://technical.city/ru/cpu/Core-2-Duo-E8400-protiv-Celeron-J1900) @ 1.99GHz (64 bit)
|
||||||
- 8Gb RAM
|
- 8GB RAM
|
||||||
- 120Gb SSD
|
- 120GB SSD
|
||||||
- 2x 1Gbps (WAN+LAN)
|
- 2x 1Gbps (WAN+LAN)
|
||||||
- Proxmox VE 9.1.4
|
- **Proxmox VE 9.1.4**
|
||||||
- OPNsense 25.7
|
- **OPNsense 25.7**
|
||||||
- [CrowdSec](https://www.crowdsec.net)
|
- [CrowdSec](https://www.crowdsec.net)
|
||||||
- Debian 13 (Trixie) Minimal
|
- [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome)
|
||||||
|
- **Debian 13 (Trixie) Minimal**
|
||||||
- [Podman](https://podman.io)
|
- [Podman](https://podman.io)
|
||||||
|
|
||||||
## О проекте:
|
---
|
||||||
|
|
||||||
|
## 🚀 О проекте
|
||||||
|
|
||||||
- **Полнофункциональный домашний сервер**
|
- **Полнофункциональный домашний сервер**
|
||||||
- Две одновременно запущенные операционные системы запущенны в гипервизоре Proxmox
|
- Две одновременно запущенные операционные системы в гипервизоре Proxmox
|
||||||
- OPNsense выполняет функции роутера, DHCP и NTP сервера, защищает домашнюю сеть от вторжений с CrowSec
|
- OPNsense выполняет функции роутера, DHCP и NTP сервера, защищает домашнюю сеть от вторжений с CrowSec
|
||||||
- В Debian в Podman запущены контейнеры с сервисами
|
- В Debian в Podman запущены контейнеры с сервисами
|
||||||
- **Все сервисы настроены через Docker Compose (совместим с Podman)** для легкого управления и быстрого запуска
|
- **Все сервисы настроены через Docker Compose** (совместим с Podman) для легкого управления и быстрого запуска
|
||||||
- **Мониторинг системы через Grafana** с готовым дашбордом
|
- **Мониторинг системы через Grafana** с готовым дашбордом
|
||||||
- **Файловый сервер Samba** для доступа к файлам по сети
|
- **Файловый сервер Samba** для доступа к файлам по сети
|
||||||
- Открытый диск только на чтение
|
- Открытый диск только на чтение
|
||||||
- Доступ на запись только после авторизации
|
- Доступ на запись только после авторизации
|
||||||
- **Синхронизация файлов** между устройствами через **Syncthing**
|
- **Синхронизация файлов** между устройствами через **Syncthing**
|
||||||
- Постоянная точка синхронизации позволяет обмениваться файлами между устройствами, даже если они не бывают одновременно в сети - домашний сервер выступает посредником
|
- Постоянная точка синхронизации позволяет обмениваться файлами между устройствами, даже если они не бывают одновременно в сети — домашний сервер выступает посредником
|
||||||
- **BitTorrent клиент Transmission** с веб-интерфейсом
|
- **BitTorrent клиент Transmission** с веб-интерфейсом
|
||||||
- **SSH туннелирование через AutoSSH**
|
- **SSH туннелирование через AutoSSH**
|
||||||
- Можно пробросить порт на удалённый VPS, автоматически переподключается при потере соединения
|
- Можно пробросить порт на удалённый VPS, автоматически переподключается при потере соединения
|
||||||
@@ -40,46 +45,67 @@
|
|||||||
- Автоматическое получение и обновление SSL сертификатов через Let's Encrypt
|
- Автоматическое получение и обновление SSL сертификатов через Let's Encrypt
|
||||||
- Автоматическое обновление DNS записей у регистратора [рег.ру](https://www.reg.ru)
|
- Автоматическое обновление DNS записей у регистратора [рег.ру](https://www.reg.ru)
|
||||||
- **Git-сервер Gitea** для хостинга репозиториев
|
- **Git-сервер Gitea** для хостинга репозиториев
|
||||||
- **FileBrowser** - веб-интерфейс для управления файлами через браузер
|
- **FileBrowser** — веб-интерфейс для управления файлами через браузер
|
||||||
- **Matrix Synapse** - собственный сервер для мессенджера Matrix с веб-клиентом Element
|
- **Matrix Synapse** — собственный сервер для мессенджера Matrix с веб-клиентом Element
|
||||||
- Блокировка рекламы, нежелательной слежки, частичная защита от атак с помощью **Pi-hole**
|
- Блокировка рекламы, нежелательной слежки, частичная защита от атак с помощью **AdGuard Home**
|
||||||
- Управление контейнерами через **Portainer**
|
- Управление контейнерами через **Portainer**
|
||||||
- Все **сервисы используют переменные окружения** для гибкой настройки и примеры конфигурации
|
- Все **сервисы используют переменные окружения** для гибкой настройки и примеры конфигурации
|
||||||
|
|
||||||
## Подготовка:
|
---
|
||||||
|
|
||||||
- Купить белый IP адрес у провайдера
|
## 📝 Подготовка
|
||||||
- Купить домен второго уровня у регистратора [рег.ру](https://www.reg.ru)
|
|
||||||
- [В настройках API рег.ру](https://www.reg.ru/user/account/settings/api/) добавить CIDR вашего провайдера (чтобы при смене IP наш скрипт смог обновить DNS записи)
|
|
||||||
- В настройках DNS-серверов зоны указать бесплатные DNS-серверы рег.ру: `ns1.reg.ru`, `ns2.reg.ru`
|
|
||||||
|
|
||||||
После этих шагов можно переходить к настройке сервера. **[Первым шагом установим гипервизор Proxmox](./Proxmox.md)**
|
Перед началом установки необходимо выполнить следующие шаги:
|
||||||
|
|
||||||
## Использование:
|
1. **Купить белый IP адрес** у провайдера
|
||||||
|
2. **Купить домен второго уровня** у регистратора [рег.ру](https://www.reg.ru)
|
||||||
|
3. [В настройках API рег.ру](https://www.reg.ru/user/account/settings/api/) добавить CIDR вашего провайдера (чтобы при смене IP наш скрипт смог обновить DNS записи)
|
||||||
|
4. В настройках DNS-серверов зоны указать бесплатные DNS-серверы рег.ру: `ns1.reg.ru`, `ns2.reg.ru`
|
||||||
|
|
||||||
#### После настройки и запуска внутренние сервисы доступны (по умолчанию) по следующим портам:
|
> После выполнения этих шагов можно переходить к настройке сервера. **[Первым шагом установим гипервизор Proxmox](./Proxmox.md)**. Вы также можете установить [Debian с сервисами отдельно, если у вас уже настроен роутер](./Debian.md)
|
||||||
|
|
||||||
- **Grafana** — порт `3000`:
|
---
|
||||||

|
|
||||||
|
|
||||||
- **Portainer** — порт `9000`:
|
## 🎯 Использование
|
||||||

|
|
||||||
|
|
||||||
- **Transmission** — порт `9091`:
|
### Внутренние сервисы
|
||||||

|
|
||||||
|
|
||||||
- **Syncthing** — порт `8384`:
|
После настройки и запуска внутренние сервисы доступны (по умолчанию) по следующим портам:
|
||||||

|
|
||||||
|
|
||||||
- **Pi-hole** — порт `8080`:
|
#### Grafana — порт `3000`
|
||||||

|
|
||||||
|
|
||||||
#### Внешние сервисы запустятся на указанных в конфиге nginx поддоменах:
|

|
||||||
|
|
||||||
- **Gitea**
|
#### Portainer — порт `9000`
|
||||||

|
|
||||||
- **Synapse и Element**
|

|
||||||
|||
|
|
||||||
|-|-|
|
#### Transmission — порт `9091`
|
||||||
- **FileBrowser**
|
|
||||||

|

|
||||||
|
|
||||||
|
#### Syncthing — порт `8384`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Matrix Admin — порт `8009`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Внешние сервисы
|
||||||
|
|
||||||
|
Внешние сервисы запустятся на указанных в конфиге nginx поддоменах:
|
||||||
|
|
||||||
|
#### Gitea
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Synapse и Element
|
||||||
|
|
||||||
|
| Synapse | Element |
|
||||||
|
|---------|---------|
|
||||||
|
|  |  |
|
||||||
|
|
||||||
|
#### FileBrowser
|
||||||
|
|
||||||
|

|
||||||
|
|||||||
84
Services.md
84
Services.md
@@ -1,27 +1,35 @@
|
|||||||
# Настройка сервисов
|
# ⚙️ Настройка сервисов
|
||||||
|
|
||||||
|
> Этот гайд описывает настройку и запуск всех сервисов в контейнерах.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1️⃣ Portainer — WebUI для управления контейнерами
|
||||||
|
|
||||||
|
> Для запуска Portainer требуется активный Docker сокет. В Podman по умолчанию его нет, так как это является потенциальным вектором атаки. Запускайте сокет только для конкретного пользователя (не root!)
|
||||||
|
|
||||||
## 1. [Portainer](./portainer/) - WebUI для управления контейнерами
|
|
||||||
> Для запуска Portainer требуется активный Docker сокет. В Podman по-умолчанию его нет, так как это является потенциальным вектором атаки. Запускайте сокет только для конкретного пользователя (не root!)
|
|
||||||
```bash
|
```bash
|
||||||
cd portainer
|
cd portainer
|
||||||
cp .env.example .env && vim .env
|
cp .env.example .env && vim .env
|
||||||
systemctl --user enable --now podman.socket
|
systemctl --user enable --now podman.socket
|
||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
podman generate systemd --new --files --name portainer
|
|
||||||
systemctl --user enable ./container-portainer.service
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2. [Grafana](./grafana/) - Dashboard со статистикой загруженности сервера
|
---
|
||||||
> Proxmox предоставляет достаточно информации об использовании ресурсов системы, но если вы ставите Debian как контейнеров сервисов отдельно, вам может потребоваться Grafana
|
|
||||||
|
## 2️⃣ Grafana — Dashboard со статистикой загруженности сервера
|
||||||
|
|
||||||
|
> Proxmox предоставляет достаточно информации об использовании ресурсов системы, но если вы ставите Debian как контейнер сервисов отдельно, вам может потребоваться Grafana
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd grafana
|
cd grafana
|
||||||
cp .env.example .env && vim .env
|
cp .env.example .env && vim .env
|
||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
podman generate systemd --new --files --name portainer
|
|
||||||
systemctl --user enable ./container-portainer.service
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. [AutoSSH](./autossh/) - SSH тунель, проброс портов
|
---
|
||||||
|
|
||||||
|
## 3️⃣ AutoSSH — SSH туннель, проброс портов
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd autossh
|
cd autossh
|
||||||
@@ -29,8 +37,9 @@ cp .env.example .env && vim .env
|
|||||||
podman-compose up -d --build
|
podman-compose up -d --build
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. [Samba](./samba/) - сетевой диск в локальной сети
|
---
|
||||||
|
|
||||||
|
## 4️⃣ Samba — сетевой диск в локальной сети
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd samba
|
cd samba
|
||||||
@@ -38,7 +47,7 @@ cp .env.example .env && vim .env
|
|||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
> Samba работает на 139 и 445 порту, для доступа к ним нужны root права. Чтобы не запускать контейнер от имени root пробросим порты из контейнера на 1139 и 1445 порты соответственно, и добавим правила в iptables для переадресации трафика
|
> Samba работает на 139 и 445 порту, для доступа к ним нужны root права. Чтобы не запускать контейнер от имени root, пробросим порты из контейнера на 1139 и 1445 порты соответственно, и добавим правила в iptables для переадресации трафика:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo iptables -t nat -A PREROUTING -p tcp --dport 139 -j REDIRECT --to-ports 1139
|
sudo iptables -t nat -A PREROUTING -p tcp --dport 139 -j REDIRECT --to-ports 1139
|
||||||
@@ -50,7 +59,9 @@ sudo apt install iptables-persistent
|
|||||||
sudo netfilter-persistent save # сохранить текущие iptables
|
sudo netfilter-persistent save # сохранить текущие iptables
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. [Transmission](./transmission/) - qBitTorrent клиент
|
---
|
||||||
|
|
||||||
|
## 5️⃣ Transmission — BitTorrent клиент
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd transmission
|
cd transmission
|
||||||
@@ -58,9 +69,11 @@ cp .env.example .env && vim .env
|
|||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
В настройках клиента указанная в `.env` папка доступна по пути `/downloads`. Можно подключиться с помощью [Transmission Remote GUI](https://github.com/transmission-remote-gui/transgui) или [Transmission Qt](https://transmissionbt.com/download.html)
|
> В настройках клиента указанная в `.env` папка доступна по пути `/downloads`. Можно подключиться с помощью [Transmission Remote GUI](https://github.com/transmission-remote-gui/transgui) или [Transmission Qt](https://transmissionbt.com/download.html)
|
||||||
|
|
||||||
### 6. [Syncthing](./syncthing/) - синхронизация файлов между устройствами
|
---
|
||||||
|
|
||||||
|
## 6️⃣ Syncthing — синхронизация файлов между устройствами
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd syncthing
|
cd syncthing
|
||||||
@@ -69,7 +82,9 @@ mkdir config && podman unshare chown -R 1000:1000 config
|
|||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### 7. [Gitea](./gitea/)
|
---
|
||||||
|
|
||||||
|
## 7️⃣ Gitea — Git-сервер
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd gitea
|
cd gitea
|
||||||
@@ -80,9 +95,11 @@ mkdir db && podman unshare chown -R 1000:1000 db
|
|||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Gitea конфигурируется позже, уже в веб-форме. Обязательно **отключаем самостоятельную регистрацию** и создаём администратора (пользователя по умолчанию). Остальное не трогаем, уже сконфигурировано в `.env`
|
> Gitea конфигурируется позже, уже в веб-форме. Обязательно **отключаем самостоятельную регистрацию** и создаём администратора (пользователя по умолчанию). Остальное не трогаем, уже сконфигурировано в `.env`
|
||||||
|
|
||||||
### 8. [Cloud (FileBrowser)](./cloud/)
|
---
|
||||||
|
|
||||||
|
## 8️⃣ Cloud (FileBrowser) — веб-интерфейс для управления файлами
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd cloud
|
cd cloud
|
||||||
@@ -91,13 +108,17 @@ touch filebrowser.db && podman unshare chown -R 1000:1000 filebrowser.db
|
|||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### 9. [Matrix](./matrix/)
|
---
|
||||||
|
|
||||||
|
## 9️⃣ Matrix — собственный сервер для мессенджера Matrix
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd matrix
|
cd matrix
|
||||||
mkdir data && podman unshare chown -R 1000:1000 data
|
mkdir data && podman unshare chown -R 1000:1000 data
|
||||||
podman run -it --rm -v "$(pwd)/data:/data" -e SYNAPSE_SERVER_NAME=MATRIX.DOMAIN.ru -e SYNAPSE_REPORT_STATS=no docker.io/matrixdotorg/synapse:latest generate
|
podman run -it --rm -v "$(pwd)/data:/data" -e SYNAPSE_SERVER_NAME=MATRIX.DOMAIN.ru -e SYNAPSE_REPORT_STATS=no docker.io/matrixdotorg/synapse:latest generate
|
||||||
```
|
```
|
||||||
|
> ⚠️ Замените `MATRIX.DOMAIN.ru` на ваш домен для Matrix сервера.
|
||||||
|
|
||||||
Меняем базу данных на PostgreSQL и прописываем БД, пользователя, пароль:
|
Меняем базу данных на PostgreSQL и прописываем БД, пользователя, пароль:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -111,31 +132,37 @@ database:
|
|||||||
cp_min: 5
|
cp_min: 5
|
||||||
cp_max: 10
|
cp_max: 10
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir db && podman unshare chown -R 1000:1000 db
|
mkdir db && podman unshare chown -R 1000:1000 db
|
||||||
cp .env.example .env && vim .env
|
cp .env.example .env && vim .env
|
||||||
podman-compose up -d
|
podman-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Создаём пользователя
|
Создаём пользователя:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
podman exec -it matrix-synapse register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008
|
podman exec -it matrix-synapse register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008
|
||||||
```
|
```
|
||||||
|
|
||||||
### 10. [Nginx Reverse Proxy (Entrypoint)](./proxy)
|
---
|
||||||
|
|
||||||
|
## 🔟 Nginx Reverse Proxy (Entrypoint)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd proxy
|
cd proxy
|
||||||
cp .env.example .env && vim .env
|
cp .env.example .env && vim .env
|
||||||
```
|
```
|
||||||
|
|
||||||
Создаём конфиг для DynDNS:
|
### Создание конфига для DynDNS
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cp ddns/domains.txt.example ddns/domains.txt && vim ddns/domains.txt
|
cp ddns/domains.txt.example ddns/domains.txt && vim ddns/domains.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
Нужно указать ресурсные записи `@` и `www` для доступа к домену второго уровня напрямую. Также нужно добавить домены 3-го уровня для: gitea, cloud (filebrowser), matrix server (synapse), matrix client (element).
|
> Нужно указать ресурсные записи `@` и `www` для доступа к домену второго уровня напрямую. Также нужно добавить домены 3-го уровня для: gitea, cloud (filebrowser), matrix server (synapse), matrix client (element).
|
||||||
|
|
||||||
|
### Первоначальная настройка SSL
|
||||||
|
|
||||||
В первый раз SSL сертификаты нужно создать вручную.
|
В первый раз SSL сертификаты нужно создать вручную.
|
||||||
|
|
||||||
@@ -145,14 +172,17 @@ cp ddns/domains.txt.example ddns/domains.txt && vim ddns/domains.txt
|
|||||||
podman-compose -f init-compose.yml up -d --build
|
podman-compose -f init-compose.yml up -d --build
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверяем по логам в portainer и в личном кабинете рег.ру что ресурсные записи обновились. Ожидаем пока DNS обновит информацию о наших поддоменах (занимает от 15 минут до 24 часов).
|
Проверяем по логам в portainer и в личном кабинете рег.ру, что ресурсные записи обновились. Ожидаем, пока DNS обновит информацию о наших поддоменах (занимает от 15 минут до 24 часов).
|
||||||
|
|
||||||
|
Затем создаём SSL сертификаты на каждый домен(-ы) с помощью команды:
|
||||||
|
|
||||||
Затем создаём SSL сертификаты на каждый домен(-ы) c помощью команды
|
|
||||||
```bash
|
```bash
|
||||||
podman-compose run --rm --entrypoint "certbot" certbot certonly --webroot --webroot-path=/var/www/certbot --email your-email@gmail.com --agree-tos --no-eff-email -d domain.com -d domain2.com
|
podman-compose run --rm --entrypoint "certbot" certbot certonly --webroot --webroot-path=/var/www/certbot --email your-email@gmail.com --agree-tos --no-eff-email -d domain.com -d domain2.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Настраиваем Nginx:
|
> ⚠️ Замените `your-email@gmail.com` на ваш email и `domain.com`, `domain2.com` на ваши домены.
|
||||||
|
|
||||||
|
### Настройка Nginx
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd nginx/conf.d
|
cd nginx/conf.d
|
||||||
@@ -160,7 +190,7 @@ cp default.conf.example default.conf
|
|||||||
vim default.conf
|
vim default.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
Запускаем основной контейнер:
|
### Запуск основного контейнера
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
podman-compose -f init-compose.yml down
|
podman-compose -f init-compose.yml down
|
||||||
|
|||||||
BIN
screenshots/synapse-admin.png
Normal file
BIN
screenshots/synapse-admin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 161 KiB |
Reference in New Issue
Block a user