- Add Playwright E2E test suite covering all 13 user-facing services
- Fix Homepage HTTP 500 by removing read-only bind mount (:ro) so it
can create its required logs/ directory
- Pin @playwright/test to exact 1.52.0 to match Docker image browsers
- Add .gitignore entries for auto-generated Homepage files and
Playwright artifacts
- All 13 Playwright tests passing (Chromium headless)
💘 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>