diff --git a/00_index.md b/00_index.md new file mode 100644 index 0000000..b14063d --- /dev/null +++ b/00_index.md @@ -0,0 +1,146 @@ +# 00 โ€” Master Index +> Last updated: 2026-06-10 +> Quick-reference card for Claude. Read this first, then load specific files only as needed. + +--- + +## ๐Ÿ  Infrastructure Constants + +| Key | Value | +|---|---| +| **Proxmox host** | `192.168.1.48:8006` | +| **Gateway** | `192.168.1.1` | +| **Public IP** | `178.41.205.8` (dynamic โ€” managed by CT 108) | +| **NAS** | `192.168.1.12` (Synology) | +| **Domain** | `spendlik.sk` | +| **Gitea owner** | `spendlik` | +| **MCP server** | `mcp.spendlik.sk` (CT 112) | +| **Proxmox kernel** | `6.14.11-5-pve` (6.17.x breaks NVIDIA 550 DKMS) | + +--- + +## ๐Ÿ–ฅ๏ธ Container & VM Inventory + +| ID | Hostname | IP | Domain | Purpose | +|---|---|---|---|---| +| 100 | n8n | 192.168.1.29 | automation.spendlik.sk | Workflow automation (Authelia protected) | +| 101 | reverse-proxy | 192.168.1.10 | โ€” | nginx reverse proxy for all services | +| 102 | authelia | 192.168.1.50 | auth.spendlik.sk | SSO / 2FA gateway | +| 103 | matrix-synapse | 192.168.1.60 | matrix.spendlik.sk | Self-hosted messaging | +| 104 | snappymail | 192.168.1.55 | email.spendlik.sk | Webmail (Authelia protected) | +| 105 | audiobookshelf | 192.168.1.70 | books.spendlik.sk | Ebooks / audiobooks (NAS bind mount) | +| 106 | jellyfin | 192.168.1.75 | jellyfin.spendlik.sk | Media server (NAS NFS mount) | +| 107 | wireguard | 192.168.1.80 | โ€” | VPN (UDP 51820) | +| 108 | ddns | 192.168.1.95 | โ€” | DDNS updater (WebSupport API v2) | +| 109 | gitea | 192.168.1.90 | git.spendlik.sk | Self-hosted Git | +| 110 | windows11 (VM) | 192.168.1.227 | โ€” | RTX 4060 passthrough, Rhino 7 + Sunshine | +| 111 | paperless | โ€” | paperless.spendlik.sk | Document management (6-lang OCR) | +| 112 | mcp-server | โ€” | mcp.spendlik.sk | MCP bridge โ€” Proxmox + Gitea tools for Claude | +| 114 | *(unassigned)* | โ€” | โ€” | Planned: Vaultwarden or BAMbuddy | + +> Next available CT ID: **114** ยท Next available IP: **192.168.1.1xx** (check before assigning) +> CT 113 was removed (AppFlowy โ†’ replaced by Obsidian) + +--- + +## ๐Ÿ’ป Devices + +| Device | OS | Key Detail | +|---|---|---| +| Main PC | CachyOS (Arch), KDE Plasma 6 / Wayland | i7-13700K, RTX 4060 Ti, 32GB DDR5 | +| Galaxy S25 | Android | WireGuard VPN client; MGit for Obsidian sync | +| Galaxy Tab S9 | Android | MGit for Obsidian sync | +| Bambu A1 + AMS Lite | โ€” | LAN Only Mode, OrcaSlicer | + +--- + +## ๐Ÿ“ Documentation Map + +| File | Covers | +|---|---| +| `homelab-overview.md` | Hardware specs, full container/VM table, NAS mounts, network diagram | +| `cachy-overview.md` | CachyOS main PC โ€” hardware, software, kernel, services | +| `01_hardware_and_software.md` | Proxmox server hardware | +| `02_linux_containers_and_virtual_machines.md` | Container configs, resources, notes | +| `03_network_setup.md` | DNS records, WebSupport IDs, DDNS, port forwarding | +| `04_audiobookshelf_deployment.md` | CT 105 โ€” full deploy guide, NAS mount, troubleshooting | +| `05_jellyfin_deployment.md` | CT 106 โ€” full deploy guide, NFS, transcoding notes | +| `06_wireguard_deployment.md` | CT 107 โ€” VPN config, client setup, keys | +| `09_gpu_setup.md` | RTX 4060 passthrough, VFIO, kernel 6.14 pin, Sunshine | +| `10_ddns_deployment.md` | CT 108 โ€” WebSupport API v2, HMAC-SHA1 auth, record IDs | +| `11_gitea_deployment.md` | CT 109 โ€” Gitea binary install, nginx, SSL | +| `homelab-goals.md` | Roadmap and long-term infrastructure goals | + +> ๐Ÿ’ก Load only the file(s) relevant to the current task. Do not load all files by default. + +--- + +## ๐Ÿ”‘ Key Gotchas (load before touching these areas) + +| Area | Warning | +|---|---| +| **nginx / certbot** | Certbot corrupts configs โ€” always inspect after cert issuance; check for duplicate `server_name` and missing closing braces | +| **NFS mounts** | Use `soft,timeo=30,retrans=3` โ€” hard NFS can freeze Proxmox host | +| **DDNS script** | `/tmp/ddns_last_ip` cache; reboot clears it fine โ€” but stale cache can miss IP change | +| **WebSupport DNS** | Two separate management pages โ€” missing the second caused an outage; update both | +| **Gitea writes** | Always read file content before writing โ€” writes replace entire file | +| **Proxmox kernel** | Stay on `6.14.11-5-pve` โ€” 6.17.x breaks NVIDIA 550 DKMS | +| **OpenRGB** | Uninstalled โ€” SMBus interaction with ADATA XPG GAMMIX D35 poses hardware risk | +| **Hairpin NAT** | Slovak Telekom router blocks hairpin โ€” test external domains from mobile data, not LAN | +| **WebSupport API** | Uses numeric service ID `15056760`, not domain name; HMAC-SHA1 signed requests | + +--- + +## ๐Ÿ”„ Active Projects (as of 2026-06-10) + +| Project | Next Action | Reference | +|---|---|---| +| Paperless-ngx consume | Diagnose why 506 PDFs not processed overnight | CT 111 | +| Gemini post-processing | Get Gemini API key โ†’ install Python package in CT 111 | CT 111 | +| kocka-novinky.sk automation | Set up Brickset API credentials in n8n | CT 100 | +| WireGuard DDNS | Add `vpn.spendlik.sk` DNS record + update CT 108 script | CT 107/108 | +| Vaultwarden | Decide CT ID and IP โ†’ deploy Docker LXC | CT 114 (planned) | +| Bookmark manager | Decide tool (Linkding / Hoarder / Shiori) โ†’ deploy | CT 114 (planned) | +| BAMbuddy | Check Bambu A1 Developer Mode โ†’ deploy | CT 114 (planned) | +| Authelia enforcement | Extend 2FA to Jellyfin, Audiobookshelf, Gitea | CT 102/101 | +| Spendlikpapermodels redesign | Set up /dev subdomain on WebSupport | WebSupport | + +> Full task list: `obsidian-vault/Tasks.md` + +--- + +## ๐Ÿง  Life OS โ€” Obsidian Vault Structure + +| Folder | Purpose | +|---|---| +| `00 Inbox` | Capture everything first | +| `01 Goals` | Long-term goals | +| `02 Projects` | Active projects (each has its own `.md`) | +| `03 Areas` | Ongoing responsibilities (Homelab, Main PC, Personal Admin) | +| `04 Daily Notes` | Daily log | +| `05 Resources` | Reference material | +| `06 Archive` | Completed/inactive items | +| `Tasks.md` | Master task dashboard (hand-curated) | + +**Sync**: Obsidian Git plugin on PC โ†’ Gitea `spendlik/obsidian-vault`; MGit on Android + +--- + +## ๐Ÿ› ๏ธ Automation Stack + +| Layer | Tool | Location | +|---|---|---| +| Scheduling / plumbing | n8n | CT 100 / automation.spendlik.sk | +| AI content generation | Claude API (claude-sonnet) | via n8n HTTP node | +| Notifications | Matrix (automation alerts) | CT 103 | +| DNS management | WebSupport REST API v2 | CT 108 | +| Affiliate site | WordPress on WebSupport hosting | kocka-novinky.sk | + +--- + +## ๐Ÿ—ƒ๏ธ Gitea Repositories + +| Repo | Visibility | Purpose | +|---|---|---| +| `Claude_Homelab` | Public | Infrastructure docs, deploy guides, this index | +| `obsidian-vault` | Private | Life OS / second brain |