2.3 KiB
2.3 KiB
CI Observer Operations Runbook
Purpose
Operational guide for running CI Observer on the runner VM with one stable production instance and optional temporary test instances.
Standard Layout on Runner
- Production folder:
/webapps/ci-observer-dashboard-prod - Temporary test folder example:
/webapps/ci-observer-dashboard-<feature> - One folder per instance. No nested folder-in-folder setup.
Production Deploy (main branch)
cd /webapps/ci-observer-dashboard-prod
git checkout main
git pull
docker compose up -d --build
docker compose ps
Required .env
GITHUB_TOKEN=...
GH_REPOS=Wolkabout/IoT-Platform-Core,Wolkabout/argocd
GH_WORKFLOWS=unit-tests.yml,deploy-be.yml,deploy-fe.yml
REFRESH_SECONDS=5
DASHBOARD_TITLE="CI Observer Dashboard"
Notes:
GH_WORKFLOWSmust be set in current app behavior.- Private repos require PAT scopes:
repo,read:org,workflow.
Production Compose (8089)
docker-compose.yml should use:
container_name: ci-observer-dashboard-prodports: "8089:8088"volumes: ./data:/app/data
Quick Health Check
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep ci-observer-dashboard-prod
curl -s http://127.0.0.1:8089/api/config
curl -s http://127.0.0.1:8089/api/runs | head -c 800; echo
Temporary Test Instance Flow
cd /webapps
git clone https://github.com/Wolkabout/ci-observer-dashboard.git ci-observer-dashboard-mytest
cd ci-observer-dashboard-mytest
cp /webapps/ci-observer-dashboard-prod/.env .env
git checkout <feature-branch>
Edit docker-compose.yml for test:
container_name: ci-observer-dashboard-mytestports: "8090:8088"(or any free test port)volumes: ./data-mytest:/app/data
Run:
docker compose up -d --build
Cleanup after test:
docker compose down --remove-orphans
cd /webapps
rm -rf /webapps/ci-observer-dashboard-mytest
Final Cleanup Checklist
docker rm -f ci-observer-dashboard ci-observer-dashboard-filters ci-observer-dashboard-metadata-test 2>/dev/null || true
find /webapps -maxdepth 1 -type d -name "ci-observer-dashboard-*" ! -name "ci-observer-dashboard-prod"
Expected final state:
- Only
/webapps/ci-observer-dashboard-prodis active for production. - Production container on
8089.