5.7 KiB
Homelab Overview
Last updated: 2026-08-10
Hardware
| Property | Value |
|---|---|
| CPU | AMD Ryzen 7 5700G (8 cores / 16 threads) |
| RAM | 32 GB DDR4 |
| Root Disk | ~94 GB (47.9 GB used / 52.9 GB free) |
| Architecture | x86_64 |
| Virtualization | AMD-V (HVM enabled) |
| Boot Mode | EFI |
Software
| Property | Value |
|---|---|
| Hypervisor | Proxmox VE 9.1.4 |
| Kernel | Linux 6.14.11-5-pve (SMP PREEMPT_DYNAMIC) |
| Swap | 8 GB (133 MB used) |
LXC Containers
All containers are currently running.
| ID | Name | CPUs | RAM Alloc | Disk Alloc | Tags |
|---|---|---|---|---|---|
| 100 | n8n | 2 | 2 GB | 9.7 GB | automation |
| 101 | reverse-proxy | 1 | 512 MB | 7.8 GB | network |
| 102 | authelia | 1 | 512 MB | 7.8 GB | authentication, network |
| 103 | matrix-synapse | 2 | 2 GB | 19.5 GB | communication, messaging |
| 104 | snappymail | 1 | 512 MB | 3.9 GB | email, webserver |
| 105 | audiobookshelf | 2 | 1 GB | 15.6 GB | ebooks, comics |
| 106 | jellyfin | 4 | 2 GB | 19.5 GB | movies |
| 107 | wireguard | 1 | 256 MB | 7.8 GB | network |
| 108 | ddns | 1 | 128 MB | 3.9 GB | network |
| 109 | gitea | 1 | 512 MB | 7.8 GB | development |
| 111 | paperless | 2 | 2 GB | 19.5 GB | documents |
| 112 | mcp-server | 1 | 512 MB | 7.8 GB | ai |
Container Notes
- n8n — Workflow automation platform, tagged as community-script
- reverse-proxy — Handles all inbound traffic routing (high net I/O)
- authelia — SSO / two-factor authentication gateway
- matrix-synapse — Self-hosted Matrix homeserver for messaging
- snappymail — Lightweight webmail client (PHP/webserver stack)
- audiobookshelf — Audiobook and ebook server
- jellyfin — Media server (highest RAM consumer among LXCs at ~2 GB allocated)
- wireguard — VPN server
- ddns — Dynamic DNS updater
- gitea — Self-hosted Git service (this repo lives here)
- paperless — Paperless-ngx document management for ~500 modelling magazines. Consume/export via NAS mount. OCR in slk, ces, rus, hun, deu, eng.
- mcp-server — MCP server exposing Proxmox and Gitea tools to Claude AI
Virtual Machines
| ID | Name | CPUs | RAM Alloc | Disk Alloc | Status |
|---|---|---|---|---|---|
| 110 | windows11 | 4 | 8 GB | 120 GB | Running |
NAS Storage Mounts
| Container | NAS Path | Mount Point | Method |
|---|---|---|---|
| audiobookshelf (105) | /volume1/proxmox/data/ebooks |
/mnt/ebooks |
Proxmox bind mount |
| jellyfin (106) | /volume1/video |
/mnt/video |
fstab NFS + bind mount |
| paperless (111) | /volume1/proxmox/data/paperless |
/mnt/paperless |
Proxmox bind mount |
Network Architecture
Internet
│
▼
[DDNS] ──► dynamic DNS updates
│
▼
[Reverse Proxy (101)] ──► routes traffic to all services
│
├──► [Authelia (102)] — authentication layer
├──► [Jellyfin (106)] — media
├──► [Audiobookshelf (105)] — ebooks/audiobooks
├──► [Matrix Synapse (103)] — messaging
├──► [Snappymail (104)] — webmail
├──► [Gitea (109)] — git
├──► [n8n (100)] — automation
├──► [Paperless (111)] — document management
└──► [MCP Server (112)] — Claude AI integration
[WireGuard (107)] — VPN access to homelab
DNS architecture (updated 2026-08-10)
All spendlik.sk subdomains are CNAME records pointing at the root: *.spendlik.sk, git, mcp, vault, automation, matrix, email, auth, books, jellyfin, paperless → CNAME → spendlik.sk
Only spendlik.sk (record id 12631197, A record) holds an IP. ddns-update.sh on CT 108 updates only this record on IP change; CNAMEs resolve through automatically.
Do NOT add per-subdomain A records — WebSupport rejects duplicate IP values zone-wide (see 00_index.md gotchas).
Backup Policy (updated 2026-08-10)
Backup storage: spendlik-nas (Proxmox storage ID, NFS-backed on NAS 192.168.1.12).
Three separate backup jobs configured under Datacenter → Backup:
| Job | Selection | Schedule | Retention | Notes |
|---|---|---|---|---|
| Nightly LXC | All except 110, 111 | Daily 23:59 | keep-last=30 |
Unchanged — original policy |
| Weekly VM | 110 (windows11) only | Sun 01:00 | keep-last=2 (was 3) |
VM 110 only used for Rhino work; project files live on Google Drive, so backup is a safety net, not primary storage. Reduced from 3 → 2 on 2026-08-10 to reclaim ~56GB. |
| Weekly Paperless | 111 (paperless) only | Sun 01:00 | keep-last=2 |
Carved out from nightly job on 2026-08-10 — was accumulating up to 30 nightly copies at ~28GB actual disk each, the single largest contributor to NAS backup growth. |
Pruning: keep-last on a job only affects future runs. To reclaim space from existing backups immediately, run manually:
pvesm prune-backups spendlik-nas --keep-last <N> --vmid <vmid> --type <qemu|lxc> --dry-run
Always dry-run first, then re-run without --dry-run to execute.
⚠️ There's a gap in nightly LXC backup history from 2026-07-30 to 2026-08-03 — coincides with the pveproxy/NFS crash on 2026-07-28 (see 00_index.md gotchas). Not a fault, just a known missed window.
Claude AI Integration
The mcp-server container (ID 112) exposes a Model Context Protocol (MCP) server at mcp.spendlik.sk, providing Claude with tools to:
- List, start, and stop Proxmox containers and VMs
- Read node resource usage
- Browse and edit Gitea repositories
This Claude_Homelab Gitea repository serves as a persistent knowledge base for Claude, storing homelab documentation, project context, and configuration references used across Claude Project sessions.