de1: полный паспорт действующей ноды ruzzy.dev

This commit is contained in:
Ruslan Gilfanov
2026-06-21 18:26:38 +03:00
parent f992a8e6f8
commit 9f08a61783
2 changed files with 84 additions and 1 deletions

View File

@@ -3,6 +3,7 @@
Описание состояния серверов.
## Серверы
- [`servers/fr1.md`](servers/fr1.md) — Contabo, France (`fr1.ruzzy.dev`).
- [`servers/de1.md`](servers/de1.md) — `ruzzy.dev` (213.136.74.247). Действующая прод-нода: прокси/VPN (telemt, AmneziaWG, OpenVPN), gitea, openclaw, боты. Источник для переноса.
- [`servers/fr1.md`](servers/fr1.md) — `fr1.ruzzy.dev` (161.97.93.252). Новая чистая нода (Ubuntu 24.04).
Секреты (пароли, токены) в репозитории не хранятся — только на серверах.

82
servers/de1.md Normal file
View File

@@ -0,0 +1,82 @@
# de1 — `ruzzy.dev` (213.136.74.247)
Действующая прод-нода (прокси/VPN + сервисы). С неё переносим на `fr1`/`ru1`.
Секреты (токены, ключи, MTProxy secret) — только на сервере, не здесь.
**Провайдер:** Contabo · физически **France / Lauterbourg** (в README/топологии зовётся «DE»).
**ОС:** Ubuntu **18.04.5 LTS** (⚠️ EOL) · kernel 4.15.0-144
**Ресурсы:** 8 vCPU / 29 GB RAM / 786 GB (исп. 176 GB) · swap 2 GB
**hostname:** `vmi274597` · PTR `zimbra.zottel.net` (устаревший, чужой)
**Uptime:** ~132 дня
---
## Доступ
- `ssh rus@ruzzy.dev` → пользователь `rus` (uid 1000, shell zsh), в группе docker, sudo.
- Пользователь `validator` (uid 1001, shell `/dev/null`) — сервисный аккаунт, активных процессов нет.
- На сервере живёт **gitea** (origin нашего infra-репо): `ssh://git@git.ruzzy.dev:2222`.
## DNS
- `ruzzy.dev`, `www.ruzzy.dev`, `git.ruzzy.dev` → 213.136.74.247 (Namecheap).
- `www.ruzzy.dev` используется как FakeTLS-маска для MTProxy.
---
## Docker-сервисы (всё крутится в Docker)
| Контейнер | Образ | Роль | Порты | Compose / данные |
|---|---|---|---|---|
| **telemt** | telemt:latest | MTProxy (FakeTLS) | host: 8443, API 9091 | `~/gost/` · cfg `~/gost/telemt-config/` |
| **amnezia-awg** | amnezia-awg | AmneziaWG туннель | 36360/udp · iface `amn0` | — |
| **gitea** | gitea/gitea | Git-хостинг | 2222 (ssh), 127.0.0.1:3000 (web) | `/srv/gitea/{data,config,logs}` |
| **postgres** | mdillon/postgis | PostgreSQL+PostGIS | 127.0.0.1:5432 | `~/volumes/postgres` |
| **openclaw-gateway-1** | openclaw:local | AI-ассистент «Илюха» | 18789-18790 | `~/openclaw/` · `~/.openclaw/` |
| **openclaw-cli-1** | openclaw:local | CLI-управление openclaw | — | `~/openclaw/` |
| **openclaw-whisper-1** | faster-whisper-server | STT (Whisper) | 8000 | vol `openclaw_whisper_models` |
| **claude-channels** | claude-channels | Claude-бот в Telegram | — | `~/claude-channels/` · vol `claude-home`; vault `~/MyVault` |
| **ipcam-sftp** | atmoz/sftp | Приём видео с IP-камер (SFTP) | 2223→22 | `/srv/ipcam/videos` |
| **ipcam-ftps** | fauria/vsftpd | Приём видео с IP-камер (FTPS) | 2221, 30000-30010 (pasv) | `/srv/ipcam/videos`, certs `/srv/ftps/certs` |
| *(2× openclaw-cli-run)* | 702cf30808fc | временные cli-run, **unhealthy** | — | — |
## Не в Docker (на хосте)
- **nginx** — `:80` и `:443` (на 213.136.74.247), плюс `127.0.0.1:4443` (FakeTLS-бэкенд маски telemt). Проксирует gitea и vhosts. Важно: nginx.conf должен include sites-enabled (иначе 443 не слушается).
- **OpenVPN** — `1194/udp`, подсеть `10.8.0.0/24`.
- **squid** — слушает `3128`, но по README считается нерабочим (упал 2026-02-09), не используется.
- **systemd-resolved** — `53`.
- порт `4369` (epmd) — артефакт erlang-приложения.
---
## VPN-топология (AmneziaWG)
- Контейнер `amnezia-awg`, iface `amn0` = 172.29.172.1/24, порт 36360/udp.
- Туннель: **de1 = 10.8.1.0**; RU-сервер подключается как **10.8.1.4/32**.
## MTProxy (telemt)
- `~/gost/docker-compose.yml`: host-network, read-only, cap_drop ALL + NET_BIND_SERVICE, no-new-privileges.
- Порт 8443, FakeTLS под `www.ruzzy.dev` (маска → nginx 127.0.0.1:4443). API: `curl http://127.0.0.1:9091/v1/users`.
- Юзер `ruzzy`. Secret (MD5) и диплинк — в `~/README.md`/конфиге на сервере (НЕ здесь).
## OpenClaw — «Илюха» (AI-ассистент в Telegram)
- Бот `@my_vault_assist_bot`. Gateway-контейнер слушает 18789. Модель: Claude Haiku 4.5 (fallback GPT-5.4).
- Каталоги: `~/openclaw/` (compose, `.env`, `Dockerfile.custom`), `~/.openclaw/` (config, skills, logs), `~/.openclaw-auth-profile-secrets/`.
- Vault: `~/MyVault` (Obsidian) → монтируется в контейнер, синкается в gitea каждые 5 мин (`sync.sh`, cron). SSH-ключ `~/.ssh/openclaw_gitea` (deploy key в gitea, alias `gitea-openclaw`).
- Скилы: myvault, shopping, books, diagrams, meeting-summary, weather, whisper, video-frames (websearch отключён).
- Возможности: голос (Whisper STT / OpenAI TTS), Mermaid-диаграммы (chromium+mmdc), книги (EPUB/PDF), саммари видео-встреч.
- API-ключи в `~/openclaw/.env`: ANTHROPIC, OPENAI, TELEGRAM_BOT_TOKEN, BRAVE, TAVILY, OPENCLAW_GATEWAY_TOKEN.
- Подробно: `~/OPENCLAW.md` на сервере.
## Claude-бот (claude-channels)
- Бот `@iluha_rabobot` (id 8322585909). Личка (allowlist, id 607015) + группа «Бухач» (`-584750268`, requireMention).
- `~/claude-channels/` (compose, Dockerfile Node22+Bun+Claude Code, `.env`). Volume `claude-channels_claude-home``/root`; vault `~/MyVault`.
- Настройки внутри volume: `.claude/settings.json`, `.claude/channels/telegram/access.json`.
- Подробно: `~/CLAUDE_BOT.md` на сервере.
## Прочее
- **ipcam** — приём записей с IP-камер по SFTP (2223) и FTPS (2221 + pasv 30000-30010) в `/srv/ipcam/videos`.
- **postgres/postgis** — БД (localhost), данные `~/volumes/postgres`.
## Cron (rus)
```
0 12 * * * sudo certbot renew --quiet # обновление TLS-сертификатов
*/5 * * * * ~/openclaw/sync.sh # синк Obsidian vault → gitea
```