Skip to content

[FR] Label-based opt-out for containers (cup.skip=true or similar) #165

@patillacode

Description

@patillacode

Is your feature request related to a problem? Please describe.
When cup monitors all running containers, some of them inevitably create noise that is hard to address.

Locally-built images have no upstream registry to check against, so cup cannot determine if there is an update.
Managed containers like nextcloud-aio-mastercontainer handle their own update lifecycle and should not be touched externally.
Sidecar containers (postgres, redis, valkey) are often intentionally pinned to a specific version.
cup.json has images.exclude for this, but it lives separately from the compose definition, requires knowing the full image reference upfront, and has reported stability issues (#145).

Describe the solution you'd like
A Docker label that tells cup to skip a container entirely:

labels:
  - "cup.skip=true"

This keeps the exclusion colocated with the compose definition, which is easier to maintain and reason about.

Describe alternatives you've considered
Continuing to use images.exclude in cup.json, but as mentioned above it has limitations and the experience is not great when managing many services.

Additional context
Example use case:

services:
  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    labels:
      - "cup.skip=true"

  myapp:
    build: .
    image: myapp:local
    labels:
      - "cup.skip=true"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions