30 lines
1.7 KiB
Markdown
30 lines
1.7 KiB
Markdown
# CLAUDE.md
|
|
|
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
|
|
## What this is
|
|
|
|
This is **not a software project** — there is no code, build, or test. It is an operations/infrastructure
|
|
notes directory for a self-hosted homelab running **Docker Compose stacks inside Proxmox LXC containers**.
|
|
Files are post-incident / runbook documents written in Traditional Chinese.
|
|
|
|
Current contents: `CT124_故障復原_20260529.md` — a recovery report for a full Docker/Tailscale outage on host
|
|
CT124 (192.168.42.124, Ubuntu 24.04 LXC) after a hard power-off.
|
|
|
|
## Working in here
|
|
|
|
- Documents are the deliverable. "Editing" means writing/revising Markdown, not changing code.
|
|
- Filename convention: `<host>_<topic>_<YYYYMMDD>.md` (e.g. `CT124_故障復原_20260529.md`).
|
|
- Shell snippets in the docs run on the LXC host as root; they are records of what was done, not scripts to
|
|
execute here. Don't run them against any machine unless explicitly asked.
|
|
- Cross-references point to docs **not in this directory** (e.g. `PVECluster_Architecture.md`'s "停電復電 SOP").
|
|
If a referenced doc is needed, ask — don't assume it exists locally.
|
|
|
|
## Key non-obvious fact (CT124)
|
|
|
|
The outage's original symptom (Tailscale/Headscale offline) was a downstream effect, not the root cause. The
|
|
dependency chain is: **docker daemon → Nginx Proxy Manager container (reverse-proxies :443) → Headscale**.
|
|
External `headscale.lotimmy.com:443` hairpins back to CT124's own WAN IP. When Docker dies, NPM dies, port 443
|
|
stops listening, and the Tailscale client logs out. When debugging Tailscale disconnects on this host, verify
|
|
this chain first before suspecting Tailscale itself.
|