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+
Route | Description | Image |
---|---|---|
/ or /dashboard |
Status Dashboard | Preview |
/monitor |
Build Monitor | Preview |
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.
$ pip install -r requirements.txt
$ python3 index.py
$ 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:latest
$ docker-compose up -d
$ docker build . -t juergenpointinger/status-dashboard:latest
$ docker run --rm --name status-dashboard -p 5000:5000 juergenpointinger/status-dashboard:latest