From fa731324dc4868582ffb3a9c7a39b236147212ed Mon Sep 17 00:00:00 2001 From: Spendlik Date: Mon, 15 Jun 2026 18:07:06 +0000 Subject: [PATCH] Major index update: add DNS record IDs table, MCP tools list, new gotchas, fix all CT entries --- 00_index.md | 113 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 77 insertions(+), 36 deletions(-) diff --git a/00_index.md b/00_index.md index 24ab54d..1401848 100644 --- a/00_index.md +++ b/00_index.md @@ -1,5 +1,5 @@ # 00 — Master Index -> Last updated: 2026-06-14 +> Last updated: 2026-06-15 > Quick-reference card for Claude. Read this first, then load specific files only as needed. --- @@ -10,12 +10,12 @@ |---|---| | **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) | +| **NAS** | `192.168.1.12` (Synology, spendlikstation.local) | | **Domain** | `spendlik.sk` | +| **WebSupport service ID** | `15056760` | | **Gitea owner** | `spendlik` | -| **MCP server** | `mcp.spendlik.sk` (CT 112) | -| **Proxmox kernel** | `6.14.11-5-pve` PINNED — 6.17.x and 7.0.x break NVIDIA 550 DKMS | +| **MCP server** | `mcp.spendlik.sk` (CT 112, port 3500) | +| **Proxmox kernel** | `6.14.11-5-pve` PINNED — 6.17.x and 7.0.x installed but won't boot | --- @@ -32,15 +32,39 @@ | 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 | 192.168.1.111 | paperless.spendlik.sk | Document management (6-lang OCR, media on NAS) | +| 109 | gitea | 192.168.1.90 | git.spendlik.sk | Self-hosted Git (v1.22.6, code indexer enabled) | +| 110 | windows11 (VM) | 192.168.1.227 | — | RTX 4060 passthrough, Rhino 7 + Sunshine/Moonlight | +| 111 | paperless | 192.168.1.111 | paperless.spendlik.sk | Document management (6-lang OCR, media+data on NAS) | | 112 | mcp-server | 192.168.1.100 | mcp.spendlik.sk | MCP bridge — Proxmox + Gitea tools for Claude | -| 113 | bambuddy | 192.168.1.113 | bambuddy.spendlik.sk | Planned: BAMbuddy (Bambu A1 management) | -| 114 | euro-office | 192.168.1.114 | office.spendlik.sk | Planned: Euro-Office (online office suite, Docker) | +| 113 | *(planned)* | 192.168.1.113 | bambuddy.spendlik.sk | Planned: BAMbuddy (Bambu A1 management) | +| 114 | *(planned)* | 192.168.1.114 | office.spendlik.sk | Planned: Euro-Office (Docker) | | 115 | vaultwarden | 192.168.1.115 | vault.spendlik.sk | Password manager (Vaultwarden, Docker, Bitwarden-compatible) | -> Next available CT ID: **116** · Next available IP: **192.168.1.116** (check before assigning) +> Next available CT ID: **116** · Next available IP: **192.168.1.116** +> CT 113 removed (AppFlowy) — slot reused for BAMbuddy + +--- + +## 🌐 WebSupport DNS Record IDs + +Script location: `/usr/local/bin/ddns-update.sh` in CT 108 + +| Subdomain | Record ID | +|---|---| +| spendlik.sk | 12631197 | +| *.spendlik.sk | 12631200 | +| automation.spendlik.sk | 306256338 | +| matrix.spendlik.sk | 307776273 | +| email.spendlik.sk | 308845857 | +| auth.spendlik.sk | 308994393 | +| books.spendlik.sk | 311013228 | +| jellyfin.spendlik.sk | 311384664 | +| git.spendlik.sk | 323271195 | +| mcp.spendlik.sk | 327475181 | +| paperless.spendlik.sk | 328109687 | +| vault.spendlik.sk | 330343277 | + +> ⚠️ When adding a new subdomain: (1) create A record in WebSupport admin, (2) add to DDNS script with record ID, (3) add nginx vhost in CT 101, (4) run certbot, (5) inspect nginx config after certbot. --- @@ -70,44 +94,47 @@ | `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 | -| `12_euro_office_deployment.md` | CT 114 — Euro-Office Docker deploy, nginx, Authelia, SSL (planned) | +| `12_euro_office_deployment.md` | CT 114 — Euro-Office Docker deploy (planned) | | `13_vaultwarden_deployment.md` | CT 115 — Vaultwarden Docker deploy, 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. +> 💡 Use `gitea_search_content` to find relevant files by keyword instead of guessing filenames. --- -## 🔑 Key Gotchas (load before touching these areas) +## 🔑 Key Gotchas | Area | Warning | |---|---| -| **nginx / certbot** | Certbot corrupts configs — always inspect after cert issuance; check for duplicate `server_name` and missing closing braces | +| **nginx / certbot** | Certbot corrupts configs — always inspect after 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. DNS A record must exist before certbot can verify. | +| **DDNS script** | `/tmp/ddns_last_ip` cache persists at runtime; cleared on reboot | +| **WebSupport DNS** | Two separate management pages — missing the second caused an outage. DNS A record must exist before certbot can verify. Always update both pages. | | **Gitea writes** | Always read file content before writing — writes replace entire file | -| **Proxmox kernel** | PINNED to `6.14.11-5-pve` via `proxmox-boot-tool kernel pin`. 6.17.x and 7.0.x kernels still installed but won't boot. Do NOT unpin or upgrade kernel without verifying NVIDIA 550 DKMS support first. | -| **OpenRGB** | Uninstalled — SMBus interaction with ADATA XPG GAMMIX D35 poses hardware risk | +| **Proxmox kernel** | PINNED to `6.14.11-5-pve`. Do NOT unpin or upgrade without verifying NVIDIA 550 DKMS support first | +| **OpenRGB** | Uninstalled — SMBus interaction with ADATA XPG GAMMIX D35 poses hardware risk. Do not reinstall. | | **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 | -| **kocka-novinky.sk** | Wordfence blocks login — keep disabled. wp-config.php WP_SITEURL/WP_HOME hardcoded to www.kocka-novinky.sk. Zen browser has Content-Encoding issue — use Firefox/Chrome. | +| **WebSupport API auth** | HMAC-SHA1 signed requests; `X-Date` header in `YYYYMMDDTHHmmSSZ` format; service ID is numeric `15056760` | +| **kocka-novinky.sk** | Wordfence blocks login — keep disabled. wp-config.php WP_SITEURL/WP_HOME hardcoded. Zen browser Content-Encoding issue — use Firefox/Chrome/Brave (not Zen). | +| **Paperless consume** | File watcher only detects new files — use `document_consumer --oneshot` for bulk imports | +| **LXC Docker** | Requires `--unprivileged 0 --features nesting=1` for Docker to work inside container | --- -## 🔄 Active Projects (as of 2026-06-14) +## 🔄 Active Projects (as of 2026-06-15) | Project | Next Action | Reference | |---|---|---| -| kocka-novinky.sk automation | Build n8n POC workflow: Brickset → Claude → WordPress lego-set + post | CT 100 | -| Paperless-ngx | Processing ~730 new documents; next: Gemini post-processing | CT 111 | +| kocka-novinky.sk automation | Build n8n POC: Brickset → Claude API → WordPress lego-set + post | CT 100 | +| Paperless-ngx | ~730 docs processing; next: Gemini post-processing setup | CT 111 | | Gemini post-processing | Get Gemini API key → install Python package in CT 111 | CT 111 | +| MCP server enhancement | Add `services.json` + `secrets-index.md` to Claude_Homelab | CT 112 | +| WireGuard DDNS | Add `vpn.spendlik.sk` DNS record + update CT 108 script | CT 107/108 | | Euro-Office | Deploy CT 114 (`office.spendlik.sk`) | CT 114 (planned) | | BAMbuddy | Check Bambu A1 Developer Mode → deploy CT 113 | CT 113 (planned) | -| WireGuard DDNS | Add `vpn.spendlik.sk` DNS record + update CT 108 script | CT 107/108 | -| Bookmark manager | Decide tool (Linkding / Hoarder / Shiori) → deploy CT 116 | CT 116 (planned) | +| Bookmark manager | Decide tool → deploy CT 116 | CT 116 (planned) | | Authelia enforcement | Extend 2FA to Jellyfin, Audiobookshelf, Gitea | CT 102/101 | -| Vaultwarden | ✅ Deployed — remaining: import existing passwords | CT 115 | > Full task list: `obsidian-vault/Tasks.md` @@ -133,28 +160,42 @@ | File | Purpose | |---|---| | `Tasks.md` | Live task dashboard | -| `05 Resources/Possible Purchases.md` | Purchase wishlist — add items here directly | +| `05 Resources/Possible Purchases.md` | Purchase wishlist | | `05 Resources/3D Print Queue.md` | 3D print job queue | | `05 Resources/Proxmox LXC Templates.md` | LXC template reference | -| `03 Areas/Personal Admin.md` | Personal admin tasks (car, devices, subscriptions) | +| `03 Areas/Personal Admin.md` | Personal admin tasks | | `03 Areas/Homelab.md` | Homelab recurring tasks | | `03 Areas/Main PC.md` | CachyOS main PC tasks | -> 💡 For purchases or print queue additions, read the file first, append the item, write back. No directory exploration needed. - --- -## 🛠️ Automation Stack +## 🛠️ Automation & Tools Stack | Layer | Tool | Location | |---|---|---| | Scheduling / plumbing | n8n | CT 100 / automation.spendlik.sk | -| AI content generation | Claude API (claude-sonnet) | via n8n HTTP node | -| Agentic coding assistant | Claude Code 2.1.173 | CachyOS main PC (VSCodium extension) | -| Notifications | Matrix (automation alerts) | CT 103 | +| AI content generation | Claude API (claude-sonnet-4-20250514) | via n8n HTTP node | +| Agentic coding assistant | Claude Code 2.1.173 | CachyOS / VSCodium extension | +| MCP tools | Proxmox + Gitea + search | CT 112 / mcp.spendlik.sk | +| Notifications | Matrix | CT 103 / matrix.spendlik.sk | | DNS management | WebSupport REST API v2 | CT 108 | -| Affiliate site | WordPress on WebSupport hosting | kocka-novinky.sk | | Password manager | Vaultwarden | CT 115 / vault.spendlik.sk | +| Affiliate site | WordPress on WebSupport | kocka-novinky.sk | + +### MCP Tools Available + +| Tool | Description | +|---|---| +| `proxmox_list_containers` | List all LXC/VMs with status | +| `proxmox_get_resources` | Node CPU/RAM/disk usage | +| `proxmox_get_container_status` | Status of specific CT by vmid | +| `proxmox_start_container` | Start a stopped CT | +| `proxmox_stop_container` | Stop a running CT | +| `gitea_list_repos` | List repos for a user | +| `gitea_read_file` | Read file from any repo | +| `gitea_write_file` | Write/update file in any repo | +| `gitea_list_files` | List files in a repo directory | +| `gitea_search_content` | Full-text search across all .md files in a repo | --- @@ -163,4 +204,4 @@ | Repo | Visibility | Purpose | |---|---|---| | `Claude_Homelab` | Public | Infrastructure docs, deploy guides, this index | -| `obsidian-vault` | Private | Life OS / second brain | +| `obsidian-vault` | Private | Life OS / second brain / task dashboard |