WUD (What's up Docker?) Documentation

repository·main·Indexed 25 days ago

https://github.com/getwud/wud

WUD is a tool used to monitor Docker containers and notify users or automate processes when new versions of container images are available. It features a REST API, support for Basic and OpenID Connect (OIDC) authentication, and configuration via environment variables and Docker labels.

Tokens
43.4K
Snippets
127
Records
232
Agent score
86%

What's inside WUD

  1. Overview of WUD (What's up Docker?)

    main

    WUD is a tool designed to keep your Docker containers up-to-date by monitoring them for new image versions. The system operates using three core components:

    • WATCHERS: Scan Docker hosts to discover which containers should be monitored.
    • REGISTRIES: Query remote Docker registries to identify if new image versions are available.
    • TRIGGERS: Execute specific actions (notifications, updates, or custom scripts) when updates are detected.

    WUD also provides a Web UI for container insights and manual trigger execution.

  2. Configure WUD using Environment Variables and Docker labels

    main
    WUD is configured primarily through Environment Variables and Docker labels. Configuration is modular, covering areas such as Authentication, Logs, Registries, Server, Storage, Timezone, Triggers, and Watchers.
  3. Supported Container Registries in WUD

    main

    WUD supports a wide range of container registries. By default, WUD handles public images hosted on the following registries without additional configuration:

    • CODEBERG (codeberg.org)
    • ECR (public.ecr.aws)
    • FORGEJO (code.forgejo.org)
    • GCR
    • GHCR
    • HUB
    • QUAY

    For private or specific registry configurations, WUD provides dedicated support for:

    • ACR (Azure Container Registry)
    • CUSTOM (Self-hosted Registry)
    • ECR (Amazon Elastic Container Registry)
    • FORGEJO (Forgejo Container Registry)
    • GCR (Google Container Registry)
    • GHCR (Github Container Registry)
    • GITEA (Gitea Container Registry)
    • GITLAB (Gitlab Container Registry)
    • HUB (Docker Hub)
    • LSCR (LinuxServer Container Registry)
    • TrueForge (TrueForge OCI Registry)
    • Quay
  4. Configure WUD Triggers via environment variables

    main

    Triggers perform actions when a new container version is detected. They are enabled using environment variables following this pattern:

    WUD_TRIGGER_{{ trigger_type }}_{{trigger_name }}_{{ trigger_configuration_item }}=XXX

    To configure multiple triggers of the same type (e.g., multiple SMTP addresses), provide them with unique names in the {trigger_name} segment.

    Example for an SMTP trigger named GMAIL: WUD_TRIGGER_SMTP_GMAIL_SIMPLETITLE=...

    WUD_TRIGGER_{{ trigger_type }}_{{trigger_name }}_{{ trigger_configuration_item }}=XXX
  5. Create a GitHub Personal Access Token for GHCR

    main

    To allow WUD to pull images from your private GitHub registry, create a Personal Access Token (PAT) with the following steps:

    1. Go to your GitHub settings and open the Personal Access Tokens tab.
    2. Click Generate new token.
    3. Select an expiration time.
    4. Select the read:packages scope (this is the only scope required for WUD).
    5. Generate the token and copy it.
    6. Use the copied token as the value for WUD_REGISTRY_GHCR_{REGISTRY_NAME}_TOKEN.
  6. Get started with WUD

    main

    WUD (What's up Docker?) is a tool designed to help you keep your Docker containers up-to-date. For detailed installation instructions, configuration guides, and usage patterns, visit the official documentation site.

    https://getwud.github.io/wud/
  7. Run WUD using Docker Compose

    main

    The easiest way to deploy WUD is using Docker Compose. Ensure you mount the host's Docker socket so WUD can monitor your containers.

    services:
      whatsupdocker:
        image: getwud/wud
        container_name: wud
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
        ports:
          - 3000:3000
  8. Manage secrets using the __FILE suffix

    main
    To avoid exposing sensitive values directly in environment variables, you can externalize secrets into files. To do this, suffix the original environment variable name with __FILE and provide the path to the file containing the secret value.
  9. Create a GitLab Personal Access Token for WUD

    main

    To allow WUD to check for updates, create a Personal Access Token in GitLab with the following steps:

    1. Navigate to your GitLab settings and open the Personal Access Token page.
    2. Enter the token details.
    3. Important: Ensure you select the read_registry scope (this is the only scope required for WUD).
    4. Generate the token and copy it.
    5. Use the copied token as the value for WUD_REGISTRY_GITLAB_{REGISTRY_NAME}_TOKEN.