- Docker-стек mongo:4.4 + linuxserver/unifi-network-application - MongoDB 4.4 принудительно: хост Xeon X5672 без AVX, 5.0+ падает Illegal instruction - образ с docker.io (ghcr.io виснет из РФ), rootfs на work (local-lvm 90%) - NPM #36 + Let's Encrypt (DNS через Spaceweb, один editMain add) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4.9 KiB
date, type, tags
| date | type | tags | ||||||
|---|---|---|---|---|---|---|---|---|
| 2026-06-15 | decision |
|
UniFi Network Application на home lab — LXC 140 (2026-06-15)
Задача
Развернуть контроллер UniFi (Network Application) на Proxmox home lab (10.0.0.250) + домен unifi.dttb.ru.
Итог
- LXC 140
unifi— Debian 12, unprivileged + nesting/keyctl, Docker compose - IP 10.0.0.196 (статика), nameserver 1.1.1.1
- Ресурсы: 2 vCPU / 3 GB RAM / 16 GB диск (rootfs на
work—local-lvmзабит на 90%) - Стек:
docker.io/mongo:4.4+docker.io/linuxserver/unifi-network-application:latest, persistent bind-mount/opt/unifi/{config,db} - Web UI: https://10.0.0.196:8443 (302 на логин — поднялся), inform на :8080
- Домен: unifi.dttb.ru (NPM proxy host #36 → HTTPS 10.0.0.196:8443, WSS) + Let's Encrypt
КОРЕНЬ (важная грабля): MongoDB 4.4, не выше
Хост HP Z800 = 2× Xeon X5672 (Westmere) — без AVX (grep avx /proc/cpuinfo пусто).
MongoDB 5.0+ (и 7.0, который ставит стандартный community-script ct/unifi.sh) требует AVX и падает с Illegal instruction.
LXC видит CPU хоста напрямую — маскировки нет. → берём mongo:4.4 (последняя версия без AVX; UniFi 8.x поддерживает Mongo 3.6–7.0).
Проверка живости: docker logs unifi-db → restarts=0, «Waiting for connections», app подключился. Падений нет.
Native-установка на Debian 12 отпала: MongoDB 4.4 под bookworm в репах нет (4.4 собран под bullseye/libssl1.1). Docker-стек mongo:4.4 самодостаточен и обходит это. Заодно это тот же стек, что отлажен на Передельках (2026-04-16-unifi-migration-peredelki, там bind-mount решал сброс БД).
Грабля 2: ghcr.io виснет из РФ
lscr.io/linuxserver/... редиректит на ghcr.io → закачка встала на 0 KB/s (compose висел). mongo:4.4 с docker.io скачался нормально.
→ Образ переключён на docker.io/linuxserver/unifi-network-application:latest (linuxserver публикует и туда, и в ghcr). Скорость 1.2 MB/s. Если опять затык — NetBird Trance→finland exit или docker registry mirror.
Домен и SSL (процедура как для omni — 2026-05-26-omni-domain-and-update)
DNS dttb.ru — на Spaceweb (нет публичного wildcard, каждый поддомен записью вручную).
unifi.dttb.ru→ публично NXDOMAIN (DoH 1.1.1.1; с Macdigхайджачится NetBird — feedback_dttb_dns_split_view).- Добавлена A-запись через Spaceweb API одним вызовом (НЕ в цикле —
editMainциклом ломает зону):POST https://api.sweb.ru/domains/dns→editMain action=add name=unifi type=A value=176.62.183.186→result:true. - Negative-cache LE Boulder + 1.1.1.1 (TTL ~600) → ждать ~10 мин после первой неудачной попытки, потом выпуск.
- NPM proxy host #36 создан (backend HTTPS 10.0.0.196:8443, WSS вкл). Cert Let's Encrypt id 126 (exp 2026-09-13) выпущен и привязан (
ssl_forced, http2).
Проверка: https://unifi.dttb.ru → 302 /setup/ (свежий контроллер), сертификат CN=unifi.dttb.ru issued by Let's Encrypt YE1.
Доступы
- Proxmox:
ssh root@10.0.0.250(1qaz!QAZ),pct ... 140 - Контейнер:
pct exec 140 -- ...; compose в/opt/unifi/ - MongoDB (внутр.): user
unifi/Un1fiM0ngo2026, dbunifi/unifi_stat - UniFi UI: https://10.0.0.196:8443 или https://unifi.dttb.ru — первый вход = создание admin-аккаунта (контроллер пустой)
- Spaceweb DNS:
it5870yand/1qaz!QAZ(api.sweb.ru) - NPM: 10.0.0.195:81,
it5870@yandex.ru/1qaz!QAZ
Управление
ssh root@10.0.0.250
pct exec 140 -- bash -c 'cd /opt/unifi && docker compose ps'
pct exec 140 -- bash -c 'cd /opt/unifi && docker compose restart'
pct exec 140 -- bash -c 'cd /opt/unifi && docker compose pull && docker compose up -d' # апдейт
Что осталось / на заметку
- Контроллер пустой — устройств UniFi в домашней сети (10.0.0.0/24) пока нет (роутер — OpenWrt). Готов к adopt новых AP/switch.
- Для adopt устройств из других подсетей — set-inform на UI или DNS
unifi → <ip>(как на Передельках). .196— статика; убедиться, что вне DHCP-пула OpenWrt.