Feat/strict version and tag
dockup
Presentation
Monitoring docker container updates is not that simple. This project's purpose is to expose JSON metrics, comparing local and remote tags, featuring semver checks and suffix preservation.
Quick start
Get the provided compose.yaml.
docker compose up -d
All images are exposed to http://0.0.0.0:8000/all in JSON format.
If you want to get only images needing update, look at http://0.0.0.0:8000/updates.
Here is a quick example of what you get on the /all endpoint (dockup don't have local tag because it is a locally built image):
[
{
"name": "dockup",
"repo": "dockup-dockup",
"local_tag": "latest",
"remote_tag": null
},
{
"name": "wikijs-wiki-1",
"repo": "ghcr.io/requarks/wiki",
"local_tag": "2.5.307",
"remote_tag": "2.5.307"
},
{
"name": "wikijs-db-1",
"repo": "postgres",
"local_tag": "17.4-alpine",
"remote_tag": "17.5-alpine"
}
]
Requirements
This program needs regctl. It is shipped with container image by default, however you'll need to install it by yourself if running script directly.
Install required Python libraries if running directly from script:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
For local development, add linting tools:
pip install isort black flake8 pylint
This program also needs read access to /var/run/docker.sock.
Configuration
Configuration options are available via environment variables:
DOCKUP_INTERVAL: Time between refreshes (30 min by default)DOCKUP_PORT: Change default port - Do not set this option when running via Docker (Defaults to 8000)