No description
Find a file
2026-10-14 14:53:07 -04:00
config Fix invalid YAML in policies (quote descriptions and resolutions) 2026-10-14 12:02:41 -04:00
.env.example Phase 1: compose stack (fleet v4.91.0, mysql 8.0, redis 7); trim .env.example 2026-10-14 11:09:53 -04:00
.gitignore Phase 1: compose stack (fleet v4.91.0, mysql 8.0, redis 7); trim .env.example 2026-10-14 11:09:53 -04:00
docker-compose.yml Allow Fleet to POST webhooks to the private n8n-relay address 2026-10-14 14:53:01 -04:00
README.md Phase 0: README, .env.example (no secrets), .gitignore 2026-10-14 10:04:32 -04:00

fleet-stack

Fleet (fleetdm.com, built on osquery) for home-device health monitoring, self-hosted on majorlab.

Status: Phase 0 (prep). Nothing is deployed from this repo yet.

Goal: get an email when a home computer has a problem (disk filling, updates stalled, antivirus off, backups failing) before anyone has to ask for help. The first test covers Marcus's own devices only.

Plan

The full plan, design decisions and rollback live in the MajorVault project note Home-Device-Monitoring.

Layout (filled in as phases land)

Path Purpose
docker-compose.yml Fleet, MySQL 8.0 and Redis 7, images pinned (Fleet v4.91.0)
.env.example Names of the settings the stack needs, with no values
config/ Fleet settings and policies as YAML, applied with fleetctl

Design in brief

  • Runs under /root/fleet/ on majorlab; Fleet listens on 127.0.0.1:8412 only.
  • Caddy serves it on tailnet-only port 8445, the same pattern as Arcane (8443) and Grafana (8444).
  • Secrets are generated on the host into /root/fleet/.env (mode 600) and never committed.
  • Alerts: Fleet failing-policy webhook, then an n8n workflow, then email.

Rollback

docker compose down -v in /root/fleet, revert the Caddy block, remove the 8445 SELinux port label.