- Add AUTH_SECRET env var required by Reactive Resume
- Kiwix auto-downloads Wikipedia Medical ZIM on first start
- Simplify Apple Health healthcheck to use InfluxDB ready() API
- Add all missing service config vars to ensure_env bootstrapping
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>
Add Reactive Resume, Metrics, Kiwix, Resume Matcher, and Apple Health
from the earlier SelfStack project. Rewrite Apple Health collector to
use InfluxDB v2 with proper error handling. Update all tests, scripts,
Homepage config, env template, and documentation for the expanded stack.
New services:
- Reactive Resume (4016) + Postgres/Minio/Chrome companions
- Metrics (4021) - GitHub metrics visualization
- Kiwix (4022) - offline wiki reader
- Resume Matcher (4023) - AI resume screening
- Apple Health (4024) - health data collector → InfluxDB v2
Also adds git policy to AGENTS.md: always commit and push automatically.
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>
- Set HOMEPAGE_ALLOWED_HOSTS=* so Homepage accepts requests from
localhost, LAN IPs, and Tailscale FQDNs (appropriate for demo)
- Add host validation to docker-compose.yml.template and demo.env.template
- Bootstrap HOMEPAGE_ALLOWED_HOSTS in ensure_env() for existing installs
- Harden Playwright tests: check for "host validation failed" and
"internal server error" text, verify page titles, use stronger
content assertions based on actual rendered content
- Pin @playwright/test to exact 1.52.0 (no caret) to prevent npm
resolving to a version incompatible with the Docker image
- Gitignore additional Homepage auto-generated files (custom.css/js,
proxmox.yaml)
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>
- Route Dockhand Docker access through docker-socket-proxy via
DOCKER_HOST=tcp://docker-socket-proxy:2375 instead of direct
socket mount, enforcing the security model documented in AGENTS.md
- Add POST, DELETE, ALLOW_START, ALLOW_STOP, ALLOW_RESTARTS
permissions to socket proxy for Dockhand container management
- Add deploy.resources.limits.memory to all 16 services
(128M-1024M depending on service needs)
- Add MailHog SMTP port 4019 mapping (1025 internal) so applications
can actually send test emails to MailHog
- Remove stale config/portainer/ directory
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>
- Add .gitignore excluding generated docker-compose.yml, demo.env,
editor files, and temporary files
- Remove demo/docker-compose.yml from tracking (generated by envsubst)
- Remove demo/demo.env from tracking (contains per-machine values)
- Add demo/demo.env.template as reference for required configuration
- Remove stale config/portainer/ directory (Portainer not in stack)
💘 Generated with Crush
Assisted-by: GLM-5.1 via Crush <crush@charm.land>