Notifications

Dockupdater uses apprise to support a large variety of notification platforms.



Sample integrations

Email

docker run -d --name dockupdater \
  -v /var/run/docker.sock:/var/run/docker.sock \
  dockupdater/dockupdater -N 'mailtos://myUsername:myPassword@gmail.com?to=receivingAddress@gmail.com'

Webhooks

docker run -d --name dockupdater \
  -v /var/run/docker.sock:/var/run/docker.sock \
  dockupdater/dockupdater -N 'jsons://webhook.site/something'

Slack

docker run -d --name dockupdater \
  -v /var/run/docker.sock:/var/run/docker.sock \
  dockupdater/dockupdater -N 'slack://botName@TOKEN1/TOKEN2/TOKEN3/#mychannel'

More integrations

See all notification integrations supported by apprise

Startup notifications

By default, if notifications are enabled, all notification platforms will be fired with a body stating that dockupdater has started with the current time set in the container and the timestamp of when dockupdater will next check for updates. We can disable this bahevior with option –skip-start-notif.

Multiple notifications channels

You can specify multiple notifications by separate each with a space. Example, to send 3 notifications:

docker run -d --name dockupdater \
  -v /var/run/docker.sock:/var/run/docker.sock \
  dockupdater/dockupdater -N 'jsons://webhook.site/something jsons://webhook.site/otherthing slack://TOKEN1/TOKEN2/TOKEN3/#devops'

Override notifications with labels

Here a complete example of docker swarm with multiple notifications and multiple overrides.

version: "3.6"

configs:
  dockupdater-template:
    file: template.j2

services:
  dockupdater:
    image: dockupdater/dockupdater
    environment:
      NOTIFIERS: "slack://${SLACK_TOKEN}/#devops-monitoring"
      TZ: "America/Montreal"
      TEMPLATE_FILE: "/template.j2"
    configs:
      - source: dockupdater-template
        target: /template.j2
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    deploy:
      placement:
        constraints:
          - node.role == manager

  testA:
    image: myorg/testimage

  testB:
    image: myorg/testimage
    deploy:
      labels:
        dockupdater.notifiers: "slack://${SLACK_TOKEN}/#devops-monitoring slack://${SLACK_TOKEN}/#teamB"

  testC:
    image: myorg/testimage
    deploy:
      labels:
        dockupdater.notifiers: ""

With the template file template.j2:

{{ object.name }} ({{ object.get_image_name() }}: {{ object.get_tag() }})

On this example:


Next: Frequently Asked Questions (FAQ)