feat(demo): add complete TSYS developer support stack demo implementation

Add full demo environment with 13 services across 4 categories:
- Infrastructure: Homepage, Docker Socket Proxy, Pi-hole, Portainer
- Monitoring: InfluxDB, Grafana
- Documentation: Draw.io, Kroki
- Developer Tools: Atomic Tracker, ArchiveBox, Tube Archivist,
  Wakapi, MailHog, Atuin

Includes:
- Docker Compose templates with dynamic environment configuration
- Deployment orchestration scripts with user ID detection
- Comprehensive test suite (unit, integration, e2e)
- Pre-deployment validation with yamllint, shellcheck
- Full documentation (PRD, AGENTS, README)
- Service configurations for all components

All services configured for demo purposes with:
- Dynamic UID/GID mapping
- Docker socket proxy security
- Health checks and monitoring
- Service discovery via Homepage labels

Ports allocated 4000-4099 range with sequential assignment.

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
This commit is contained in:
2026-01-24 10:46:29 -05:00
parent c2d8b502cc
commit 937ec852eb
19 changed files with 4393 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
# TSYS Developer Support Stack - Service Guides
This directory contains detailed guides for each service in the stack.
## Available Guides
- [Homepage Dashboard](homepage.md)
- [Infrastructure Services](infrastructure.md)
- [Monitoring & Observability](monitoring.md)
- [Documentation & Diagramming](documentation.md)
- [Developer Tools](developer-tools.md)
## Quick Access
All services are accessible through the Homepage dashboard at http://localhost:4000
## Service Categories
### 🏗️ Infrastructure Services
- **Pi-hole** (Port 4006): DNS management with ad blocking
- **Portainer** (Port 4007): Web-based container management
- **Docker Socket Proxy** (Port 4005): Secure Docker socket access
### 📊 Monitoring & Observability
- **InfluxDB** (Port 4008): Time series database for metrics
- **Grafana** (Port 4009): Analytics and visualization platform
### 📚 Documentation & Diagramming
- **Draw.io** (Port 4010): Web-based diagramming application
- **Kroki** (Port 4011): Diagrams as a service
### 🛠️ Developer Tools
- **Homepage** (Port 4000): Central dashboard for service discovery
- **Atomic Tracker** (Port 4012): Habit tracking and personal dashboard
- **ArchiveBox** (Port 4013): Web archiving solution
- **Tube Archivist** (Port 4014): YouTube video archiving
- **Wakapi** (Port 4015): Open-source WakaTime alternative
- **MailHog** (Port 4017): Web and API based SMTP testing
- **Atuin** (Port 4018): Magical shell history synchronization
## Demo Credentials
⚠️ **FOR DEMONSTRATION PURPOSES ONLY**
- **Username**: `admin`
- **Password**: `demo_password`
These credentials work for Grafana and Portainer. Other services may have different authentication requirements.
## Getting Help
1. Check the individual service guides below
2. Review the [troubleshooting guide](../troubleshooting/README.md)
3. Check service logs: `docker compose logs [service-name]`
4. Verify service status: `docker compose ps`