Serve Command
Serve Command
Start the real-time web dashboard server with Server-Sent Events (SSE) for live pipeline monitoring.
Usage:
gitlab-summary serve --group <GROUP> [OPTIONS]
Options
Required
| Option | Short | Description | Example |
|---|---|---|---|
--group | -g | GitLab group ID or path | my-org, 456, team/infra |
Optional
| Option | Short | Description | Default | Example |
|---|---|---|---|---|
--since | -s | Initial time range for pipelines | 24h | 12h, 7d |
--port | — | HTTP server port | 5100 | 8080, 3000 |
--open | — | Open browser automatically | false | N/A (flag) |
--interval | — | SSE update interval (seconds) | 30 | 15, 60, 120 |
--ai-model | — | Copilot model for AI analysis | claude-sonnet-4-5 | claude-opus-4, gpt-4 |
--url | -u | Override GitLab instance URL | Config value | https://gitlab.com |
How It Works
The serve command:
- Starts HTTP server — Serves the Vue.js dashboard on the specified port
- Establishes SSE connection — Opens a persistent connection for real-time updates
- Polls GitLab API — Fetches pipeline data at the configured interval
- Pushes updates — Sends new data to connected browsers via SSE
- Caches AI analyses — Stores GitHub Copilot insights for quick access
The dashboard will be accessible at http://localhost:5100 (or your custom port).
Basic Usage
Start server:
gitlab-summary serve --group my-org
Access at: http://localhost:5100
Start with browser:
gitlab-summary serve --group my-org --open
Automatically opens your default browser.
Custom Port
gitlab-summary serve --group my-org --port 8080
Access at: http://localhost:8080
Custom Refresh Interval
gitlab-summary serve --group my-org --interval 60
Updates every 60 seconds (default: 30).
Custom Time Range
gitlab-summary serve --group my-org --since 7d
Shows pipelines from the last 7 days.
Note: Time range can be changed dynamically in the dashboard UI.
Custom AI Model
Choose a different Copilot model for AI analysis:
gitlab-summary serve --group my-org --ai-model claude-opus-4
Available models include:
claude-sonnet-4-5(default, fast and efficient)claude-opus-4(most capable, slower)gpt-4(OpenAI model)
Note: Can also be set via COPILOT_MODEL environment variable in Docker deployments.
Full Configuration Example
Start dashboard with all options:
gitlab-summary serve --group my-org --port 8080 --interval 60 --since 7d --open
- Serves on port 8080
- Updates every 60 seconds
- Shows last 7 days of pipelines
- Opens browser automatically
Dashboard Features
When the dashboard is running, you can:
- View real-time updates — Pipeline statuses refresh automatically
- Navigate group hierarchy — Browse parent/child groups and switch between them
- Drill into pipelines — Click any pipeline to view jobs, commits, and contributors
- Analyze failures with AI — Use GitHub Copilot to investigate job failures
- View commit details — See timestamps, authors, and clickable links to GitLab
- Track contributors — See who’s triggering pipelines and their success rates
- Review AI history — Access all cached AI analyses across projects
- Switch time ranges — Change from 1 day to 30 days in the UI
- Toggle themes — Switch between light and dark mode
Server Logs
The server outputs helpful information:
Starting SSE server...
Group: my-org (ID: 2310)
Interval: 30 seconds
Port: 5100
Dashboard: http://localhost:5100
✓ Server started successfully
✓ Watching for updates...
[14:32:15] Fetched 45 pipelines across 8 projects
[14:32:45] Fetched 46 pipelines across 8 projects (1 new)
Stopping the Server
Press Ctrl+C to gracefully shut down the server.
Common Use Cases
1. Team Dashboard
Run the dashboard on a shared screen for team visibility:
gitlab-summary serve --group my-org --open --interval 60
Updates every minute, showing real-time pipeline health for the entire team.
2. CI/CD Monitoring
Monitor critical infrastructure projects during deployments:
gitlab-summary serve --group production --interval 15
Fast 15-second updates for rapid feedback during high-stakes changes.
3. Executive Overview
Show high-level metrics to stakeholders:
gitlab-summary serve --group company --since 30d --interval 300
Shows 30-day trends with 5-minute refresh intervals.
4. Development Workflow
Keep the dashboard open during development:
gitlab-summary serve --group my-team --open
See your own pipeline results in real-time as you push commits.
5. Custom Port for Multiple Groups
Run multiple instances to monitor different groups:
# Terminal 1
gitlab-summary serve --group backend --port 5100
# Terminal 2
gitlab-summary serve --group frontend --port 5101
Access backend at http://localhost:5100 and frontend at http://localhost:5101.
Browser Support
The dashboard works best on:
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
Requires:
- Server-Sent Events (SSE) support
- ES2020 JavaScript
- LocalStorage for preferences