* feat: allow hostname override for email notifier
As it currently stands all notifiers utilise `os.Hostname` to populate their titles/subjects.
When utilising Docker with a bridged network if you set the hostname for a container to an external DNS hostname Docker's internal DNS resolver will override said hostname for all containers within the bridged network.
This change allows a user to specify what hostname should be represented in the email notifications without having to change the `os.Hostname`.
* feat: allow custom hostname for all notifiers
* docs: adjust notification hostname flag
Probably due to the docker hub rate limiting, the default interval was changed from 5 minutes to 24 hours.
It is mentioned in the documentation for `--interval`, but not yet here :-)
* Update to improve the private registry docs
* minor adjustments
I know it's totally OK to enumerate a list using the same number in markdown, but for the sake of people reading the raw docs, I'd still like them to be numbered.
Also removed a superfluous `version: 3` and made sure all other versions were set to `"3.4"`.
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
* Add monitor-only label
* Add tests for monitor-only
* Treat missing monitor-only label as if the option was set to false
* Add docs for container-based monitor-only
* Add function doc
* Fix monitor-only logic
* implement rolling restart functionality
bouncing each image individually can ensure that a group of docker
containers launched with docker-compose can stay 100% up during deploy.
* move rolling restart into a function
* honor params.Cleanup
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
* Adds scopeUID config to enable multiple instances of Watchtower
* Adds tests for multiple instance support with scopeuid
* Adds docs on scope monitoring and multiple instance support
* Adds multiple instances docs to mkdocs config file
* Changes multiple instances check and refactors naming for scope feature
* Applies linter suggestions
* Fixes documentation on Watchtower monitoring scope
* Allows options containing sensitive stuff (passwords, tokens) to be passed as a file instead
* Fixed linter error, added tests, removed notification-url (due to being an array)
The notification shows an example of how to get it working for gmail smtp servers, but it's missing the port parameter required to get the SMTP connection working.
Without this setting, you get a "connection refused" connecting to port 25.
Given the popularity of gmail, it would be nice to have this example more accurate.
* Added HTTP API trigger to update running images
* Adds HTTP API authentication token parameter and handling
* Exposes port 8080 in Dockerfile to allow inter-container update triggering via HTTP API
* Fixes codacy issue
* Adds API usage doc
* Fix grammar
* Moves api logic to a package of its own
* Makes WT exit if token has not been set in HTTP API mode
* Adds lock to prevent concurrent updates when in HTTP API mode
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
This adds a description of the "TZ" environment variable to the documentation so users will know it exists and works with Watchtower. I only learned of this variable by reading the comments on issue #160.
* feat(update): add lifecycle hooks to the update action
* fix(ci): add bash tests for lifecycle-hooks to the ci workflow
* fix(ci): move integration tests to an isolated step
* fix(ci): fix malformed all-contributors json
* fix(ci): disable automatic bash test until we figure out a reasonable way to run it in circleci
This adds support for Gotify (https://gotify.net) notifications.
Work items:
* Two flags have been added to internal/flags/flags.go:
"notification-gotify-url" and "notification-gotify-token".
* A Gotify notification driver has been added in
notifications/gotify.go.
* "gotify" has been added to notification driver choices in
notifications/notifier.go.
* Docs have been updated