0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

一人アドカレ 16日目: Cupdateの紹介

Last updated at Posted at 2025-12-23

イントロ

現在立ち上げているコンテナの新しいイメージが出ていないか、現在のイメージの脆弱性がどうかって気になりませんか?

そんな時に便利なのがCupdateです。

Cupdateはwatchtowerのような新しいイメージがレジストリにpushされたら自動で更新する、というところまでするものではありません。
使用中の画像から最新イメージがないか、現在のイメージに対しての脆弱性がどうか、といったことをチェックしてくれるツールです。

あくまで情報を取得するだけで、コンテナの更新は自分で管理する、という立ち位置が気に入りました。(もちろん更新できるサービスでも更新はしない、というような設定はありますけども)

Cupdateの使い方

環境情報
$ docker version
Client: Docker Engine - Community
 Version:           29.1.3
 API version:       1.52
 Go version:        go1.25.5
 Git commit:        f52814d
 Built:             Fri Dec 12 14:49:51 2025
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          29.1.3
  API version:      1.52 (minimum version 1.44)
  Go version:       go1.25.5
  Git commit:        fbf3ed2
  Built:            Fri Dec 12 14:49:51 2025
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v2.2.0
  GitCommit:        1c4457e00facac03ce1d75f7b6777a7a851e5c41
 runc:
  Version:          1.3.4
  GitCommit:        v1.3.4-0-gd6d73eb8
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

前提条件

  • Docker がインストールされていること
  • Traefik が導入されていること(リバースプロキシサーバー)

手順

  1. compose.ymlを作成します。

    domain.tldの部分は自分の環境に合わせて変更してください。

    services:
      cupdate:
        image: ghcr.io/alexgustafsson/cupdate
        container_name: cupdate
        restart: unless-stopped
        expose:
          - 8080
        environment:
          CUPDATE_CACHE_PATH: /var/run/cachev1.boltdb
          CUPDATE_DB_PATH: /var/run/dbv1.sqlite
          CUPDATE_DOCKER_HOST: unix:///var/run/docker.sock
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock:ro
          - target: /tmp
            type: tmpfs
        labels:
          traefik.enable: true
          traefik.host: cupdate
          traefik.http.services.cupdate.loadbalancer.server.port: 8080
          traefik.http.routers.cupdate.entrypoints: websecure
          traefik.http.routers.cupdate.tls: true
          traefik.http.routers.cupdate.tls.certResolver: cloudflare
          traefik.docker.network: traefik-network
          glance.name: cupdate
          glance.icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cupdate.png
          glance.url: https://cupdate.domain.tld/
          glance.description: Check if the image is up to date
          glance.id: cupdate
        networks:
          - traefik-network
    
    networks:
      traefik-network:
        external: true
    
  2. コンテナを起動します。

    docker compose -f compose.yml up -d
    

CleanShot 2025-12-23 at 22.39.02.png
CleanShot 2025-12-23 at 22.39.11.png

Cupdateの感想

  • 良いところ
    • 設定不要で、超軽量
    • 使用中のイメージの新しいバージョンがあるか確認できる
    • 使用中のイメージに対しての脆弱性情報を取得できる
    • Docker Hub以外にもGitHub, GitLab, Codebergなどのレジストリにも対応している
  • イマイチなところ
    • 通知機能はない(ウェブUIを見に行く必要がある)

以上、Cupdateの紹介でした。
気にしない人は気にしないで終わりますが、簡単に確認するにはちょうどいいシンプルさなので、ご興味があればぜひ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?