| OS | Debian 13 (trixie) |
| AWG IP | 10.9.0.196 (см. vpn-amneziawg) |
| SSH | root@10.0.0.13 (с key из ~/.ssh/), либо root@10.9.0.196 через AWG |
| Назначение | основной стек: web/mysql/clickhouse/redis/poller, LoSIP, LoShaper-api |
Каталоги:
/opt/LoNGFW/ — docker-compose стек (web, poller, mysql, clickhouse, redis, billing-sync, alerter, analyzer, loshaper-api, ipfix-dpi, clickstream-dpi)/opt/LoSIP/ — Asterisk + AWG sidecar/opt/LoShaper/ — конфиг LoShaper (loshaper-api контейнер использует)/opt/LotosFZ/config.yml — креды сетевого оборудования (mount'ится ro в web-контейнер)/etc/amnezia/amneziawg/awg0.conf — AWG client config к firefly/usr/local/bin/{amneziawg-go,awg,awg-quick} — AWG бинари (скопированы из контейнера losip-losip-awg).env ключевые переменные (/opt/LoNGFW/.env):
MYSQL_PASSWORD=<bcrypt-hash>
MYSQL_ROOT_PASSWORD=<...>
CH_PASSWORD=<...>
BGBILLING_DSN=mysql+pymysql://longfw_ro:aed8fe96448d7ac4809607b28db5df3a@10.9.0.197/bgbilling
LOSHAPER_API_TOKEN=<32-hex>
NOTIFY_API_TOKEN=<32-hex>
LONGFW_AGENT_TOKEN=<32-hex>
ALERT_ENCRYPTION_KEY=<Fernet-key>
DISCOVERY_DEFAULT_USER=maxonnet
DISCOVERY_DEFAULT_PASS=Go@Wood#1989!
DISCOVERY_DEFAULT_ENABLE=Drive@Hell#1989!
OLT_USER=maxonnet
OLT_PASS=8c61210b2b037821
ESR_USER=maxonnet
ESR_PASSWORD=Go@Wood#1989!
ESR_BRIDGES=11,500
(точные значения паролей серверного стека — в самом .env на хосте, не дублируем в wiki)
| OS | Debian 12 (bookworm) |
| AWG IP | 10.9.0.197 |
| Hostname | bill |
| SSH | root@10.0.0.3 |
| Сервисы | BGBilling Inet 9.x (Java), MariaDB 10.11, DHCP-сервер для абонентов |
MariaDB 10.11 — bind 0.0.0.0:3306 (после миграции 2026-04-30 с tunnel'а на прямой AWG-доступ). Защищён в /etc/mysql/mariadb.conf.d/50-server.cnf.
⚠️ Firewall защита нужна — открыто наружу 3306. Должен быть iptables только для AWG 10.9.0.0/21 + 127.0.0.1. Сделать:
iptables -A INPUT -i awg0 -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP
Read-only пользователь для LoNGFW:
longfw_ro@10.9.0.196 — пароль aed8fe96448d7ac4809607b28db5df3aGRANT SELECT ON bgbilling.* TO 'longfw_ro'@'10.9.0.196'⚠️ Каталог /tmp должен быть с правами 1777 (sticky). Если меняли — MariaDB не запустится (InnoDB не может создавать temp-файлы). Прецедент 2026-04-30.
См. billing-bgbilling.
| OS | VEOS 8.8 (Kildin / RHEL 8 derivative) |
| AWG IP | 10.9.0.198 |
| Hostname | dpi.adm-sr.loplus.ru |
| SSH | root@10.0.0.6 (с ключа ~/.ssh/id_rsa или с /root/.ssh/id_ed25519 на 10.0.0.13) |
| Password user | tatarnikov_vs / Go@Wood#1989!, su Drive@Hell#1989! |
| GPU | нет (только DPDK сетевые карты) |
Сервисы:
00-10.0↔00-10.1 (Intel 82599ES 10G через VFIO)Лицензия: до 2026-05-01, 10 Gbps (продлять).
| DNS | duck.4gain.pro → 5.101.14.132 (это и есть firefly, не отдельная машина) |
| Public IP | 5.101.14.132 (DigitalOcean) |
| Internal LAN | 10.19.1.150/24 (eno1) |
| AWG IP | 10.9.0.191 (имя firefly.vpn.4gain.pro, hostname firefly.e1.4gain.pro) |
| SSH | port 21150, root@duck.4gain.pro (НЕ стандартный 22) |
| GPU | RTX 3060 Lite Hash Rate, 12 GB VRAM (NVIDIA GA106) |
| OS | CentOS Stream 9, kernel 5.14.0-697.el9 |
⚠️ Важно: firefly — это peer AWG mesh, не AWG-сервер. AWG-сервер крутится на отдельном VPS mirkwood.4gain.pro (94.25.50.91:51830). См. vpn-amneziawg.
Firefly также manager Docker Swarm инфры forGain — на нём крутятся swarm-стеки wiki, traefik, portainer, openproject, owncloud, jumpserver, i2p и compose-стеки gitlab, mail, netbox, zabbix, www-tenants. См. forGain/services.
Каталог compose-сервисов: /home/compose/<service>/ (НЕ /opt/).
| Путь | Что |
|---|---|
/home/compose/lo-voicebot/ |
LoVoiceBot (Telegram bot, Whisper, AI-ассистент) |
/home/compose/lo-1c-analytics/ |
Lo1CAnalytics |
/home/compose/gitlab/ |
gitlab.4gain.pro |
/home/compose/pro-4gain-mail/ |
mail server |
/home/compose/pro-4gain-netbox/ |
NetBox |
/home/compose/pro-4gain-www/ |
4gain.pro |
/home/compose/pro-4gain-zabbix/ |
Zabbix |
/home/compose/org-tatarnikov-www/ |
tatarnikov.org |
/home/compose/ru-nc13-www/ |
nc13.ru |
/home/compose/tech-estim-www/ |
estim.tech |
/home/compose/tgUserStoryReport/ |
TG report bot |
Host-сервисы (без docker):
llama-swap (systemd) — 0.0.0.0:8089 (НЕ 8080 — занят docker'ом owncloud, hairpin DNAT). 5 моделей с TTL 600с: qwen3-8b (default), deepseek-r1-distill-14b, deepseek-coder-v2-lite, qwen3-coder-30b, qwen3.6-35b/home/models/llama.cpp/. GGUF в /home/models/gguf/<model>//etc/llama-swap/config.yamlcurl http://localhost:8089/v1/modelsСетевые особенности:
net.ipv4.conf.all.src_valid_mark=1)172.27.0.1 = host duck — через него ходим к llama-swap (http://172.27.0.1:8089/v1)10.9.0.196:8080) напрямую через host AWGhttp://searxng:8080 (внутренний docker-network)Деплой workflow:
rsync -az ./ root@duck.4gain.pro:/home/compose/<service>/ -e 'ssh -p 21150'
ssh -p 21150 root@duck.4gain.pro 'cd /home/compose/<service>/ && docker compose up -d --build'
См. lovoicebot.
Эти хосты управляются командой forGain и образуют общую инфраструктуру с LoPlus:
| Хост | IP | Назначение |
|---|---|---|
| mirkwood.4gain.pro | 94.25.50.91 |
Ядро AmneziaWG — server endpoint :51830/udp. Также хостит dep816.ru. |
| nugush.4gain.pro | 134.209.197.76 |
Exit-node VPN (обход РКН) + Zabbix-proxy + nginx-gateway для Telegram (https://nugush.4gain.pro/tg-out/ → api.telegram.org) |
| syun.4gain.pro | 194.247.182.197 |
Exit-node VPN (обход РКН) |
| sakmara.4gain.pro | 162.120.19.187 |
Exit-node VPN (обход РКН) |
LoVoiceBot на firefly использует AWG-туннель внутри контейнеров для Telegram-обхода — но возможно стоит переиспользовать nginx-gateway на nugush (как делает Zabbix-сервер) вместо прокладки своего туннеля per-контейнер.
Changelog
5.101.14.132 / CentOS Stream 9), объяснено что AWG server = mirkwood, не firefly. Список внешних VPS forGain (mirkwood/nugush/syun/sakmara) и их роль (claude/forGain)