# homelab-notes Personal notes for my homelab: build logs, configs, and operational runbooks for services/VMs/containers I run at home. ## Goals - Keep **repeatable steps** for installs, upgrades, and troubleshooting. - Capture **design decisions** (why something was done a certain way). - Document **IPs/ports/paths** used in my environment (may include private network details). ## Repo structure - Each top-level folder is usually one service or project (e.g. `qBit/`, `vikunja-lxc/`). - Notes are primarily Markdown files named like `*-notes.md`. ## How to use - Read the notes for the service you’re working on. - Treat commands as **examples**; adjust hostnames, IPs, and paths to your environment. ## Status This is an actively evolving notebook. Some sections may be incomplete or “work in progress”. ### Using an LLM to draft new service notes When adding a new container/VM/service, use this prompt with an LLM to generate a first draft of notes (similar style to the rest of this repo): > You are helping me maintain my homelab-notes repo. > I am adding or modifying ONE service/container/VM. > Read the snippets I paste from my terminal (docker-compose, configs, IPs, curl outputs, etc.) and then produce a single Markdown file in the same style as other *-notes.md in this repo: > > - Start with a short description of what the service is and where it runs. > - Capture design/architecture decisions (networking, reverse proxy, storage, security). > - Document IPs, hostnames, ports, container names, and paths that are specific to my environment. > - Include trimmed config examples (docker-compose, Caddy/nginx, app config) with comments where helpful. > - Add a small “Deployment steps” section summarizing the exact commands I used (cd, docker compose up, systemctl, etc.). > - Add brief “Troubleshooting notes” if we fixed any issues (e.g., wrong port binding, DNS, reverse proxy issues). > > Do NOT invent services or values that I did not show you. > Only use the information I provide plus obvious inferences (e.g., 0.0.0.0:8080 means accessible on LAN). > Output ONLY the Markdown for the new note file, no explanation around it.