Homelab Infrastructure Wiki

Last updated July 2026 — combines the live Portainer audit (13 environments, per-container detail) with the Home Lab Architecture document (hardware, virtualization, networking, storage).

Security note: several apps carry plaintext passwords, API keys and OAuth secrets in their environment variables. These are deliberately not reproduced in this document.

Network Overview

EnvironmentIPRoleStatus
Game Manager Server192.168.1.114Board-game manager app (3 instances)ONLINE
HP ProLiant MicroServer192.168.1.70Unknown (4 stacks)DOWN
n8n Server192.168.1.160Workflow automation (VM on Proxmox-1)ONLINE
Observa Server192.168.1.135Observability / monitoring (presumed)DOWN
Ollama Server192.168.1.249Local LLM inference (VM on Proxmox-1)DOWN
Proxmox-1 Docker CT192.168.1.154Main utility box (Portainer host)ONLINE
Proxmox-2 Docker CT192.168.1.63Docker agent on Proxmox-2 (future cluster node)DOWN
Proxmox-3 Docker CT192.168.1.171Docker agent on Proxmox-3 (future cluster node)DOWN
Proxmox Host Server192.168.1.218Proxmox-1 host — reverse proxy (NPM)ONLINE
Sara-VM192.168.1.23Photo backup & publishing (VM on Proxmox-1)ONLINE
Tipi Server192.168.1.66Runtipi app platform (VM on Proxmox-1)ONLINE
Zaibatsui App Server192.168.1.56Custom full-stack appsONLINE
Zaibatsui Tower192.168.1.69Unraid NAS & media serverONLINE

This wiki itself is served from Proxmox-1 Docker CT at http://192.168.1.154:8090 (Portainer stack homelab-wiki).

Hardware Inventory

Proxmox-1 — Minisforum MS-01 (primary server)

ComponentSpec
CPUIntel Core i9-12900H
GPUIntel Iris Xe Graphics (up to 1.5 GHz)
RAM96 GB dual-channel DDR5-5200
Storage3× 2 TB M.2 2280 SSD
ConnectivityDual USB4 (40 Gbps), dual 2.5G RJ45, WiFi 6, Bluetooth 5.2

Proxmox-2 — Minisforum MS-01 (secondary server)

ComponentSpec
CPU / GPU / RAMSame as Proxmox-1 (i9-12900H, Iris Xe, 96 GB DDR5-5200)
Storage1× 2 TB M.2 2280 SSD
ConnectivityDual USB4 (40 Gbps), dual 2.5G RJ45, WiFi 6, Bluetooth 5.2

Proxmox-3 — Framework board in CoolerMaster case

ComponentSpec
CPUIntel Core i7-1280P
RAM32 GB DDR4-3200 (2× 16 GB)
Storage1 TB M.2

Zaibatsui Tower — LincPlus LincStation N2 (Unraid NAS)

ComponentSpec
CPUIntel Alder Lake-N N100, 4C/4T, up to 3.4 GHz, 6 W TDP
OSUnraid
RAM16 GB LPDDR5 (on-board)
Storage2× 4 TB SSD + 4× 2 TB M.2
Network1× RJ45, 10 Gigabit Ethernet
Other I/OUSB-C (full function, 10G), USB 3.2 Gen2 Type-A, 2× USB 2.0, HDMI 2.0, 3.5mm audio

Storage expansion (not currently connected)

SABRENT 4-bay hard drive dock (USB3 → Proxmox) — drives: 250 GB WD Black, 320 GB WD Black, 2× Samsung 1 TB. Intended for the OpenMediaVault NAS VM (also inactive).

Virtualization Map

How the Portainer environments map onto physical hosts. Proxmox-1 carries nearly all workloads; Proxmox-2 and Proxmox-3 are earmarked as future cluster nodes.

Proxmox-1 (MS-01) — VMs & CTs

