Skip to content

Homelab Expansion Ideas — Service & Project Recommendations

Date: 2026-02-24 Updated: 2026-03-10 Context: Proxmox host (N150, 9GB Docker VM), NAS (i3-3220T, 8GB), VPS (Vultr), OPNsense firewall. Originally 18 services, now 41+ active. Research from r/homelab, r/selfhosted, ServeTheHome, TechnoTim, Jeff Geerling.

Deployment status: 7 of 9 recommended services deployed. Remaining: CrowdSec (OPNsense), n8n.


Current Stack (18 Active Services)

# Service Host Category
1 Headscale VPS Networking
2 Caddy (VPS) VPS Networking
3 Uptime Kuma VPS Monitoring
4 ntfy VPS Notifications
5 changedetection.io VPS Automation
6 Restic REST (VPS) VPS Backup
7 Pi-hole Docker VM Networking
8 Caddy (Fixed) Docker VM Networking
9 Vaultwarden Docker VM Security
10 Frigate Docker VM Security
11 Mosquitto Docker VM Automation
12 Home Assistant Docker VM Automation
13 Watchtower Docker VM Maintenance
14 Glances NAS Monitoring
15 Forgejo NAS Git
16 Restic REST (NAS) NAS Backup
17 Samba NAS Storage
18 Syncthing NAS Storage

Plus 4 backup sidecars (headscale-backup, vaultwarden-backup, homeassistant-backup, Restic VPS).


Tier 1 — Quick Wins (High Value, Easy Effort)

Homepage Dashboard — DEPLOYED

  • What: Single pane of glass for all services with live status widgets, Docker auto-discovery
  • Where: Docker VM (Mbyja, mbyja.cronova.dev, behind Authelia)

Dozzle (Docker Log Viewer) — DEPLOYED

  • What: Real-time Docker log streaming across all hosts from one web UI
  • Where: Docker VM (Ysyry, ysyry.cronova.dev, behind Authelia)

BentoPDF (PDF Toolkit) — DEPLOYED (replaced Stirling-PDF)

  • What: Client-side WASM PDF manipulation (merge, split, convert). Replaced Stirling-PDF (Java/Spring Boot, 85% idle CPU, ~500MB RAM) with BentoPDF (0% CPU, ~4MB RAM)
  • Where: Docker VM (Kuatia, kuatia.cronova.dev, behind Authelia)

Tier 2 — Evening Projects (High Value, Medium Effort)

Authelia (Single Sign-On + 2FA) — DEPLOYED

  • What: Authentication server with TOTP 2FA via Caddy forward_auth
  • Where: Docker VM (Okẽ, auth.cronova.dev). Protects: Yrasema, Ysyry, Kuatia, Mbyja, Papa, Aranduka. TOTP via Authy, filesystem notifier.

CrowdSec on OPNsense (Collaborative IPS)

  • What: Crowd-sourced intrusion prevention. Blocks malicious IPs locally and shares intelligence with global network. Native OPNsense plugin
  • Why: Protects exposed services (Caddy, Headscale). 60x faster than Fail2Ban (Go vs Python). Installs via OPNsense firmware UI, creates floating firewall rules automatically
  • Resources: ~100MB RAM on OPNsense VM
  • Where: OPNsense VM
  • Time: 1 hour
  • Links: CrowdSec Docs, HomeNetworkGuy

VictoriaMetrics + Grafana (Metrics & Dashboards) — DEPLOYED

  • What: Lightweight Prometheus alternative + Grafana visualization
  • Where: Docker VM (Papa, papa.cronova.dev, behind Authelia). Scrapes Docker VM + NAS + HA. 90-day retention.

Tier 3 — Weekend Projects (High Value, More Effort)

Immich (Self-Hosted Google Photos) — DEPLOYED

  • What: Full Google Photos replacement with mobile apps, ML face recognition, smart search
  • Where: Docker VM (Vera, vera.cronova.dev, own auth). 4 containers: server, ML, Valkey, PostgreSQL.

Paperless-ngx (Document Management) — DEPLOYED

  • What: Document scanning, OCR, tagging, full-text search
  • Where: Docker VM (Aranduka, aranduka.cronova.dev, behind Authelia). 3 containers: server, PostgreSQL, Redis.

