Notifications¶
Watchtower can send notifications when containers are updated. Notifications are sent via hooks in the logging system, logrus.
The types of notifications to send are passed via the comma-separated option --notifications
(or corresponding environment variable WATCHTOWER_NOTIFICATIONS
), which has the following valid values:
email
to send notifications via e-mailslack
to send notifications through a Slack webhookmsteams
to send notifications via MSTeams webhook
Settings¶
--notifications-level
(env.WATCHTOWER_NOTIFICATIONS_LEVEL
): Controls the log level which is used for the notifications. If omitted, the default log level isinfo
. Possible values are:panic
,fatal
,error
,warn
,info
ordebug
.
Available services¶
Email¶
To receive notifications by email, the following command-line options, or their corresponding environment variables, can be set:
--notification-email-from
(env.WATCHTOWER_NOTIFICATION_EMAIL_FROM
): The e-mail address from which notifications will be sent.--notification-email-to
(env.WATCHTOWER_NOTIFICATION_EMAIL_TO
): The e-mail address to which notifications will be sent.--notification-email-server
(env.WATCHTOWER_NOTIFICATION_EMAIL_SERVER
): The SMTP server to send e-mails through.--notification-email-server-tls-skip-verify
(env.WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS_SKIP_VERIFY
): Do not verify the TLS certificate of the mail server. This should be used only for testing.--notification-email-server-port
(env.WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT
): The port used to connect to the SMTP server to send e-mails through. Defaults to25
.--notification-email-server-user
(env.WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER
): The username to authenticate with the SMTP server with.--notification-email-server-password
(env.WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD
): The password to authenticate with the SMTP server with.
Example:
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_NOTIFICATIONS=email \
-e WATCHTOWER_NOTIFICATION_EMAIL_FROM=fromaddress@gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_TO=toaddress@gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=fromaddress@gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=app_password \
containrrr/watchtower
Slack¶
If watchtower is monitoring the same Docker daemon under which the watchtower container itself is running (i.e. if you volume-mounted /var/run/docker.sock into the watchtower container) then it has the ability to update itself. If a new version of the containrrr/watchtower image is pushed to the Docker Hub, your watchtower will pull down the new image and restart itself automatically.
To receive notifications in Slack, add slack
to the --notifications
option or the WATCHTOWER_NOTIFICATIONS
environment variable.
Additionally, you should set the Slack webhook url using the --notification-slack-hook-url
option or the WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL
environment variable.
By default, watchtower will send messages under the name watchtower
, you can customize this string through the --notification-slack-identifier
option or the WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER
environment variable.
Other, optional, variables include:
--notification-slack-channel
(env.WATCHTOWER_NOTIFICATION_SLACK_CHANNEL
): A string which overrides the webhook's default channel. Example: #my-custom-channel.--notification-slack-icon-emoji
(env.WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI
): An emoji code string to use in place of the default icon.--notification-slack-icon-url
(env.WATCHTOWER_NOTIFICATION_SLACK_ICON_URL
): An icon image URL string to use in place of the default icon.
Example:
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_NOTIFICATIONS=slack \
-e WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL="https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy" \
-e WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=watchtower-server-1 \
-e WATCHTOWER_NOTIFICATION_SLACK_CHANNEL=#my-custom-channel \
-e WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI=:whale: \
-e WATCHTOWER_NOTIFICATION_SLACK_ICON_URL=<icon url> \
containrrr/watchtower
Microsoft Teams¶
To receive notifications in MSTeams channel, add msteams
to the --notifications
option or the WATCHTOWER_NOTIFICATIONS
environment variable.
Additionally, you should set the MSTeams webhook url using the --notification-msteams-hook
option or the WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL
environment variable.
MSTeams notifier could send keys/values filled by log.WithField
or log.WithFields
as MSTeams message facts. To enable this feature add --notification-msteams-data
flag or set WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA=true
environment variable.
Example:
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_NOTIFICATIONS=msteams \
-e WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL="https://outlook.office.com/webhook/xxxxxxxx@xxxxxxx/IncomingWebhook/yyyyyyyy/zzzzzzzzzz" \
-e WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA=true \
containrrr/watchtower