1
0
Fork 0
No description
  • Jinja 77.1%
  • HCL 16.5%
  • Python 2.5%
  • HTML 2%
  • Shell 1.8%
Find a file
niyari 5aabb20613
Some checks failed
/ ci (push) Failing after 2m39s
docs: drop stale 'three apex domains' claim
2026-11-03 23:38:53 +00:00
.claude/skills docs: overhaul docs suite, add podman skill, rename guides 2026-06-28 18:03:26 +01:00
.forgejo/workflows Upadte CI script to run on any branch 2026-09-05 07:40:06 +01:00
.opencode/skill/adding-a-podman-service lab: fix cwd, tofu-error handling, and remaining stale sugar refs 2026-11-03 23:35:58 +00:00
ansible lab: fix cwd, tofu-error handling, and remaining stale sugar refs 2026-11-03 23:35:58 +00:00
docs docs: drop stale 'three apex domains' claim 2026-11-03 23:38:53 +00:00
tofu Update Tofu state 2026-11-03 23:05:47 +00:00
utils add matrix login script 2026-05-25 16:28:56 +01:00
.ansible-lint tofu: migrate secrets from ansible-vault to SOPS (age) 2026-11-03 22:32:33 +00:00
.gitignore tofu: migrate secrets from ansible-vault to SOPS (age) 2026-11-03 22:32:33 +00:00
.secrets.baseline Set up a router 2026-06-25 04:37:18 +01:00
.sops.yaml tofu: migrate secrets from ansible-vault to SOPS (age) 2026-11-03 22:32:33 +00:00
AGENTS.md docs: drop stale 'three apex domains' claim 2026-11-03 23:38:53 +00:00
ansible.cfg lab: replace argparse monolith with exec bridge 2026-11-03 22:58:43 +00:00
CLAUDE.md Add AudioMuse-AI on dogma with local Ollama for AI playlists 2026-05-30 21:54:03 +01:00
lab lab: fix cwd, tofu-error handling, and remaining stale sugar refs 2026-11-03 23:35:58 +00:00
LICENSE UNLICENSE 2026-05-20 02:54:03 +01:00
mise.toml tofu: migrate secrets from ansible-vault to SOPS (age) 2026-11-03 22:32:33 +00:00
opencode.jsonc lab: fix cwd, tofu-error handling, and remaining stale sugar refs 2026-11-03 23:35:58 +00:00
prek.toml Fix failing CI check 2026-06-28 22:04:24 +01:00
pyproject.toml Add monitoring stack and WireGuard pushgateway tunnel 2026-06-21 11:41:43 +01:00
README.md docs: rewrite ./lab usage for the exec bridge 2026-11-03 23:08:49 +00:00
uv.lock Add monitoring stack and WireGuard pushgateway tunnel 2026-06-21 11:41:43 +01:00

homelab

Ansible + OpenTofu infrastructure-as-code for a self-hosted homelab fleet and a small VPS. Rootless Podman (Quadlet), Traefik, restic backups to Scaleway S3, Prometheus monitoring, Matrix alerts.

fleet

host role env os
tabris Proxmox VE homelab Debian 13
magi services VM homelab Debian 13
israfel services VM homelab Debian 13
lilith SMB LXC (CT 200) homelab Debian 13
sahaquiel monitoring homelab Debian 13
panopticon router (OpenWrt) router OpenWrt
apeiron VPS (Hetzner) vps Debian 13

quickstart

Requires mise — all tools (uv, OpenTofu, Python, pre-commit) are pinned in mise.toml.

./lab setup          # create .venv/ and install ansible + collections
./lab install-hooks  # pre-commit lint
./lab ansible-playbook ansible/playbooks/homelab.yaml   # apply homelab playbook
./lab ansible-playbook ansible/playbooks/vps.yaml       # apply VPS playbook
./lab ansible-playbook ansible/playbooks/router.yaml    # apply router playbook
./lab tofu apply     # apply OpenTofu

Place the vault passphrase in ansible/.vault-password (gitignored).

docs

doc what it covers
AGENTS.md dev handbook: conventions, idioms, layout, vault, CI
docs/podman.md Quadlet architecture, UID allocation, gotchas
docs/backup.md restic backup system, restore procedures
docs/monitoring.md Prometheus/Grafana/Alertmanager stack
docs/networking.md topology, VLANs, IP space, DNS, WireGuard
docs/openwrt.md router Ansible role reference
docs/tofu.md OpenTofu workspace, providers, apply order