fkrebs
643ee2cd36
Add Miniflux: port 17002, OIDC client, DB entry, Zoraxy route; remove Obsidian drift plugins from RESUME
2026-05-27 20:55:08 +02:00
fkrebs
fc6507abd2
migrate id (Pocket-ID) CT 110 → CT 109; destroy CT 110
...
- Pocket-ID now on CT 109 ops at :11000 (was CT 110 :11000)
- Zoraxy id.nuclide.systems → 192.168.1.8:11000
- AdGuard id.nuclide.lan → 192.168.1.8
- Homepage docker.yaml: removed ct110/ct111/ct112 (all destroyed)
- Homepage services.yaml: pocket-id server: my-local
- pocket-id.md: updated host, client table CTs corrected
- portainer.md: CT 110 row struck through
- portmap, ct-inventory, zoraxy all updated
- CT 110 LXC destroyed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 22:17:03 +02:00
fkrebs
a2f1d49170
migrate dev→CT104, secrets→CT109; add proton-bridge; sunset CT111/CT112
...
- CT 111 (dev): Gitea + Coder + act-runner migrated to CT 104
- Gitea uses Redis for queue/cache/session (idmapped NFS LevelDB workaround)
- Zoraxy routes dev/git updated to 192.168.1.40
- AdGuard dev.nuclide.lan updated to 192.168.1.40
- CT 112 (secrets): Infisical migrated to CT 109
- DB dump restored; SITE_URL updated to 192.168.1.8:8200
- AdGuard secrets.nuclide.lan updated to 192.168.1.8
- Proton Mail Bridge deployed on CT 104 (SMTP :1025, IMAP :1143)
- Homepage updated: Dev group → ct104, Infisical → my-local, Background group added
- portmap, ct-inventory, zoraxy, dev-environment, secrets-manager all updated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 22:08:08 +02:00
fkrebs
0b4727ed58
homepage: move to port 10000
2026-05-26 21:39:18 +02:00
fkrebs
4f17d99f55
homepage: use ops.nuclide.lan (host alias) not homepage.nuclide.lan
2026-05-26 21:38:09 +02:00
fkrebs
ff7bacdaf9
Homepage replaces Homarr: portmap, inventory, DNS docs updated (2026-05-26)
2026-05-26 21:32:14 +02:00
fkrebs
dcd8f36331
sunset LiteLLM in portmap.md (2026-05-26)
...
- Port 14000 row struck as SUNSET; replaced by Bifrost
- Prometheus scrape target for LiteLLM struck
- e73bb7b9 Pocket-ID client row struck as DELETED
- Removed litellm from "not publicly proxied" list
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 13:57:40 +02:00
fkrebs
6c401f2376
docs: reconcile sunset of LiteLLM external, mcp-gateway, and LobeChat
...
- Bifrost replaces LiteLLM at ai.nuclide.systems (CT 104:14003); LiteLLM
now internal-only backend at :14000
- mcp-gateway (FastAPI/DinD, mcp.nuclide.systems) decommissioned 2026-05-26;
MCP now served by Bifrost at ai.nuclide.systems/mcp (29 clients, ~760 tools)
- LobeChat decommissioned 2026-05-26; chat.nuclide.systems now Open WebUI
(CT 104:14002, stack ai/open-webui.yml)
- Update portmap, volumes, services-overview, homelab-architecture, zoraxy,
mcp-servers, databases, README accordingly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 13:35:29 +02:00
fkrebs
b065c2b849
docs: mark mcp-gateway fully decommissioned 2026-05-26
2026-05-26 13:10:14 +02:00
fkrebs
0600032b75
docs: migrate MCP gateway docs from mcp-gateway to Bifrost
...
- mcp-gateway.md: full rewrite for Bifrost at ai.nuclide.systems/mcp;
29 clients / ~760 tools; VK auth; n8n+shepard blocked on
streamable-HTTP; legacy gateway decommission checklist added
- connection-hosts.md: Bifrost at port 14003 is now ai.nuclide.systems;
LiteLLM demoted to internal-only; mcp.nuclide.systems marked pending
decommission; OIDC client 78c78998 flagged for removal
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 12:55:33 +02:00
fkrebs
3819794812
docs: add CT 104 to config-to-git fleet
...
ct104-conf repo tracks /opt/stacks/ compose files and configs daily.
Bifrost and Open WebUI now covered.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 07:26:37 +02:00
fkrebs
3fa4608266
config-to-git: add CT 103/109/113 + obsidian-vault + obsidian-config
...
CT 103/109/113-conf were deployed earlier today, table updated.
Add obsidian-vault (CT 103, daily 04:00, rolling 2-commit window) and
obsidian-config (manual zip-drop workflow, see README in repo).
2026-05-24 10:27:49 +02:00
fkrebs
7af18a82f1
config-to-git: document fleet (PVE, Zoraxy, AdGuard, HAOS)
...
Add /docs/infra/config-to-git.md listing all 4 repos, schedules,
script paths, and HAOS-specific addon init_commands pattern.
RESUME updated to reflect HAOS bootstrap done 2026-05-24.
2026-05-24 08:21:52 +02:00
fkrebs
e160e3dba8
docs: dozzle is LAN-only, clean up route notes
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 19:10:57 +02:00
fkrebs
895658a115
docs: consistency pass 2026-05-23 (session ×4)
...
- zoraxy.md: fix arcane upstream to CT109 (192.168.1.8:10002), add
SkipWebSocketOriginCheck column, note missing routes (dozzle, etc.)
- arcane.md: reflect CT109 migration complete, expand agent table to
all 8 environments, fix MANAGER_API_URL and DB paths
- ct-inventory.md: CT103 RAM 512→4096+swap; CT109 footnote complete
- proxmox-memory-audit.md: CT103 bump, add CT109+CT113 rows, fix sum
- portmap.md: add Wetty row, fix arcane backend, WAL-G scrape target,
homepage decommissioned, dozzle LAN-only note
- mcp-gateway.md: add gitea/paperless/proxmox, count 26→29 servers
- RESUME.md: check off WAL-G, Loki, Zoraxy audit; CT109 in key state
table; session ×4 completed items block
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 16:42:45 +02:00
fkrebs
ff398a592f
docs: Arcane + Dozzle migrated to CT 109; agents on all Docker hosts
...
- Arcane server moved CT 104 → CT 109:10002; DB migrated; Zoraxy upstream updated
- Dozzle server moved CT 104 → CT 109:10001; remote agents on all 7 Docker hosts
- Headless agents (arcane-headless + dozzle agent) deployed to:
CT 101, 104, 105, 110, 111, 112 via /opt/stacks/ops-agents/
CT 113 updated in-place (was pointing at CT 104, now CT 109)
- homelab-configs sync script expanded: ops/{arcane,dozzle,monitoring} + all agent configs
- portmap: updated CT 104 entries as decommissioned, added CT 109 entries
- ct-inventory: CT 109 role description updated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 08:53:37 +02:00
fkrebs
96df6e7bd0
docs: migrate docs-server CT 111 → CT 109; update nav and URLs
...
- docs-server now runs on ops (192.168.1.8:13080), not dev (192.168.1.42)
- mkdocs.yml: fix site_url (was pointing at .111 instead of .42, now .8)
- mkdocs.yml: add all services added since last nav update (pocket-id,
backrest, databases, arcane, mcp-servers, llm-benchmark, RESUME, connection-hosts)
- portmap.md: move :13080 entry from CT 111 to CT 109 section; add Homarr :7575;
fix stale Promtail note → Alloy add-on
- README.md: update rendered docs URL to 192.168.1.8:13080
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 08:16:09 +02:00
fkrebs
474af687af
docs: 2026-05-23 session — observability stack, Pocket-ID guide, secrets scrub
...
- CHANGELOG: full 2026-05-23 backfill (Loki, Alloy×12 hosts, pve-exporter,
HA prometheus integration, 5 dashboards, 3 alert rules, Homarr, homelab-configs repo)
- services/pocket-id.md: new — OIDC endpoints, client creation walkthrough,
per-service env var patterns, current client registry, backup notes
- infra/proxmox-state.md: redact D-Link credentials from plaintext (pelican/pinkpanther)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 08:03:01 +02:00
fkrebs
80647c1a6b
monitoring: add pve-exporter to portmap
...
Proxmox VE metrics via prometheus-pve-exporter on CT 109 :9221.
monitor@pve!prometheus token with Monitor (read-only) role.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 04:32:37 +02:00
fkrebs
0979f71857
monitoring: add Loki + Alloy log aggregation to portmap
...
Loki (CT 109 :3100, 30d retention) and Grafana Alloy deployed across
all 12 hosts. Portmap updated with new services and agent deployment notes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 04:28:15 +02:00
fkrebs
a8ed4350f0
ops: CT 109 provisioned — Prometheus + Grafana monitoring
...
- Debian 13, Docker 29.5, 4c/4G/32G at 192.168.1.8
- Prometheus :9090 (90d retention), Grafana :3000 (LAN only)
- Scrapes: litellm CT104:14000, node-ct104:9100, node-ct109:9100
- CT 104 standalone node-exporter retained at /opt/stacks/monitoring/
- All 4 targets confirmed up
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 03:44:05 +02:00
fkrebs
644ba72d77
ops: add Prometheus + Grafana monitoring stack on CT 104
...
- Prometheus :9090, Grafana :9091, node-exporter :9100
- LiteLLM /metrics/ enabled via prometheus callback
- Scrapes: litellm (bearer auth), node-ct104, prometheus self
- 14 litellm_* metrics confirmed flowing
- Stack: /opt/stacks/monitoring; migrate to CT 109 ops when built
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 03:35:22 +02:00
fkrebs
25da11b53a
Add connection-hosts and mcp-servers maintained docs
...
- infra/connection-hosts.md: every host, LAN IP, port, and public URL
across all Proxmox guests, Docker services, network infra, and
external hardware; OIDC client registry; SSH cheat-sheet
- services/mcp-servers.md: all 27 MCP servers with full credentials,
upstream URLs, transport, group, gateway management API examples,
and gateway .env token inventory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-23 01:03:59 +02:00
fkrebs
143343decf
docs: session continuity file + claude-max-bridge /v1/responses fix
...
- Add RESUME.md for cross-session continuity (open items, key state, constraints)
- claude-max-bridge: implement /v1/responses (OpenAI Responses API) with
previous_response_id chaining via server-side history injection into system prompt.
Root cause of "session already in use": CLI leaves JSONL in un-resumable
"dequeued" state after each --print run; fix avoids session reuse entirely.
Also fixed: assistant content must be array-of-blocks not plain string (silent
JS crash otherwise).
- LiteLLM: add pass_through_endpoints for /v1/responses → claude-max-bridge
- Storage, volumes, architecture docs reconciled (Vaultwarden → local zfs,
Pocket-ID backup, WAL-G fix, apps/ decommission, Nextcloud CIFS→NFS)
- Add ideas/, proxmox-memory-audit.md, llm-benchmark.md (new docs this session)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 22:42:17 +02:00
fkrebs
c2979f7c9d
Rename CT 109 observe → ops across all docs
...
Also updates IP conflict note: .6=CT113, .7=CT112, so CT 109 gets .8.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 10:38:57 +02:00
fkrebs
b0160322b3
Mark CT 112 live; add to portmap; update secrets-manager
...
CT 112 "secrets" deployed 2026-05-22 — Infisical + Postgres 16 + Redis 7
running at http://192.168.1.7:8200 (LAN-only, no Zoraxy route).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 10:20:41 +02:00
fkrebs
0d83f83bc0
docs: MCP gateway git/gitlab/paper-search; CT 109 plan; new backrest/db/arcane docs
...
- mcp-gateway.md: 26 servers (added git, gitlab, paper-search catalog bridge);
document --pass-environment requirement for env var passthrough in DinD bridges
- ct-inventory.md + homelab-architecture.md: CT 109 IP conflict, CT 113 live
- proxmox-state.md §16: Loki, sshwifty, Alloy, IP conflict note, sidecar table
expanded to CT 103/111/113; build order updated
- infra/portmap.md: CT 113 db section; QNAP TS-251D (Klipper/Mainsail)
- services/backrest.md: full backup strategy doc (new)
- services/databases.md: CT 113 postgres/WAL-G/pgAdmin doc (new)
- services/arcane.md: Docker management IDE doc (new)
- CHANGELOG.md: 2026-05-22 entry
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 09:35:07 +02:00
fkrebs
52db8ce9ed
docs: portmap shepard-mcp decommissioned; add doc-ingestion pipeline design
...
- portmap: mark port 18010 (shepard-mcp) as DECOMMISSIONED 2026-05-21;
remove mcp-shepard from Gitea repos note
- services/doc-ingestion.md: new — n8n → Docling → LiteLLM embeddings →
LobeChat knowledge base pipeline architecture + converter comparison table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 09:33:35 +02:00
fkrebs
ad0fdd2beb
docs: dissolve Stacks chapter → infra/; reconcile portmap, storage, changelog (2026-05-21)
...
- Move PORTMAP, storage, volumes, docker-networks from stacks/ → infra/
- Remove stacks/todo.md (content migrated to CHANGELOG + ideas)
- portmap: add new MCP servers (18005/07/09/10/11), fix s3.nuclide.systems entry,
update Daytona OIDC row to DECOMMISSIONED, add Vaultwarden OIDC placeholder,
add DevOps table row for MCP server Gitea repos
- storage: add Garage S3 buckets subsection (lobe-files + chat-artifacts)
- docker-networks: remove daytona-minimal_daytona-network row + daytona from
"Stacks Keeping Own Networks" list
- ct-inventory: add CT 112 (secrets/Infisical, planned)
- CHANGELOG: prepend 2026-05-21 entry (docs, S3, MCP, dev env, Gitea repos, planned)
- ideas/stack-ideas: add §11 Renovate Bot, §12 egress firewall, §13 local LLM
- mkdocs.yml: replace nav — dissolve Stacks chapter, add infra/ entries
2026-05-21 07:54:21 +02:00
fkrebs
99f93b585f
reorg: split into infra/ services/ history/ ideas/
2026-05-20 23:25:20 +02:00