# CI Observer Dashboard (POC)

Minimal read-only dashboard that polls GitHub Actions runs and renders a live status wall.

## Quick start

1. Copy env template:

```bash
cp .env.example .env
```

2. Edit `.env` and set:

- `GITHUB_TOKEN` (classic PAT with `repo`, `read:org`, `workflow`)
- `GH_REPOS` (e.g. `Wolkabout/IoT-Platform-Core`)
- `GH_WORKFLOWS` (e.g. `unit-tests.yml`)

3. Run:

```bash
docker compose up -d --build
```

4. Open:

```
http://<runner-ip>:8088
```

## Filters preview (separate instance)

If testing the filters branch in parallel, use:

```bash
docker compose -f docker-compose.filters.yml up -d --build
```

This runs on port `8089` and uses `./data-filters`.

### Parallel instance on VM

```bash
cd /webapps
git clone https://github.com/Wolkabout/ci-observer-dashboard.git ci-observer-dashboard-filters
cd ci-observer-dashboard-filters
git checkout feature/filters
cp .env.example .env
docker compose -f docker-compose.filters.yml up -d --build
```

## Notes

- This is read-only; no CI/CD impact.
- For private repos, a token is required.
- Data stored locally in `./data/ci_observer.db`.

## Documentation

- Operations runbook: `docs/OPERATIONS_RUNBOOK.md`
- Architecture + diagrams: `docs/ARCHITECTURE.md`

## Appendix: Reverse proxy (NPM)

- Nginx Proxy Manager runs at `10.0.50.78`.
- DNS/hosts should point `ci-observer.wolkabout.com` to `10.0.50.78`.
- NPM forwards to the dashboard on `10.1.50.20:8089`.
