Skip to main content

HomelabScribe™: documentation for your homelab that writes itself, and keeps your notes

CI CodeQL OpenSSF Scorecard

Documentation for your homelab that writes itself, and keeps your notes.

HomelabScribe™ scans your Docker hosts (and, with Pro, your Proxmox cluster) and writes readable Markdown docs: one page per service, one per host, and an overview. Run it again tomorrow and the docs update themselves, while anything you wrote in a page's Notes section stays exactly as you left it.

It drops straight into an Obsidian vault, a Git repo, or any Markdown viewer.

  • Read-only. It never changes a container or VM.
  • Private. Runs entirely on your network. No telemetry, no phone-home, ever.
  • No secrets on disk. Environment variable values are never recorded, only names. Labels that look like credentials are dropped.

Documentation

Try it in 10 seconds

No Docker access needed; this renders a made-up homelab with every feature turned on:

pipx install homelabscribe
homelabscribe demo

Then open homelabscribe-demo/index.md.

What you get

homelabscribe-docs/
├── index.md            # every host and service, grouped by category
├── hosts/nova.md       # what runs on each machine
├── services/sonarr.md  # ports, storage, networks, dependencies, how to restart, your notes
├── CHANGELOG.md        # Pro: what changed since the last scan
├── break-glass.md      # Pro: a plain-English guide for family if you're unavailable
└── topology.md         # Pro: Mermaid diagram of hosts, services and dependencies

HomelabScribe recognizes 60+ common self-hosted apps (the *arr stack, Plex, Pi-hole, Traefik, Home Assistant, Vaultwarden, Grafana and more) and describes them in plain language. Add your own with labels or a catalog file.

It can also read Nginx Proxy Manager to show each app's real web address, and lets you describe things it can't scan, such as Pi-hole on a Raspberry Pi, by hand.

See it

Screenshots of the built-in demo (a made-up lab), rendered from the Markdown it writes. Open the same files in Obsidian, GitHub or any Markdown viewer.

The overview page: hosts and every service grouped by category, with status, address and a plain-English description
The overview: every host and service, grouped by category.

A service page for Sonarr showing ports, storage, networks, connections, how to restart it, and a handwritten note kept across runs
A service page: ports, storage, dependencies, how to restart it, and your own notes, which are kept on every run.

The break-glass guide, a plain-language page for family: what to do if the internet is down and which services matter most
The break-glass guide (Pro): a plain-English page for family if you're unavailable.

Free vs Pro

Free Pro
Docker hosts 1 Unlimited
Proxmox VMs and LXCs Yes
Service, host and overview pages Yes Yes
Your notes preserved across runs Yes Yes
Changelog ("what changed this week") Yes
Break-glass guide for family Yes
Topology diagram Yes
Built-in scheduler (--every 1d) Yes

Pro is a one-time or yearly license key, verified offline. Get one at (store link coming soon).

Run it with Docker Compose

HomelabScribe talks to Docker through a socket proxy so it only ever gets read access.

mkdir homelabscribe && cd homelabscribe
curl -O https://raw.githubusercontent.com/HoneyBearTech/homelabscribe/main/docker-compose.example.yml
curl -O https://raw.githubusercontent.com/HoneyBearTech/homelabscribe/main/homelabscribe.example.yaml
mv docker-compose.example.yml docker-compose.yml
mkdir config state && mv homelabscribe.example.yaml config/homelabscribe.yaml
sudo chown 1000:1000 state   # or change `user:` in the compose file to match your docs folder's owner
# Point the ./docs volume at your Obsidian vault folder, then:
docker compose run --rm homelabscribe

Schedule it with cron (free) or --every 1d (Pro).

Configuration

See homelabscribe.example.yaml. Values like ${PVE_TOKEN} are read from the environment.

Per-container labels

labels:
  homelabscribe.name: "Family Photos"
  homelabscribe.description: "Where everyone's phone photos back up to."
  homelabscribe.category: "Photos"
  homelabscribe.url: "https://photos.home.example"
  homelabscribe.hidden: "true"    # leave this container out of the docs

Proxmox (Pro)

Create a read-only API token:

pveum user add homelabscribe@pve
pveum acl modify / --users homelabscribe@pve --roles PVEAuditor
pveum user token add homelabscribe@pve docs --privsep 0

Your notes are safe

Every page ends with a block like this:

<!-- homelabscribe:notes:start -->
Upgraded to v4 on Oct 3; config moved to /opt/sonarr.
<!-- homelabscribe:notes:end -->

HomelabScribe rewrites everything else on the page but copies this block forward untouched. If a service disappears and its page has notes, the page is moved to archive/ instead of deleted.

Commands

Command What it does
homelabscribe run Scan, then write docs. The usual command.
homelabscribe scan Take a snapshot only.
homelabscribe render Rewrite docs from the latest snapshot.
homelabscribe doctor Check config, connections and license; safe to paste into an issue.
homelabscribe demo Render a sample homelab.

Development

python -m venv .venv && . .venv/bin/activate
pip install -e '.[dev]'
pytest && ruff check .

See CONTRIBUTING.md; commits need a DCO sign-off (git commit -s).

Architecture: collectors (Docker, Proxmox) → enrichment (app catalog, labels) → JSON snapshot → diff → Jinja2 renderers. Adding a source means writing one collector; see src/homelabscribe/collectors/.

License

The core is AGPL-3.0. Everything in src/homelabscribe/pro/ is source-available under the HomelabScribe Pro License and needs a Pro key to use.

Trademarks

HomelabScribe™ and its logo are trademarks of HoneyBearTech. The code licenses do not grant rights to the name or logo; see TRADEMARKS.md.

Metadata

Release files for homelabscribe 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for homelabscribe 0.2.1
File Size Uploaded
homelabscribe-0.2.1.tar.gz 68.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for homelabscribe 0.2.1
File Interpreter ABI Platform
homelabscribe-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 120.1 kB

Release files / homelabscribe-0.2.1.tar.gz

Download URL homelabscribe-0.2.1.tar.gz
Size 68.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c3e4251aecce8c165b2740e2a8587c2a68ecc0553e4900da7014320a1666bb53
BLAKE2b-256 checksum
How to use checksums
b88f17ba687db4974485f1f0ed9f03e0c54cedddbfe9528e3080583f364a6056
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / homelabscribe-0.2.1-py3-none-any.whl

Download URL homelabscribe-0.2.1-py3-none-any.whl
Size 51.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58b7eae7f3e1bf50097d340daf4ce82161c893535696f76ebd73a4bd8446f31c
BLAKE2b-256 checksum
How to use checksums
211e73243a70d6e47aa620be324e93ac50a5f88ba179071028341d37ceff9765
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page