GuestPurpose / contents
Proxmox-1 Docker CTMain Docker host (192.168.1.154) — see its environment section for the full container list
Docker Host — "Zaibatsui Server"Nginx Proxy Manager + Portainer agent (the Proxmox Host Server environment, 192.168.1.218)
Sara-VMImmich + Ghost (192.168.1.23) — see environment section
n8n serverWorkflow automation (192.168.1.160)
RuntipiTipi Server environment (192.168.1.66)
OllamaLocal LLM inference (192.168.1.249, currently down)
getAMP VMGame servers via AMP: Satisfactory, Factorio, Valheim, Enshrouded (192.168.2.10)
CASOS VMCASOS deployment & management
NAS VM — OpenMediaVaultAttached to SABRENT 4-bay dock (192.168.1.150) — NOT ACTIVE
NetboxNetwork / infrastructure documentation (IPAM/DCIM)
BeszelMonitoring hub the beszel-agents report to
FileBrowser QuantumFile management
TailscaleMesh VPN / remote access
SaraBackupBackup guest for Sara-VM data
Desktop guestsMint, Pop!_OS, SteamOS, Ubuntu 24, Windows 11 Pro

Proxmox-2 / Proxmox-3

Future workloads to be defined (cluster role). Each currently runs Docker with a Portainer agent only — matching the single-container footprint Portainer cached for the offline environments Proxmox-2 Docker CT and Proxmox-3 Docker CT.

Zaibatsui Tower (Unraid)

NAS shares + Docker (media stack, Immich, agents — see environment section) + one VM: Proxmox Backup Server.

Game Manager Server

IP 192.168.1.114 · Custom board-game collection / session manager, three isolated copies

Each instance is its own stack: static frontend + Python/FastAPI backend (uvicorn) + MongoDB. The primary instance's backend authenticates to the BoardGameGeek (BGG) API, confirming the app pulls game data from BGG for collection/session management.

InstancePortsStatusLikely purpose
game-manager-17550 / 7551RUNNINGProduction (primary — BGG API auth)
game-manager-5007565 / 7566RUNNINGFriend / group copy
game-manager-999STOPPEDTest build

Plus a Portainer agent for remote management.

n8n Server

IP 192.168.1.160 · Workflow automation · VM on Proxmox-1

ServicePurposeNotes
n8nWorkflow-automation platform (self-hosted Zapier alternative)Basic-auth login; public webhook URL at n8n.zaibatsui.co.uk; workflows / credentials / executions persist in a bind-mounted host folder
WatchtowerAuto image updates
Portainer AgentRemote management

Proxmox-1 Docker CT

IP 192.168.1.154 · Main Docker host (LXC on Proxmox-1 / MS-01) — Portainer itself runs here

Stacks

ServicePurposePorts / dependencies / notes
BlinkoSelf-hosted note / bookmark appBuilt from its GitHub repo; own PostgreSQL
ConvertXWeb file-format converterPort 3000
FileshaperCustom Python file-handling toolPort 5000
game-pickerCustom random game picker (Node.js)STOPPED — static files + small data folder
game-picker-furyCustom random game picker (Node.js)STOPPED — static files + small data folder
Joplin ServerSync backend for Joplin notesPort 22300; own PostgreSQL
MealieRecipe manager & meal plannerPort 9925
Tesseract / OCRmyPDFLong-running OCR helperIdle; pointed at Nextcloud "recipes" folder
FlareSolverrCloudflare-challenge bypass proxyPart of a small externally-deployed compose project
NextcloudFile sync & sharingPort 8765; cron container for thumbnail pre-generation; MariaDB + Redis; bind-mounted under /mnt/nextcloud_*
homelab-wikiThis wiki (nginx:alpine)Port 8090; page embedded in stack definition

Standalone containers

ServicePurposeNotes
PortainerContainer management UI for all environmentsData volume + Docker socket access
WatchtowerAutomatic image updatesRuns daily
HomarrDashboard / launcherSQLite-backed; Docker socket access for container status
Stirling-PDFFull PDF toolkit
Uptime KumaUptime / status monitoring
IT-ToolsSmall developer utilities

The architecture document also lists Penpot on this CT; it was not present in the live Portainer audit — likely removed since the document was written.

Proxmox Host Server

IP 192.168.1.218 · Docker host "Zaibatsui Server" on the Proxmox-1 hypervisor — dedicated reverse proxy

ServicePurposeNotes
Nginx Proxy ManagerReverse proxy with UI for domains & SSL certsPorts 80, 81 (admin), 443; config and Let's Encrypt certs bind-mounted to host
Portainer AgentRemote management

The ~101 GB RAM Portainer reports here reflects the Proxmox-1 host itself (96 GB MS-01), which also runs all the VMs listed in the Virtualization Map — not just NPM.

Sara-VM

IP 192.168.1.23 · VM on Proxmox-1 · Photo backup & publishing (backed up via the SaraBackup guest)

