Remove deprecated files related to homelab architecture, container context, and various scripts. This cleanup includes the removal of configuration files for Nextcloud, Gitea, and VPN setups, as well as documentation files that are no longer relevant. This helps streamline the project and eliminate outdated references.

This commit is contained in:
2026-02-25 17:03:10 +03:00
parent 3c00fbf67b
commit b0d2746490
74 changed files with 2662 additions and 7107 deletions

View File

@@ -0,0 +1,60 @@
# Перенос конфигурации AmneziaWG между серверами
Как развернуть тот же VPN на новом VPS и переключиться с одного сервера на другой без потери параметров обфускации. На роутере создаётся второе VPN-подключение, переключение — выбор нужного (Германия или США / новый сервер).
---
## Два текущих сервера
| Параметр | Германия (основной) | США (второй) |
|------------|---------------------|---------------------|
| IP | 185.103.253.99 | 147.45.124.117 |
| Порт AWG | 33118/UDP | 37135/UDP |
| Сеть | — | Netmask 255.255.254.0, Gateway 147.45.124.1 |
| Регион | Франкфурт-на-Майне | USA |
| Статус | Основной | Возможен отказ позже |
Подробнее про сервер в Германии: [VPN-сервер (VPS, AmneziaWG)](vpn-vps-amneziawg.md).
---
## Параметры обфускации совпадают
На обоих серверах снят вывод `wg show` (AmneziaWG). Параметры обфускации **идентичны**:
| Параметр | Значение |
|----------|-----------|
| jc | 6 |
| jmin | 10 |
| jmax | 50 |
| s1 | 90 |
| s2 | 62 |
| h1 | 1455064900 |
| h2 | 852483043 |
| h3 | 2078090415 |
| h4 | 1981181588 |
Отличаются только: IP сервера, порт UDP, имя интерфейса (wg0 / awg0), ключи и список пиров. То есть один и тот же «профиль» обфускации можно воспроизвести на новом VPS — клиенты будут вести себя так же с точки зрения DPI.
---
## Как перенести конфиг на новый сервер
Если позже арендуешь другой VPS (вместо США или дополнительно), конфигурацию можно перенести полностью.
1. **Развернуть сервер:** Ubuntu (или другая ОС из [требований Amnezia](https://docs.amnezia.org/ru/documentation/supported-linux-os-for-vps)), Docker, доступ по SSH с твоего ключа.
2. **Установить AmneziaWG через приложение AmneziaVPN:** добавить новый сервер по IP, установить протокол AmneziaWG. В настройках протокола на сервере задать те же параметры обфускации, что и сейчас: **jc, jmin, jmax, s1, s2, h1h4** (значения из таблицы выше).
3. **Клиенты:** для нового сервера в AmneziaVPN сгенерировать новые гостевые конфиги (или конфиг с полным доступом). В конфиге будет новый Endpoint = IP:порт нового VPS. Старые ключи/пиры с предыдущего сервера на новый не копировать — у нового сервера свой ключ; важны только параметры обфускации на сервере и в клиенте.
4. **Роутер:** создать второе VPN-подключение (второй профиль/интерфейс) с конфигом для нового сервера. Переключение — выбор активного подключения (Германия или США / новый хост).
Итог: параметры обфускации задаются вручную при настройке AmneziaWG на новом VPS так же, как на текущих; клиентские конфиги получаются из приложения уже с новым Endpoint.
---
## Роутер: два подключения, переключение
- В настройках роутера создаётся **дополнительное** VPN-подключение (второй профиль AmneziaWG/WireGuard).
- Один профиль — Germany (185.103.253.99:33118), второй — USA (147.45.124.117:37135) или будущий новый сервер.
- Переключение: выбираешь активное подключение — либо одно, либо другое (или отключено). Маршруты/политики при необходимости те же для обоих (например, весь трафик в туннель или только часть по правилам).
Так можно в любой момент перейти с USA на новый VPS: добавляешь новый профиль с конфигом нового сервера и переключаешься на него.

View File

@@ -0,0 +1,95 @@
# VPN-сервер (VPS, AmneziaWG)
Отдельный VPS в другой стране для обхода блокировок. Развёрнут протокол **AmneziaWG** (маскировка VPN-трафика под обычный UDP, устойчивость к DPI). Трафик с домашнего контура при необходимости можно маршрутизировать через этот сервер.
---
## Доступ и логины
- **SSH:** `ssh root@185.103.253.99` (доступ по SSH-ключу). IP: 185.103.253.99, ОС Ubuntu, ядро 6.8.
- **Веб-интерфейсов на сервере нет.** Управление VPN — через приложение AmneziaVPN на клиенте (добавление сервера по IP, установка AmneziaWG, гостевые конфиги).
**Хостинг (First Byte):**
- Тариф: KVM-SSD-1-FRA
- Дата открытия: 2026-01-24
- Доменное имя: vm3839421.firstbyte.club
- Регион: Германия, Франкфурт-на-Майне
---
## Что развёрнуто
- **Docker** — один контейнер: **amnezia-awg** (образ `amnezia-awg`).
- **AmneziaWG** слушает порт **33118/UDP** на всех интерфейсах.
- Контейнер запущен с `--restart=always`, примонтирован `/lib/modules` (для ядерного модуля WireGuard). Сеть — bridge, проброс порта 33118/udp на хост.
- Дополнительно: **vps-metrics** (systemd-сервис) — API метрик для виджета Homepage.
Каталог образа/скриптов на хосте: `/opt/amnezia/amnezia-awg/` (там лежит Dockerfile; сам сервер AmneziaWG настраивается через приложение AmneziaVPN при установке протокола на этот VPS).
---
## Протокол AmneziaWG
- Форк WireGuard с обфускацией трафика: динамические заголовки, рандомизация размеров пакетов, маскировка под другие UDP-протоколы (QUIC, DNS и т.д.). Это затрудняет определение и блокировку VPN системами DPI.
- Криптография и производительность — как у WireGuard; совместимость с обычным WireGuard ограничена (нужен именно клиент AmneziaWG/AmneziaVPN).
Подробнее: [документация Amnezia](https://docs.amnezia.org/ru/documentation/amnezia-wg), [AmneziaWG 2.0 на self-hosted](https://docs.amnezia.org/ru/documentation/instructions/new-amneziawg-selfhosted).
---
## Как подключиться к VPN
1. Установи клиент **AmneziaVPN** на устройство (Windows, macOS, Linux, Android, iOS): [amnezia.org/downloads](https://amnezia.org/ru/downloads).
2. Добавь сервер: в приложении создай новое подключение и укажи **185.103.253.99** (логин/пароль или SSH-ключ — как настраивал при первом развёртывании). Либо вставь ключ подключения в формате `vpn://...`, если он был сгенерирован и сохранён.
3. В настройках этого сервера установи/выбери протокол **AmneziaWG** (при первом развёртывании он ставится через приложение на VPS).
4. Для доступа с других устройств без полного доступа к серверу: в AmneziaVPN создай **гостевое** подключение по AmneziaWG и передай сгенерированный ключ или конфиг (.conf) на нужное устройство.
Конфигурации и ключи хранятся в приложении и (при экспорте) в выданных тебе файлах; на VPS в открытом виде в доку не дублируются.
---
## Полезные команды на VPS
```bash
# Статус контейнера
docker ps -a | grep amnezia
# Логи (если включены)
docker logs amnezia-awg
# Интерфейс WireGuard внутри контейнера (публичные ключи, пиры, handshake)
docker exec amnezia-awg wg show
# Перезапуск VPN-контейнера
docker restart amnezia-awg
```
Порт на хосте:
```bash
ss -ulnp | grep 33118
```
---
## Связь с домашним контуром
- Домашний сервер (Proxmox): 192.168.1.150, внешний IP 185.35.193.144.
- При необходимости маршрутизировать трафик (например, YouTube/Invidious) через этот VPN настраивается отдельно: маршруты и/или policy-based routing на роутере или на конкретных хостах/контейнерах.
В документе по [архитектуре](../architecture/architecture.md) этот VPS упоминается как отдельный узел; детали доступа и протокола — в этой статье.
---
## Второй VPS (USA)
Есть второй сервер в США; от него возможен отказ в пользу одного Germany или нового хостинга.
- **IP:** 147.45.124.117
- **Сеть:** Netmask 255.255.254.0, Gateway 147.45.124.1
- **SSH:** `ssh root@147.45.124.117`
- **AmneziaWG:** контейнер `amnezia-awg2`, порт **37135/UDP**.
Параметры обфускации на обоих серверах (Германия и США) **одинаковые** — конфиг можно полностью перенести на новый сервер при переезде. На роутере создаётся второе VPN-подключение; переключение между Germany и USA — выбор нужного профиля.
**Подробно:** [Перенос конфигурации AmneziaWG между серверами](vpn-migrate-config.md).

105
docs/vps/vps-miran-bots.md Normal file
View File

@@ -0,0 +1,105 @@
# VPS Миран (СПБ): боты и STUN/TURN
VPS в ЦОД Миран (Санкт-Петербург). Развёрнуты два Telegram-бота (telegram-helper-bot, anonBot), инфраструктура prod (мониторинг, метрики), а также сервер STUN/TURN для Galene (call.katykhin.ru).
---
## Доступ и логины
- **SSH:** `ssh -p 15722 deploy@185.147.80.190` (пользователь deploy, в группе docker). IP: 185.147.80.190, хостнейм vm220416.vds.miran.ru, ОС Ubuntu.
- **S3 (контент ботов):** URL https://api.s3.miran.ru, порт 443. Access key: `j3tears100@gmail.com`, Secret key: `wQ1-6sZEPs92sbZTSf96` (полная таблица — в разделе «S3» ниже).
- **Админка Миран (панель хостинга VPS):** логин `j3tears100@gmail.com`, пароль `gonPok-xifrys-4nuxde`.
- **Grafana, Uptime Kuma, админки ботов:** логины и пароли — в `.env` проекта prod или в менеджере паролей.
---
## Что развёрнуто
### 1. Боты и prod (Docker Compose)
Проект в `/home/prod/`: `docker-compose.yml`, каталоги `bots/`, `infra/`, CI (GitHub Actions в `.github/`). Запуск от пользователя deploy.
| Сервис | Образ / контейнер | Порт | Назначение |
|------------------|---------------------|-------|--------------------------|
| telegram-bot | prod-telegram-bot | 8080 | telegram-helper-bot |
| anon-bot | prod-anon-bot | 8081 | anonBot |
| prometheus | prom/prometheus | 9090 | Метрики |
| alertmanager | prom/alertmanager | 9093 | Алерты |
| grafana | grafana/grafana | 3000 | Дашборды |
| uptime-kuma | louislam/uptime-kuma| 3001 | Мониторинг доступности |
Сеть контейнеров: `prod_bots_network` (bridge). Переменные окружения и секреты — в `.env` и настройках сервисов (в доку не дублируются).
### 2. STUN/TURN (Galene)
**coTURN** — системный сервис `coturn`, конфиг `/etc/turnserver.conf`.
- **Порты:** 3478/UDP (STUN/TURN), TLS/DTLS отключены (`no-tls`, `no-dtls`).
- **Realm:** call.katykhin.ru
- **External IP:** 185.147.80.190
- **Диапазон портов для релея:** 4915249252
- Учётные данные для Galene заданы в конфиге (user/realm); на сервере Galene (контейнер 108) в настройках указывается этот TURN-сервер для обхода NAT.
Трафик с Galene (домашний сервер 192.168.1.108, call.katykhin.ru) уходит на этот VPS для STUN/TURN, чтобы видеозвонки работали при симметричном NAT и ограничениях провайдера.
### 3. S3 (контент ботов)
Объектное хранилище Миран (S3-совместимый API) для контента, который отдают боты (медиа, файлы). Доступ по HTTPS.
| Параметр | Значение |
|-------------|----------|
| URL | https://api.s3.miran.ru |
| Порт | 443 (HTTPS) |
| Access key | j3tears100@gmail.com |
| Secret key | wQ1-6sZEPs92sbZTSf96 |
В ботаx (переменные окружения prod) заданы `S3_ENDPOINT_URL=https://api.s3.miran.ru`, регион и креды для загрузки/выдачи контента. Для локальной разработки или других клиентов использовать те же endpoint и ключи.
### 4. Остальное на хосте
- **nginx** — порты 80 и 443; по умолчанию отдаёт статику из `/var/www/html`.
- **prometheus-node-exporter** — порт 9100, метрики хоста для Prometheus.
- **vps-metrics** — systemd-сервис, API метрик для виджета Homepage (порт 3497).
- **cron** — по расписанию при необходимости.
---
## Порты (сводка)
| Порт | Служба / контейнер | Протокол |
|--------|--------------------------|----------|
| 15722 | SSH | TCP |
| 80, 443| nginx | TCP |
| 3478 | coturn (STUN/TURN) | UDP |
| 3497 | vps-metrics (Homepage) | TCP |
| 8080 | telegram-bot | TCP |
| 8081 | anon-bot | TCP |
| 9090 | Prometheus | TCP |
| 9093 | Alertmanager | TCP |
| 9100 | node-exporter | TCP |
| 3000 | Grafana | TCP |
| 3001 | Uptime Kuma | TCP |
---
## Управление ботами и prod
Рабочий каталог Compose: `/home/prod/`. От пользователя deploy:
```bash
cd /home/prod
docker compose ps
docker compose up -d
docker compose logs -f telegram-bot
```
Образы ботов собираются из репозитория (Dockerfile в проекте); деплой через Makefile / CI при необходимости.
---
## Связь с домашним контуром
- **Galene** (контейнер 108, call.katykhin.ru): в настройках сервера Galene указан TURN-сервер 185.147.80.190:3478 (realm call.katykhin.ru), чтобы клиенты за NAT могли устанавливать медиа-сессии через этот VPS.
- **Homepage** (контейнер 100): виджет метрик может показывать данные с vps-metrics (185.147.80.190:3497).
Остальные узлы homelab (Proxmox, NPM и т.д.) описаны в [архитектуре](../architecture/architecture.md).