mrcharles f0101e482b feat(demo): add deep HTTP and browser validation layers
The existing smoke test only checked TCP port connectivity, which cannot
detect a service that accepts connections but returns errors or serves
the wrong content (exactly how the broken Kiwix slipped through).

Add two new validation layers:

1. validate-http.sh — curls every service's health/UI endpoint and
   asserts both the HTTP status code AND meaningful body content (JSON
   health fields like "database":"ok", XML markers, page strings). Also
   verifies Kiwix has a ZIM actually loaded via its OPDS catalog feed.

2. run-browser-tests.sh — drives a real headless Chromium via the
   official Playwright Docker image (no host Node install needed) to
   confirm pages render correctly after JavaScript execution and SPA
   hydration. Updated playwright-services.spec.ts with correct content
   tokens and a waitForFunction step that reliably handles SPA timing.

Both are wired into demo-test.sh (new `http` and `browser` subcommands)
and the full test suite. AGENTS.md and demo/AGENTS.md updated with the
new commands and protocols.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-30 15:35:34 -05:00
2025-11-16 19:37:14 +00:00

TSYS Developer Support Stack

A Docker Compose-based multi-service stack of FOSS applications that run locally on developer workstations to enhance productivity and quality of life.

What It Does

Deploys 24 services across 6 categories via a single command:

Category Services
Infrastructure Homepage (dashboard), Pi-hole (DNS), Dockhand (Docker management), Docker Socket Proxy
Monitoring InfluxDB (time series), Grafana (visualization), Metrics (GitHub metrics), Apple Health (health data)
Documentation Draw.io (diagramming), Kroki (diagrams as code), Kiwix (offline wiki)
Developer Tools Atomic Tracker, ArchiveBox, Tube Archivist, Wakapi, MailHog, Atuin
Productivity Reactive Resume (resume builder), Resume Matcher (AI resume screening)

Quick Start

cd demo
cp demo.env.template demo.env
./scripts/demo-stack.sh deploy

Access the dashboard at http://localhost:4000

Credentials: admin / demo_password (demo only)

Requirements

  • Docker Engine + Docker Compose
  • 8GB RAM minimum
  • 10GB disk space
  • Linux (tested on Ubuntu)

Documentation

Document Purpose
demo/PRD.md Product requirements (the source of truth)
demo/README.md Full deployment and service documentation
demo/AGENTS.md Development guidelines
AGENTS.md Quick reference for contributors

Testing

# Unit tests (no Docker required)
bash demo/tests/unit/test_env_validation.sh

# Full test suite (requires running stack)
./demo/scripts/demo-test.sh full

License

See LICENSE.

S
Description
Off the shelf applications running local to developer workstations
Readme AGPL-3.0
403 KiB
Languages
Markdown 100%