ServicePurposeNotes
ImmichGoogle-Photos-style backup with AI photo searchVector-enabled PostgreSQL + Redis; uploads on dedicated /mnt/SaraImages mount; CORS configured for sara-image.zaibatsui.co.uk
GhostBlogging platformRuns agirlandherappetite.com (AGAHA); own MySQL; Gmail SMTP for outgoing mail (notifications / newsletters)
HomarrDashboardSTOPPED
Portainer AgentRemote management

Tipi Server

IP 192.168.1.66 · VM on Proxmox-1 · Runtipi self-hosted app-store platform

ServicePurposeNotes
RuntipiSelf-hosted "app store" homeserver platformWired with generated internal passwords
TraefikReverse proxy backing RuntipiRoutes a configured domain plus local tipi.local
RabbitMQMessage queue backing Runtipi
PostgreSQLDatabase backing Runtipi
code-serverVS Code in the browserInstalled through Runtipi's app store (runtipi.managed label), not a separate deployment
Beszel AgentResource monitoring — reports to the Beszel hub on Proxmox-1
Portainer AgentRemote management

Zaibatsui App Server

IP 192.168.1.56 · Cluster of custom-built full-stack apps

Standard pattern: frontend + FastAPI backend + MongoDB (exceptions noted).

AppPurposeNotes
Smart Cooking SyncRecipe / meal-sync APIFRONTEND UNHEALTHY
ServerDashNetwork / uptime monitoring — internally "Netset Server Dashboard"Checks endpoints ~every minute; email alerts via IONOS SMTP; Google OAuth login — likely used for a client/business named Netset
Proxmox AI AssistantAI-assisted Proxmox host managementJWT-secured admin tool; OpenAI API key slot currently empty
Gaming RotaGaming-session scheduler with Discord botFile-backed data folder rather than a database
Design WorkshopDesign / page-building tool — internally "modular-pages"Runs Playwright (headless browser automation, likely for rendering / exporting pages); Google OAuth login
Portainer AgentRemote management

Zaibatsui Tower

IP 192.168.1.69 · Unraid NAS & media server — LincPlus LincStation N2, 10GbE

The *arr stack runs in host-networking mode; all media tools read from and write to Unraid's /mnt/user share.

*arr stack & downloaders

ServicePurposeNotes
SonarrTV show automation
RadarrMovie automation
ReadarrBooks & audiobooks automation— (present in live audit; not in architecture doc)
ProwlarrShared indexer manager for all three
SABnzbdUsenet downloader
qBittorrentTorrent clientDownload folder pointed at the shared media library

Media & other services

ServicePurposeNotes
PlexMedia streaming server
CalibreEbook library / serverGPU-accelerated remote-desktop-style web UI (present in live audit; not in architecture doc)
Immich (2nd instance)Photo backupPort 8085; server + machine-learning + own PostgreSQL + Redis — independent of the Sara-VM instance
Beszel AgentServer monitoring
WatchtowerAuto image updates
Portainer AgentRemote management

VM

Proxmox Backup Server — backup target for the Proxmox nodes (PBS datastore on Unraid).

NAS shares

backups, config, domains, downloads, isos, media, PBS (NFS & SMB), SaraVM (NFS & SMB), scratch, system, Z-Drive (NFS & SMB).

Offline Environments

Five environments are currently unreachable ("no route to host"). Details below combine Portainer's last cached stats with the architecture document.

EnvironmentIPCached statsRole
HP ProLiant MicroServer192.168.1.704 stacks, 4 containers, 5 images, 2 volumesUnknown — not covered by the architecture document
Observa Server192.168.1.1351 stack, 8 containers, 8 images, 6 volumesObservability stack (Grafana/Prometheus-style, unconfirmed) — matches the "monitoring stack (planned)" in the architecture doc
Ollama Server192.168.1.2491 stack, 3 containers, 7 images, 33.7 GB RAM allocatedLocal LLM inference — confirmed as an Ollama VM on Proxmox-1
Proxmox-2 Docker CT192.168.1.630 stacks, 1 container, 1 image, 1 volumeDocker agent only — Proxmox-2 is a future cluster node
Proxmox-3 Docker CT192.168.1.1711 container, 1 image, 1 volumeDocker agent only — Proxmox-3 is a future cluster node

Networking

