mirror of
https://github.com/containrrr/watchtower.git
synced 2026-01-06 17:18:49 +01:00
Merge branch 'main' into healthcheck
This commit is contained in:
commit
246da4da68
31 changed files with 745 additions and 986 deletions
|
|
@ -27,6 +27,33 @@ In the example above, watchtower will execute an upgrade attempt on the containe
|
|||
|
||||
When no arguments are specified, watchtower will monitor all running containers.
|
||||
|
||||
## Secrets/Files
|
||||
|
||||
Some arguments can also reference a file, in which case the contents of the file are used as the value.
|
||||
This can be used to avoid putting secrets in the configuration file or command line.
|
||||
|
||||
The following arguments are currently supported (including their corresponding `WATCHTOWER_` environment variables):
|
||||
- `notification-url`
|
||||
- `notification-email-server-password`
|
||||
- `notification-slack-hook-url`
|
||||
- `notification-msteams-hook`
|
||||
- `notification-gotify-token`
|
||||
- `http-api-token`
|
||||
|
||||
### Example docker-compose usage
|
||||
```yaml
|
||||
secrets:
|
||||
access_token:
|
||||
file: access_token
|
||||
|
||||
services:
|
||||
watchtower:
|
||||
secrets:
|
||||
- access_token
|
||||
environment:
|
||||
- WATCHTOWER_HTTP_API_TOKEN=/run/secrets/access_token
|
||||
```
|
||||
|
||||
## Help
|
||||
Shows documentation about the supported flags.
|
||||
|
||||
|
|
@ -107,6 +134,17 @@ Environment Variable: WATCHTOWER_LOG_LEVEL
|
|||
Default: info
|
||||
```
|
||||
|
||||
## Logging format
|
||||
|
||||
Sets what logging format to use for console output.
|
||||
|
||||
```text
|
||||
Argument: --log-format, -l
|
||||
Environment Variable: WATCHTOWER_LOG_FORMAT
|
||||
Possible values: Auto, LogFmt, Pretty or JSON
|
||||
Default: Auto
|
||||
```
|
||||
|
||||
## ANSI colors
|
||||
Disable ANSI color escape codes in log output.
|
||||
|
||||
|
|
@ -151,7 +189,7 @@ Environment Variable: WATCHTOWER_INCLUDE_RESTARTING
|
|||
Will also include created and exited containers.
|
||||
|
||||
```text
|
||||
Argument: --include-stopped
|
||||
Argument: --include-stopped, -S
|
||||
Environment Variable: WATCHTOWER_INCLUDE_STOPPED
|
||||
Type: Boolean
|
||||
Default: false
|
||||
|
|
@ -178,7 +216,7 @@ Environment Variable: WATCHTOWER_POLL_INTERVAL
|
|||
```
|
||||
|
||||
## Filter by enable label
|
||||
Update containers that have a `com.centurylinklabs.watchtower.enable` label set to true.
|
||||
Monitor and update containers that have a `com.centurylinklabs.watchtower.enable` label set to true.
|
||||
|
||||
```text
|
||||
Argument: --label-enable
|
||||
|
|
@ -188,7 +226,7 @@ Environment Variable: WATCHTOWER_LABEL_ENABLE
|
|||
```
|
||||
|
||||
## Filter by disable label
|
||||
__Do not__ update containers that have `com.centurylinklabs.watchtower.enable` label set to false and
|
||||
__Do not__ Monitor and update containers that have `com.centurylinklabs.watchtower.enable` label set to false and
|
||||
no `--label-enable` argument is passed. Note that only one or the other (targeting by enable label) can be
|
||||
used at the same time to target containers.
|
||||
|
||||
|
|
@ -211,6 +249,19 @@ Environment Variable: WATCHTOWER_MONITOR_ONLY
|
|||
|
||||
Note that monitor-only can also be specified on a per-container basis with the `com.centurylinklabs.watchtower.monitor-only` label set on those containers.
|
||||
|
||||
See [With label taking precedence over arguments](#With-label-taking-precedence-over-arguments) for behavior when both argument and label are set
|
||||
|
||||
## With label taking precedence over arguments
|
||||
|
||||
By default, arguments will take precedence over labels. This means that if you set `WATCHTOWER_MONITOR_ONLY` to true or use `--monitor-only`, a container with `com.centurylinklabs.watchtower.monitor-only` set to false will not be updated. If you set `WATCHTOWER_LABEL_TAKE_PRECEDENCE` to true or use `--label-take-precedence`, then the container will also be updated. This also apply to the no pull option. if you set `WATCHTOWER_NO_PULL` to true or use `--no-pull`, a container with `com.centurylinklabs.watchtower.no-pull` set to false will not pull the new image. If you set `WATCHTOWER_LABEL_TAKE_PRECEDENCE` to true or use `--label-take-precedence`, then the container will pull image
|
||||
|
||||
```text
|
||||
Argument: --label-take-precedence
|
||||
Environment Variable: WATCHTOWER_LABEL_TAKE_PRECEDENCE
|
||||
Type: Boolean
|
||||
Default: false
|
||||
```
|
||||
|
||||
## Without restarting containers
|
||||
Do not restart containers after updating. This option can be useful when the start of the containers
|
||||
is managed by an external system such as systemd.
|
||||
|
|
@ -237,6 +288,8 @@ Environment Variable: WATCHTOWER_NO_PULL
|
|||
Note that no-pull can also be specified on a per-container basis with the
|
||||
`com.centurylinklabs.watchtower.no-pull` label set on those containers.
|
||||
|
||||
See [With label taking precedence over arguments](#With-label-taking-precedence-over-arguments) for behavior when both argument and label are set
|
||||
|
||||
## Without sending a startup message
|
||||
Do not send a message after watchtower started. Otherwise there will be an info-level notification.
|
||||
|
||||
|
|
@ -251,7 +304,7 @@ Environment Variable: WATCHTOWER_NO_STARTUP_MESSAGE
|
|||
Run an update attempt against a container name list one time immediately and exit.
|
||||
|
||||
```text
|
||||
Argument: --run-once
|
||||
Argument: --run-once, -R
|
||||
Environment Variable: WATCHTOWER_RUN_ONCE
|
||||
Type: Boolean
|
||||
Default: false
|
||||
|
|
@ -270,6 +323,7 @@ Environment Variable: WATCHTOWER_HTTP_API_UPDATE
|
|||
|
||||
## HTTP API Token
|
||||
Sets an authentication token to HTTP API requests.
|
||||
Can also reference a file, in which case the contents of the file are used.
|
||||
|
||||
```text
|
||||
Argument: --http-api-token
|
||||
|
|
@ -375,3 +429,21 @@ Returns a success exit code to enable usage with docker `HEALTHCHECK`. This chec
|
|||
```text
|
||||
Argument: --health-check
|
||||
```
|
||||
|
||||
## Programatic Output (porcelain)
|
||||
|
||||
Writes the session results to STDOUT using a stable, machine-readable format (indicated by the argument VERSION).
|
||||
|
||||
Alias for:
|
||||
|
||||
```text
|
||||
--notification-url logger://
|
||||
--notification-log-stdout
|
||||
--notification-report
|
||||
--notification-template porcelain.VERSION.summary-no-log
|
||||
|
||||
Argument: --porcelain, -P
|
||||
Environment Variable: WATCHTOWER_PORCELAIN
|
||||
Possible values: v1
|
||||
Default: -
|
||||
```
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ CONTAINER ID IMAGE STATUS PORTS
|
|||
6cc4d2a9d1a5 containrrr/watchtower Up 15 minutes watchtower
|
||||
```
|
||||
|
||||
Every few minutes watchtower will pull the latest _centurylink/wetty-cli_ image and compare it to the one that was used to run the "wetty" container. If it sees that the image has changed it will stop/remove the "wetty" container and then restart it using the new image and the same `docker run` options that were used to start the container initially (in this case, that would include the `-p 8080:3000` port mapping).
|
||||
Every day watchtower will pull the latest _centurylink/wetty-cli_ image and compare it to the one that was used to run the "wetty" container. If it sees that the image has changed it will stop/remove the "wetty" container and then restart it using the new image and the same `docker run` options that were used to start the container initially (in this case, that would include the `-p 8080:3000` port mapping).
|
||||
|
||||
|
|
|
|||
|
|
@ -18,10 +18,11 @@ system, [logrus](http://github.com/sirupsen/logrus).
|
|||
|
||||
- `--notifications-level` (env. `WATCHTOWER_NOTIFICATIONS_LEVEL`): Controls the log level which is used for the notifications. If omitted, the default log level is `info`. Possible values are: `panic`, `fatal`, `error`, `warn`, `info`, `debug` or `trace`.
|
||||
- `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname.
|
||||
- `--notifications-delay` (env. `WATCHTOWER_NOTIFICATION_DELAY`): Delay before sending notifications expressed in seconds.
|
||||
- `--notifications-delay` (env. `WATCHTOWER_NOTIFICATIONS_DELAY`): Delay before sending notifications expressed in seconds.
|
||||
- Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument.
|
||||
- `notification-title-tag` (env. `WATCHTOWER_NOTIFICATION_TITLE_TAG`): Prefix to include in the title. Useful when running multiple watchtowers.
|
||||
- `notification-skip-title` (env. `WATCHTOWER_NOTIFICATION_SKIP_TITLE`): Do not pass the title param to notifications. This will not pass a dynamic title override to notification services. If no title is configured for the service, it will remove the title all together.
|
||||
- `--notification-title-tag` (env. `WATCHTOWER_NOTIFICATION_TITLE_TAG`): Prefix to include in the title. Useful when running multiple watchtowers.
|
||||
- `--notification-skip-title` (env. `WATCHTOWER_NOTIFICATION_SKIP_TITLE`): Do not pass the title param to notifications. This will not pass a dynamic title override to notification services. If no title is configured for the service, it will remove the title all together.
|
||||
- `--notification-log-stdout` (env. `WATCHTOWER_NOTIFICATION_LOG_STDOUT`): Enable output from `logger://` shoutrrr service to stdout.
|
||||
|
||||
## [shoutrrr](https://github.com/containrrr/shoutrrr) notifications
|
||||
|
||||
|
|
@ -30,7 +31,7 @@ To send notifications via shoutrrr, the following command-line options, or their
|
|||
- `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. This option can also reference a file, in which case the contents of the file are used.
|
||||
|
||||
|
||||
Go to [containrrr.dev/shoutrrr/v0.7/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to
|
||||
Go to [containrrr.dev/shoutrrr/v0.8/services/overview](https://containrrr.dev/shoutrrr/v0.8/services/overview) to
|
||||
learn more about the different service URLs you can use. You can define multiple services by space separating the
|
||||
URLs. (See example below)
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ in a volume that may be mounted onto your watchtower container.
|
|||
|
||||
1. Create the Dockerfile (contents below):
|
||||
```Dockerfile
|
||||
FROM golang:1.16
|
||||
FROM golang:1.17
|
||||
|
||||
ENV GO111MODULE off
|
||||
ENV CGO_ENABLED 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue