2025-05-21 16:42:55 +02:00
2025-05-21 16:32:15 +02:00
2025-04-16 14:38:10 +02:00
2025-05-21 16:32:15 +02:00
2025-05-21 16:32:15 +02:00
2025-04-17 09:24:36 +00:00
2025-05-21 16:36:49 +02:00

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)
Description
Output metrics about local and remote docker images versions
Readme MIT 57 KiB
0.6.2 Latest
2025-05-21 14:42:55 +00:00
Languages
Python 93.5%
Dockerfile 6.5%