ElementDetail
Core routerUbiquiti UniFi Dream Machine Max Gateway
WirelessUbiquiti U6 Mesh (main network) + ASUS WiFi AP (homelab only)
VLANsLAN, IoT, Lab (planned)
Reverse proxyNginx Proxy Manager on the Proxmox-1 host (192.168.1.218)
DNS filteringPi-hole on Raspberry Pi 3B
Remote accessTailscale VM on Proxmox-1

Key IPs

HostIPNotes
Proxmox-1 host / NPM192.168.1.218
Docker VM (Proxmox-1 Docker CT)192.168.1.154
OMV NAS VM192.168.1.150NOT ACTIVE
getAMP VM192.168.2.10Note: on the 192.168.2.x subnet

Storage & Backup

ElementDetail
Z-DriveCIFS share from Unraid, mounted on Proxmox at /mnt/pve/Z-Drive; a reset script handles CIFS remounting
Local poolsSSD / NVMe pools on each Proxmox node
Backup targetProxmox Backup Server (VM on Unraid Tower, PBS datastore share) — PBS → Unraid strategy
SABRENT 4-bay dockVia the OMV NAS VM — NOT ACTIVE
Photo storageSara-VM Immich uploads on dedicated /mnt/SaraImages; SaraVM share on Unraid (NFS & SMB)

Maintenance approach: regular Proxmox/VM updates; container updates via Watchtower; monitoring stack via Docker/Portainer (planned — likely the Observa Server).

External Devices

DeviceRole
Raspberry Pi 4Home Assistant (smart home automation)
Raspberry Pi 3BPi-hole (DNS filtering)
Raspberry Pi 3BOctoPi (3D printer control)
UniFi Dream Machine MaxCore router / gateway
ASUS WiFi APHomelab-only wireless
Ubiquiti U6 MeshMain network wireless

Domains & External Endpoints

DomainServiceHost
n8n.zaibatsui.co.ukn8n public webhook URLn8n Server
sara-image.zaibatsui.co.ukImmich (CORS-configured)Sara-VM
agirlandherappetite.comGhost blog (AGAHA)Sara-VM
tipi.localRuntipi (local, via Traefik)Tipi Server

Public routing terminates at Nginx Proxy Manager on the Proxmox-1 host (192.168.1.218), which holds the Let's Encrypt certificates.

Cross-Cutting Services

ServiceDeployed on
Portainer AgentAll remote environments (managed from Proxmox-1)
WatchtowerProxmox-1 (daily), n8n Server, Zaibatsui Tower
BeszelHub on Proxmox-1; agents on Tipi Server and Zaibatsui Tower
HomarrProxmox-1 (running), Sara-VM (stopped)
ImmichSara-VM, Zaibatsui Tower — two independent instances, each with own Postgres + Redis
MongoDBGame Manager Server (×3), Zaibatsui App Server (per-app)
FastAPI backendsGame Manager Server, Zaibatsui App Server (standard custom-app pattern)

Known Issues / To-Do

  • Secrets hygiene: several apps have plaintext passwords, API keys and OAuth secrets in environment variables — consider Docker secrets or an env-file / vault approach
  • Smart Cooking Sync frontend is unhealthy (Zaibatsui App Server) — investigate
  • 5 environments offline — restore connectivity and re-audit: HP ProLiant MicroServer, Observa Server, Ollama Server, Proxmox-2, Proxmox-3
  • Proxmox AI Assistant has an empty OpenAI API key slot — populate or decommission
  • Stopped containers to review: game-picker & game-picker-fury (Proxmox-1), Homarr (Sara-VM), game-manager-999 (Game Manager Server)
  • Two separate Immich instances (Sara-VM + Zaibatsui Tower) — confirm both intentional or consolidate
  • Confirm whether Penpot on Proxmox-1 Docker CT was intentionally removed (listed in the architecture doc, absent from the live audit)

Future plans (from architecture doc)

  • Expand the Proxmox cluster with Proxmox-2 (and Proxmox-3)
  • Finalize NAS choice: OMV vs ZFS vs Unraid; decide fate of the SABRENT dock + OMV VM
  • Improve WiFi coverage with U6 Mesh
  • Add GPU passthrough (GTX 980 eGPU / RTX 4080 PC)
  • Automation and observability improvements (monitoring stack via Docker/Portainer — likely Observa)
  • Roll out planned VLAN segmentation: LAN / IoT / Lab