Give `river` a dedicated RDMA VF and two RSTP trunk attachments. Keep client services on the router VIPs and carry Digiweb VLANs over both switch paths. Set VF trust, multicast reception, bridge MAC and ARP behavior for local switching. Wait for Kea interface readiness and apply RSTP costs through `mstpd` despite port-registration and rename races. Load `palace`'s RAID module in the initrd. Record RouterOS and RouterBOOT upgrades and validate port, carrier and switch outages. Document the deployed architecture, interface handoffs and recovery procedures. Add physical socket maps, NIC capacities and cable connections alongside the logical topology and failover checks.
43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
# unifi
|
|
|
|
The UniFi network controller, running as a container on [`sfh`](../README.md). It manages the
|
|
home UniFi switch `brian` (see [switches.md](../../switches.md)).
|
|
|
|
- **Source:** [`nixos/boxes/home/palace/vms/sfh/containers/unifi.nix`](../../../../../nixos/boxes/home/palace/vms/sfh/containers/unifi.nix)
|
|
- **Host:** NixOS container on `sfh`
|
|
- **nixpkgs:** `mine`
|
|
|
|
## Role
|
|
|
|
- **UniFi controller** (`services.unifi`, `pkgs.unifi` on `mongodb-7_0`, firewall open; TCP 8443
|
|
allowed).
|
|
- Not a deploy-rs target (`my.deploy.enable = false`) — it's rendered via `my.asContainer` and
|
|
started by `sfh`'s `my.containers.instances`.
|
|
|
|
## Network assignments
|
|
|
|
See the consolidated [network assignments](../../../../networking.md#box-assignments) table (this box: `unifi`).
|
|
|
|
## Status
|
|
|
|
**Currently enabled.** The container spent a while disabled — its import was commented out of
|
|
[`containers/default.nix`](../../../../../nixos/boxes/home/palace/vms/sfh/containers/default.nix)
|
|
while there was no UniFi gear to manage — and was re-enabled when the UniFi switch `brian` was
|
|
added, gaining a `core` interface (`unifi-ctr-core`) at the same time so it can reach the switch on its
|
|
management network. It is imported, listed in `sfh`'s `my.containers.instances`, and
|
|
`services.unifi.enable = true`.
|
|
|
|
## Networking
|
|
|
|
Two MACVLAN interfaces come from `sfh`'s container NICs: `host0` on `ctrs-hi` carries the `hi`
|
|
assignment (`unifi-ctr`, default gateway via the VIP), while `lan-core` on `ctrs-core` carries
|
|
the gatewayless `core` assignment (`unifi-ctr-core`). The `core` interface is how the controller
|
|
talks to `brian` and the other switches on their management network.
|
|
|
|
## Notable config files
|
|
|
|
- [`nixos/boxes/home/palace/vms/sfh/containers/unifi.nix`](../../../../../nixos/boxes/home/palace/vms/sfh/containers/unifi.nix) —
|
|
container system: UniFi service, assignments.
|
|
- [`nixos/boxes/home/palace/vms/sfh/default.nix`](../../../../../nixos/boxes/home/palace/vms/sfh/default.nix) —
|
|
the `sfh` side: container instance, MACVLAN wiring.
|