Commit Graph
125 Commits
Author SHA1 Message Date
thesabear 5a96e92dc6 docs: fix architecture-overview.md dependency graph rendering
Switch to LR layout, restore all 12 observability-reporting edges
(cut them by mistake, they belong in a dependency graph), drop the
repeated 'reports to' label text that was breaking legibility and
let line style (solid=dependency, dotted=async reporting) carry that
distinction instead. Also shortened edge labels on the trust-boundary
diagram to avoid the same clipping issue.
2026-08-22 12:40:50 +03:00
thesabear febbf2e44c docs: deepen cron-scheduler, content-pipeline, iac-pipeline, and disaster-recovery
Completes the full depth pass across all 16 docs - real tech names,
why-this-vs-the-alternative reasoning, heavy cross-linking between
every doc, ranked/specific tradeoffs instead of generic hedges.
2026-08-22 08:13:49 +03:00
thesabear 1382a63dae docs: deepen observability, notifications, orchestration, registry, and dashy batch
Same treatment as the security batch - real tech names, 'why this vs
the alternative' reasoning, heavy cross-linking, ranked/specific
tradeoffs instead of generic hedges.
2026-08-22 08:06:47 +03:00
thesabear 12e69acde7 docs: deepen security/hardening batch to real deep-dive standard
Names real technology throughout (Vault, Authentik, pfSense,
firewalld, Wazuh) instead of staying generic, adds a 'why this
approach vs the alternative' section to every doc, cross-links
heavily between docs instead of treating each system in isolation.
2026-08-22 08:04:26 +03:00
thesabear 1a605845e3 docs: deepen dns-naming.md as the fix for thin write-ups
Names real technology (Technitium) instead of staying vague, adds
explicit cross-links to every other system that actually depends on
DNS, explains why self-hosted DNS was chosen, and adds a 'what I'd
improve' section. Template for redoing the rest.
2026-08-22 07:54:39 +03:00
thesabear 94f4a258f5 Remove stray .directory desktop-icon config file
Leftover local desktop metadata, not relevant to the repo content.
2026-08-22 07:44:37 +03:00
thesabear bebcd714af Restructure compose mirror: stacks/ grouped by purpose, not by host
Replaces rocky-docker-lxc/, caddy-vm/, monitoring-vm/, and automation/
with a single stacks/ tree grouped by function (identity-and-security,
platform, media, productivity, dev-tools) - 55 stacks total, every one
a real directory in the private repos today.

Resolves all outstanding drift: adds Wazuh (previously entirely
missing), Firefly III and Postiz (never mirrored), the internal-zone
Caddy instance and the Cron Scheduler's separate NocoDB instance
(both previously conflated with their counterparts under one shared
folder); renames Calibre-Web to calibre-web-automated and splits
Kodi-MariaDB into kodi + mariadb-latest to match what the private
repos actually run now; drops the decommissioned NetBox stack.

Also removes automation/iac/old-content/ and
automation/ansible/old-playbooks/ in the same pass - both folders
were entirely stale content describing a superseded architecture
(GitLab instead of Gitea, HAProxy+mTLS SSO instead of the current
Caddy+Authentik setup), now replaced by docs/iac-pipeline.md.
2026-08-22 07:44:11 +03:00
thesabear 20f39f3b6d docs: add architecture, IaC pipeline, and disaster recovery write-ups
Completes the docs/ set - all 16 systems now have a full deep-dive
page in the diagram+callout+table style. Architecture overview covers
the 4 trust boundaries and 2 traffic planes; IaC pipeline is a fresh
Packer->Terraform->Ansible writeup replacing the stale old-content/
snapshot; disaster recovery covers the 3 independent backup layers
and the deliberately decoupled OS/app upgrade systems.
2026-08-22 07:38:06 +03:00
thesabear c10ff81d47 docs: add orchestration, registry, dashy, cron, and content pipeline write-ups
Completes the orchestration/registry/content batch - Kestra's
check-pause-approve-apply pattern, the self-hosted build pipeline,
the SOC dashboard's 14-source aggregation, the cron heatmap, and the
in-progress content pipeline, all in the diagram+callout+table style.
2026-08-22 07:36:47 +03:00
thesabear 2bc4ee831d docs: add observability and notifications write-ups
Same visual template - diagrams, callouts, tables - covering the
Alloy/Loki/Prometheus pipeline and the MQTT+webhook fan-in to Slack.
2026-08-22 07:35:05 +03:00
thesabear 41a6f569b4 docs: rework security/hardening batch with diagrams and callouts
Mermaid diagrams up front, GFM alert callouts for key decisions and
gotchas, tables instead of bullet walls - replaces plain prose with
the visual template established for security-monitoring.md.
2026-08-21 23:17:10 +03:00
thesabear a4c334b3d8 README: comment out X/Instagram/TikTok/YouTube badges
Keep LinkedIn and Website visible; the rest stay in the file,
just hidden, not deleted.
2026-08-21 23:08:16 +03:00
thesabear d5f37b5787 docs: add security/hardening deep-dive write-ups
Secrets & PKI, Secret Distribution Model, SSO & Identity,
Firewall & Network Segmentation, DNS Naming Model, and Security
Monitoring - the first batch of per-system write-ups linked from
the new README, sourced and sanitized from the internal KB.
2026-08-21 22:48:50 +03:00
thesabear f37efc2654 README: redesign as architecture-first portfolio landing page
Replaces the bio-first README with a single-page overview covering
every system in the homelab (secrets/PKI, SSO, firewall, observability,
security monitoring, orchestration, notifications, registry/build,
Dashy SOC board, cron scheduler, content pipeline, IaC, disaster
recovery) plus a sanitized architecture diagram, linking out to a
full docs/ write-up for each. Bio/social links moved to the bottom.
2026-08-21 22:41:03 +03:00
thesabear 45748ff531 README.md: remove stale NetBox mention, update stack count 2026-08-09 20:42:06 +03:00
thesabear 2958564d88 Standardize .gitignore 2026-07-29 08:03:48 +03:00
thesabear f2158f91e7 Simplify Let's Connect badges to just platform name + icon 2026-07-06 02:54:16 +03:00
thesabear c7523453eb Overhaul intro README: accurate content, fixed/updated social links
Body text was describing a setup that no longer exists (GitLab
pipelines, a private registry) - replaced with what's actually running
(Gitea, Caddy/Authentik, Ansible/Kestra/n8n) and pointed the
"what you'll find" section at the new per-repo folder structure.
Fixed the LinkedIn link (was missing its scheme), added
Instagram/TikTok/YouTube, dropped the Bookstack wiki link.
2026-07-06 02:49:32 +03:00
thesabear c05c7164c8 Restructure into one folder per private repo/host, not a flat Docker/ dump
rocky-docker-lxc/, caddy-vm/, monitoring-vm/ (was missing entirely -
Grafana+Loki+Prometheus stack, refreshed and CA mount stripped same as
everything else), and automation/{ansible,automation-vm,iac}/ for the
three repos that live on the automation VM. Hawser is genuinely
deployed on all three of caddy-vm/monitoring-vm/automation-vm so it's
duplicated in each rather than picking one canonical home.

