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
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)
| Component | Spec |
| CPU | Intel Core i9-12900H |
| GPU | Intel Iris Xe Graphics (up to 1.5 GHz) |
| RAM | 96 GB dual-channel DDR5-5200 |
| Storage | 3× 2 TB M.2 2280 SSD |
| Connectivity | Dual USB4 (40 Gbps), dual 2.5G RJ45, WiFi 6, Bluetooth 5.2 |
Proxmox-2 — Minisforum MS-01 (secondary server)
| Component | Spec |
| CPU / GPU / RAM | Same as Proxmox-1 (i9-12900H, Iris Xe, 96 GB DDR5-5200) |
| Storage | 1× 2 TB M.2 2280 SSD |
| Connectivity | Dual USB4 (40 Gbps), dual 2.5G RJ45, WiFi 6, Bluetooth 5.2 |
Proxmox-3 — Framework board in CoolerMaster case
| Component | Spec |
| CPU | Intel Core i7-1280P |
| RAM | 32 GB DDR4-3200 (2× 16 GB) |
| Storage | 1 TB M.2 |
Zaibatsui Tower — LincPlus LincStation N2 (Unraid NAS)
| Component | Spec |
| CPU | Intel Alder Lake-N N100, 4C/4T, up to 3.4 GHz, 6 W TDP |
| OS | Unraid |
| RAM | 16 GB LPDDR5 (on-board) |
| Storage | 2× 4 TB SSD + 4× 2 TB M.2 |
| Network | 1× RJ45, 10 Gigabit Ethernet |
| Other I/O | USB-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
| Guest | Purpose / contents |
| Proxmox-1 Docker CT | Main 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-VM | Immich + Ghost (192.168.1.23) — see environment section |
| n8n server | Workflow automation (192.168.1.160) |
| Runtipi | Tipi Server environment (192.168.1.66) |
| Ollama | Local LLM inference (192.168.1.249, currently down) |
| getAMP VM | Game servers via AMP: Satisfactory, Factorio, Valheim, Enshrouded (192.168.2.10) |
| CASOS VM | CASOS deployment & management |
| NAS VM — OpenMediaVault | Attached to SABRENT 4-bay dock (192.168.1.150) — NOT ACTIVE |
| Netbox | Network / infrastructure documentation (IPAM/DCIM) |
| Beszel | Monitoring hub the beszel-agents report to |
| FileBrowser Quantum | File management |
| Tailscale | Mesh VPN / remote access |
| SaraBackup | Backup guest for Sara-VM data |
| Desktop guests | Mint, 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.
| Instance | Ports | Status | Likely purpose |
| game-manager-1 | 7550 / 7551 | RUNNING | Production (primary — BGG API auth) |
| game-manager-500 | 7565 / 7566 | RUNNING | Friend / group copy |
| game-manager-999 | — | STOPPED | Test build |
Plus a Portainer agent for remote management.
n8n Server
IP 192.168.1.160 · Workflow automation · VM on Proxmox-1
| Service | Purpose | Notes |
| n8n | Workflow-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 |
| Watchtower | Auto image updates | — |
| Portainer Agent | Remote management | — |
Proxmox-1 Docker CT
IP 192.168.1.154 · Main Docker host (LXC on Proxmox-1 / MS-01) — Portainer itself runs here
Stacks
| Service | Purpose | Ports / dependencies / notes |
| Blinko | Self-hosted note / bookmark app | Built from its GitHub repo; own PostgreSQL |
| ConvertX | Web file-format converter | Port 3000 |
| Fileshaper | Custom Python file-handling tool | Port 5000 |
| game-picker | Custom random game picker (Node.js) | STOPPED — static files + small data folder |
| game-picker-fury | Custom random game picker (Node.js) | STOPPED — static files + small data folder |
| Joplin Server | Sync backend for Joplin notes | Port 22300; own PostgreSQL |
| Mealie | Recipe manager & meal planner | Port 9925 |
| Tesseract / OCRmyPDF | Long-running OCR helper | Idle; pointed at Nextcloud "recipes" folder |
| FlareSolverr | Cloudflare-challenge bypass proxy | Part of a small externally-deployed compose project |
| Nextcloud | File sync & sharing | Port 8765; cron container for thumbnail pre-generation; MariaDB + Redis; bind-mounted under /mnt/nextcloud_* |
| homelab-wiki | This wiki (nginx:alpine) | Port 8090; page embedded in stack definition |
Standalone containers
| Service | Purpose | Notes |
| Portainer | Container management UI for all environments | Data volume + Docker socket access |
| Watchtower | Automatic image updates | Runs daily |
| Homarr | Dashboard / launcher | SQLite-backed; Docker socket access for container status |
| Stirling-PDF | Full PDF toolkit | — |
| Uptime Kuma | Uptime / status monitoring | — |
| IT-Tools | Small 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
| Service | Purpose | Notes |
| Nginx Proxy Manager | Reverse proxy with UI for domains & SSL certs | Ports 80, 81 (admin), 443; config and Let's Encrypt certs bind-mounted to host |
| Portainer Agent | Remote 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)
| Service | Purpose | Notes |
| Immich | Google-Photos-style backup with AI photo search | Vector-enabled PostgreSQL + Redis; uploads on dedicated /mnt/SaraImages mount; CORS configured for sara-image.zaibatsui.co.uk |
| Ghost | Blogging platform | Runs agirlandherappetite.com (AGAHA); own MySQL; Gmail SMTP for outgoing mail (notifications / newsletters) |
| Homarr | Dashboard | STOPPED |
| Portainer Agent | Remote management | — |
Tipi Server
IP 192.168.1.66 · VM on Proxmox-1 · Runtipi self-hosted app-store platform
| Service | Purpose | Notes |
| Runtipi | Self-hosted "app store" homeserver platform | Wired with generated internal passwords |
| Traefik | Reverse proxy backing Runtipi | Routes a configured domain plus local tipi.local |
| RabbitMQ | Message queue backing Runtipi | — |
| PostgreSQL | Database backing Runtipi | — |
| code-server | VS Code in the browser | Installed through Runtipi's app store (runtipi.managed label), not a separate deployment |
| Beszel Agent | Resource monitoring — reports to the Beszel hub on Proxmox-1 | — |
| Portainer Agent | Remote management | — |
Zaibatsui App Server
IP 192.168.1.56 · Cluster of custom-built full-stack apps
Standard pattern: frontend + FastAPI backend + MongoDB (exceptions noted).
| App | Purpose | Notes |
| Smart Cooking Sync | Recipe / meal-sync API | FRONTEND UNHEALTHY |
| ServerDash | Network / 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 Assistant | AI-assisted Proxmox host management | JWT-secured admin tool; OpenAI API key slot currently empty |
| Gaming Rota | Gaming-session scheduler with Discord bot | File-backed data folder rather than a database |
| Design Workshop | Design / page-building tool — internally "modular-pages" | Runs Playwright (headless browser automation, likely for rendering / exporting pages); Google OAuth login |
| Portainer Agent | Remote 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
| Service | Purpose | Notes |
| Sonarr | TV show automation | — |
| Radarr | Movie automation | — |
| Readarr | Books & audiobooks automation | — (present in live audit; not in architecture doc) |
| Prowlarr | Shared indexer manager for all three | — |
| SABnzbd | Usenet downloader | — |
| qBittorrent | Torrent client | Download folder pointed at the shared media library |
Media & other services
| Service | Purpose | Notes |
| Plex | Media streaming server | — |
| Calibre | Ebook library / server | GPU-accelerated remote-desktop-style web UI (present in live audit; not in architecture doc) |
| Immich (2nd instance) | Photo backup | Port 8085; server + machine-learning + own PostgreSQL + Redis — independent of the Sara-VM instance |
| Beszel Agent | Server monitoring | — |
| Watchtower | Auto image updates | — |
| Portainer Agent | Remote 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.
| Environment | IP | Cached stats | Role |
| HP ProLiant MicroServer | 192.168.1.70 | 4 stacks, 4 containers, 5 images, 2 volumes | Unknown — not covered by the architecture document |
| Observa Server | 192.168.1.135 | 1 stack, 8 containers, 8 images, 6 volumes | Observability stack (Grafana/Prometheus-style, unconfirmed) — matches the "monitoring stack (planned)" in the architecture doc |
| Ollama Server | 192.168.1.249 | 1 stack, 3 containers, 7 images, 33.7 GB RAM allocated | Local LLM inference — confirmed as an Ollama VM on Proxmox-1 |
| Proxmox-2 Docker CT | 192.168.1.63 | 0 stacks, 1 container, 1 image, 1 volume | Docker agent only — Proxmox-2 is a future cluster node |
| Proxmox-3 Docker CT | 192.168.1.171 | 1 container, 1 image, 1 volume | Docker agent only — Proxmox-3 is a future cluster node |
Networking
| Element | Detail |
| Core router | Ubiquiti UniFi Dream Machine Max Gateway |
| Wireless | Ubiquiti U6 Mesh (main network) + ASUS WiFi AP (homelab only) |
| VLANs | LAN, IoT, Lab (planned) |
| Reverse proxy | Nginx Proxy Manager on the Proxmox-1 host (192.168.1.218) |
| DNS filtering | Pi-hole on Raspberry Pi 3B |
| Remote access | Tailscale VM on Proxmox-1 |
Key IPs
| Host | IP | Notes |
| Proxmox-1 host / NPM | 192.168.1.218 | — |
| Docker VM (Proxmox-1 Docker CT) | 192.168.1.154 | — |
| OMV NAS VM | 192.168.1.150 | NOT ACTIVE |
| getAMP VM | 192.168.2.10 | Note: on the 192.168.2.x subnet |
Storage & Backup
| Element | Detail |
| Z-Drive | CIFS share from Unraid, mounted on Proxmox at /mnt/pve/Z-Drive; a reset script handles CIFS remounting |
| Local pools | SSD / NVMe pools on each Proxmox node |
| Backup target | Proxmox Backup Server (VM on Unraid Tower, PBS datastore share) — PBS → Unraid strategy |
| SABRENT 4-bay dock | Via the OMV NAS VM — NOT ACTIVE |
| Photo storage | Sara-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
| Device | Role |
| Raspberry Pi 4 | Home Assistant (smart home automation) |
| Raspberry Pi 3B | Pi-hole (DNS filtering) |
| Raspberry Pi 3B | OctoPi (3D printer control) |
| UniFi Dream Machine Max | Core router / gateway |
| ASUS WiFi AP | Homelab-only wireless |
| Ubiquiti U6 Mesh | Main network wireless |
Domains & External Endpoints
| Domain | Service | Host |
n8n.zaibatsui.co.uk | n8n public webhook URL | n8n Server |
sara-image.zaibatsui.co.uk | Immich (CORS-configured) | Sara-VM |
agirlandherappetite.com | Ghost blog (AGAHA) | Sara-VM |
tipi.local | Runtipi (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
| Service | Deployed on |
| Portainer Agent | All remote environments (managed from Proxmox-1) |
| Watchtower | Proxmox-1 (daily), n8n Server, Zaibatsui Tower |
| Beszel | Hub on Proxmox-1; agents on Tipi Server and Zaibatsui Tower |
| Homarr | Proxmox-1 (running), Sara-VM (stopped) |
| Immich | Sara-VM, Zaibatsui Tower — two independent instances, each with own Postgres + Redis |
| MongoDB | Game Manager Server (×3), Zaibatsui App Server (per-app) |
| FastAPI backends | Game 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