n8n (Workflow Automation)

  • What: Self-hosted Zapier/IFTTT with 200+ integrations, visual workflow builder, SSH/HTTP/cron/MQTT support
  • Why: Glue that connects everything. Use cases: SMART disk health monitoring, backup verification alerts, Watchtower daily digest, Frigate snapshot enrichment, Docker container health alerts
  • Resources: ~200MB RAM (needs PostgreSQL for production)
  • Where: Docker VM
  • Time: 2-3 hours
  • Links: TechnoTim, n8n + Ollama

OPNsense Security Projects

Suricata IDS/IPS

  • What: Deep packet inspection already built into OPNsense — just enable and configure
  • Why: Combined with CrowdSec (perimeter blocklist) + Suricata (deep inspection) = proper security stack
  • Resources: 200-500MB RAM depending on rulesets (may need OPNsense VM RAM bump)
  • Links: OPNsense IPS Docs

GeoIP Blocking

  • What: Block traffic from countries with no legitimate business using OPNsense's built-in GeoIP alias feature
  • Why: Eliminates huge percentage of brute-force and scanning traffic on WAN inbound

VLAN Hardening

  • What: Strict inter-VLAN rules — IOT only reaches MQTT+NTP, Guest gets internet only, Cameras only reach Frigate
  • Why: Proper segmentation means compromised IoT device can't reach NAS or Vaultwarden

DNS-over-TLS

  • What: Encrypt upstream DNS queries (Cloudflare/Quad9) via OPNsense Unbound
  • Why: Prevents ISP from snooping on DNS queries

Creative HA Automations

Zone-Based Security Modes

Everyone leaves → Frigate "away mode" (all cameras aggressive, indoor active). Someone home → perimeter only, indoor off. Uses HA Companion App presence tracking.

Frigate Vision Blueprint

LLM describes what camera sees: "Delivery driver placing package on porch" instead of generic "person detected." Supports cooldowns and multi-camera logic.

Daily Time-Lapse

Cron collects Frigate snapshots at regular intervals → stitch into daily time-lapse video → save to Jellyfin library or Syncthing folder.

Actionable ntfy Notifications

Frigate detects person → ntfy notification with action buttons: "View Camera," "Unlock Door," "Turn On Porch Light." Tapping triggers HA automation.


What NOT to Deploy

Service Why Not
Nextcloud Resource hog (500MB+ min), Syncthing + Samba already covers file sync/sharing
Ollama / Local LLM N150 has no GPU, CPU inference painfully slow
GitLab 4GB+ RAM, Forgejo covers your needs perfectly
Kubernetes / K3s Overkill for 15-20 containers across 3 hosts
Portainer CLI-first with lazydocker, adds little value at ~200MB RAM
Plex Already have Jellyfin
Zenarmor Free tier limited, Suricata + CrowdSec gives better coverage at zero cost

RAM Budget

Docker VM (9GB total, ~5GB used)

Service RAM Status
Homepage 30MB Deployed
Dozzle 15MB Deployed
BentoPDF ~4MB Deployed (replaced Stirling-PDF)
Authelia 30MB Deployed
VictoriaMetrics + Grafana 150MB Deployed
Paperless-ngx 400MB Deployed
n8n 200MB Pending
Total deployed ~629MB

NAS (8GB total, ~3GB used)

Service RAM
Immich 750MB
Total ~750MB

Both well within capacity.


# Service Where Status
1 Homepage (Mbyja) Docker VM Deployed
2 Dozzle (Ysyry) Docker VM Deployed
3 CrowdSec OPNsense Pending
4 BentoPDF (Kuatia) Docker VM Deployed (replaced Stirling-PDF)
5 Authelia (Okẽ) Docker VM Deployed
6 VictoriaMetrics + Grafana (Papa) Docker VM Deployed
7 Immich (Vera) Docker VM Deployed
8 Paperless-ngx (Aranduka) Docker VM Deployed
9 n8n (Pytyvõ) Docker VM Pending

Hardware Projects

Raspberry Pi Zero W — PicoClaw

Status: Research needed Hardware: Dormant Raspberry Pi Zero W (found 2026-03-17)

Explore PicoClaw as a lightweight AI assistant on the Pi Zero W. Research feasibility given the Zero W's limited specs (1GHz single-core, 512MB RAM, WiFi).


Sources