All checks were successful
Build and Deploy DevOpsDash / build-image (push) Successful in 27s
- Replace 4-column Kanban with project-grouped sidebar + flat task list - Status badges (colored pills) with click-to-cycle - Full task edit modal: title, description, status, priority, tags, findings - Worklog sync endpoints POST /api/v1/worklog/sync + sync-activity - Worklog empty state with curl command + paste-to-upload modal - Font Awesome 6 throughout, no emojis - Indigo topbar (bg-indigo-950) - Fix Knowledge rendering: r.documents, r.files, r.available_agents/skills - HOWTOs filename fallback, agent/skill detail extraction
DevOpsDash
Visual dashboard for DevOpsMCP — built as a separate service so updates to DevOpsMCP never break the dashboard.
Live at: https://dash.i80.dk
Features
- Taskz — Kanban board for all task boards (create/update tasks, add findings, change status/priority)
- Worklog — Git commit timeline proxied from DevOpsMCP (egmont/personal/all, configurable date range)
- Standup — AI-generated standup summary via DevOpsMCP
- Knowledge — Browse ADRs, memories, and knowledge catalog files
Stack
- Backend: FastAPI (Python 3.11)
- Frontend: Alpine.js + Tailwind CSS (CDN, no build step)
- Data: Read-only access to DevOpsMCP's Redis + data directory (bind-mount)
Architecture
DevOpsMCP (devops-mcp.i80.dk) DevOpsDash (dash.i80.dk)
Redis ◄────────────────────────────── read same Redis
/opt/devops-mcp/data (rw) ─────────► /data (read-only bind-mount)
MCP HTTP API ──────────────────────── worklog proxy calls
Development
# Copy .env.example
cp .env.example .env
# Edit DATA_DIR to point at local DevOpsMCP data directory
# Install dependencies
pip install -r requirements.txt
# Run
python -m uvicorn app.main:app --reload --port 8001
Deployment
# Build + push image
docker build -t registry.i80.dk/gitea/devops-dash:latest .
docker push registry.i80.dk/gitea/devops-dash:latest
# Deploy to Nomad
# First: ensure the host volume exists on autobox.i80.dk
# See devops-mcp.nomad for the DevOpsMCP side bind-mount setup
scp devops-dash.nomad autobox.i80.dk:/tmp/
ssh autobox.i80.dk 'NOMAD_ADDR=https://nomad.i80.dk:4646 nomad job run /tmp/devops-dash.nomad'
Nomad Host Volume (one-time setup on autobox.i80.dk)
Add to /etc/nomad.d/client.hcl:
host_volume "devops-mcp-data" {
path = "/opt/devops-mcp/data"
read_only = false
}
Then restart Nomad. The DevOpsDash job mounts the same volume as read-only.
Description
Languages
HTML
59.9%
Python
34.9%
HCL
3.6%
Makefile
1.1%
Dockerfile
0.5%