Status (GitLab) Dashboard
The dashboard is intended to simplify the presentation of the evolution of products and projects for different stakeholders.
It uses GitLab APIs and is based on Python with Plotly Dash.
Tested with:
- Python 3.10
- Dash 2.7.0
- Plotly 5.12
- GitLab 15+
Routes
| Route | Description | Image |
|---|---|---|
/ or /dashboard |
Status Dashboard | Preview |
/monitor |
Build Monitor | Preview |
Environment
| Key | Description | Default |
|---|---|---|
| GITLAB_TOKEN | GitLab token will be used whenever the API is invoked | |
| GITLAB_GROUP_ID | GitLab group id | |
| GITLAB_PROJECT_IDS | GitLab project id list (Json format) | see .env.example for details |
| DEBUG | Debug mode (optional) | false |
| LOGLEVEL | Logging level (optional) | INFO |
| LOGFORMAT | Logging format output (optional) | %(asctime)s - %(levelname)s - %(message)s |
| APP_NAME | Dashboard application name (optional) | Status Dashboard |
| APP_HOST | Dashboard host ip adress (optional) | 0.0.0.0 (for Docker environment) |
| APP_PORT | Dashboard port (optional) | 5000 |
| REDIS_URL | Redis url | redis://localhost:6379 |
Rename your .env.example to .env and add the required changes.
Run locally
$ pip install -r requirements.txt
$ python3 index.pyRun via Docker
$ docker run --rm --name redis -p 6379:6379 redis:7.0-alpine
$ docker run --rm --env-file .env --name status-dashboard -p 5000:5000 juergenpointinger/status-dashboard:latestBuild via Docker
$ docker-compose up -d
$ docker build . -t juergenpointinger/status-dashboard:latest
$ docker run --rm --name status-dashboard -p 5000:5000 juergenpointinger/status-dashboard:latestOn this page
Languages
Python95.0%CSS2.1%Dockerfile1.6%Shell1.3%
MIT License
Created May 25, 2020
Updated February 11, 2023