Old Ansible/ and "Infrastrucutre as Code/" content moved under
automation/ansible/old-playbooks and automation/iac/old-content as-is
for now - contents still need refreshing against the current repos and
a per-folder README, that's the next pass.
2026-07-06 02:41:53 +03:00
thesabear 08f705ffd7 Add sanitized compose for caddy-vm and automation-vm stacks
Caddy (+ a truncated/sanitized example Caddyfile showing the mTLS +
Authentik forward-auth pattern without the real subdomain list),
Hawser, Gitea (private instance only, dropped the public-mirror
service - that's already its own public thing), Kestra (genericized
the ansible-repo/SSH-key bind mounts), Mosquitto, n8n, NetBox,
Node-RED.
2026-07-06 02:25:54 +03:00
thesabear 55a8410474 Bring 15 stale entries in line with current private configs
Several of these had drifted so far they were unrecognizable (Nextcloud
was a bare minio stub, Ollama was missing the ollama service entirely,
Immich was missing 2 of 4 services). Also removed a real, exposed
Authentik OAuth client_id/secret that was sitting in Paperless-NGX's
entry (confirmed stale/rotated already, but shouldn't have been public
regardless) and stripped internal Caddy CA trust details from every
file per the same rule applied to nocodb/dashy etc.
2026-07-06 02:16:18 +03:00
thesabear 6c29d79e18 Add sanitized compose files for 21 rocky-docker stacks missing from the mirror
audiobookshelf, bazarr, beets, dashy, dockhand, docker-socket-proxy,
emby, ghost (+umami), jellyfin, kodi-mariadb, kopia, lidarr,
music-assistant, prowlarr, qbittorrent, radarr, seerr, sonarr, tdarr,
tinymediamanager, trilium — these run in the fleet today but had no
public entry at all. Same sanitization convention as the rest of the
repo (paths -> /path/to/..., secrets left as bare ${VAR} refs, no CA
trust details).
2026-07-06 02:05:09 +03:00
thesabear e16724fee3 Remove decommissioned entries; drop internal Caddy CA detail from nocodb
The public repo hadn't been touched since its initial import: 14 of its
Docker entries (Airsonic, Diun, Duplicati, Gitlab, Gotify, Grocy,
Jenkins, Jitsi, MariaDB, Minio, Organizr, Semaphore, Uptime Kuma,
Whoogle) no longer exist anywhere in the fleet. Also strips the
internal Caddy CA trust mount from the nocodb entry added earlier today
- that's an internal PKI detail, not something to showcase publicly.
2026-07-06 01:57:39 +03:00
thesabear f7bbb83192 Add sanitized NocoDB compose
New stack in the fleet (rocky-docker-lxc/nocodb) — mirrored here with
paths/secrets sanitized per the existing convention.
2026-07-06 01:53:41 +03:00
thesabear 973546647d new files from source 2026-06-09 10:20:07 +03:00