mirror of
https://github.com/containrrr/watchtower.git
synced 2025-12-16 15:10:12 +01:00
Deployed 9180e95 with MkDocs version: 1.5.3
This commit is contained in:
parent
04a4f55194
commit
cc1f2b8759
45 changed files with 5005 additions and 2269 deletions
|
|
@ -10,8 +10,15 @@
|
|||
|
||||
<link rel="canonical" href="https://containrrr.dev/watchtower/notifications/">
|
||||
|
||||
|
||||
<link rel="prev" href="../arguments/">
|
||||
|
||||
|
||||
<link rel="next" href="../container-selection/">
|
||||
|
||||
|
||||
<link rel="icon" href="../images/favicon.ico">
|
||||
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-8.5.8">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.4.3">
|
||||
|
||||
|
||||
|
||||
|
|
@ -19,16 +26,18 @@
|
|||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.20d9efc8.min.css">
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.79e020e9.min.css">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/palette.815d1a91.min.css">
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/palette.a5377069.min.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -58,7 +67,7 @@
|
|||
|
||||
|
||||
|
||||
<body dir="ltr" data-md-color-scheme="containrrr" data-md-color-primary="" data-md-color-accent="">
|
||||
<body dir="ltr" data-md-color-scheme="containrrr" data-md-color-primary="indigo" data-md-color-accent="indigo">
|
||||
|
||||
|
||||
|
||||
|
|
@ -82,7 +91,9 @@
|
|||
|
||||
|
||||
|
||||
<header class="md-header" data-md-component="header">
|
||||
|
||||
|
||||
<header class="md-header md-header--shadow" data-md-component="header">
|
||||
<nav class="md-header__inner md-grid" aria-label="Header">
|
||||
<a href=".." title="Watchtower" class="md-header__button md-logo" aria-label="Watchtower" data-md-component="logo">
|
||||
|
||||
|
|
@ -90,6 +101,7 @@
|
|||
|
||||
</a>
|
||||
<label class="md-header__button md-icon" for="__drawer">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
||||
</label>
|
||||
<div class="md-header__title" data-md-component="header-title">
|
||||
|
|
@ -109,31 +121,36 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<form class="md-header__option" data-md-component="palette">
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="containrrr" data-md-color-primary="" data-md-color-accent="" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
|
||||
|
||||
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
|
||||
</label>
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="containrrr-dark" data-md-color-primary="" data-md-color-accent="" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
|
||||
|
||||
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg>
|
||||
</label>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<form class="md-header__option" data-md-component="palette">
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="containrrr" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
|
||||
|
||||
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
|
||||
</label>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="containrrr-dark" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
|
||||
|
||||
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg>
|
||||
</label>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-header__button md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||||
</label>
|
||||
<div class="md-search" data-md-component="search" role="dialog">
|
||||
|
|
@ -142,12 +159,15 @@
|
|||
<form class="md-search__form" name="search">
|
||||
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||||
<label class="md-search__icon md-icon" for="__search">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
||||
</label>
|
||||
<nav class="md-search__options" aria-label="Search">
|
||||
|
||||
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
</nav>
|
||||
|
|
@ -159,7 +179,7 @@
|
|||
<div class="md-search-result__meta">
|
||||
Initializing search
|
||||
</div>
|
||||
<ol class="md-search-result__list"></ol>
|
||||
<ol class="md-search-result__list" role="presentation"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -171,7 +191,7 @@
|
|||
<a href="https://github.com/containrrr/watchtower/" title="Go to repository" class="md-source" data-md-component="source">
|
||||
<div class="md-source__icon md-icon">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
||||
</div>
|
||||
<div class="md-source__repository">
|
||||
GitHub
|
||||
|
|
@ -201,6 +221,7 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
||||
<label class="md-nav__title" for="__drawer">
|
||||
<a href=".." title="Watchtower" class="md-nav__button md-logo" aria-label="Watchtower" data-md-component="logo">
|
||||
|
|
@ -215,7 +236,7 @@
|
|||
<a href="https://github.com/containrrr/watchtower/" title="Go to repository" class="md-source" data-md-component="source">
|
||||
<div class="md-source__icon md-icon">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
||||
</div>
|
||||
<div class="md-source__repository">
|
||||
GitHub
|
||||
|
|
@ -227,14 +248,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href=".." class="md-nav__link">
|
||||
Home
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Home
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -242,14 +267,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../introduction/" class="md-nav__link">
|
||||
Introduction
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Introduction
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -257,14 +286,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../usage-overview/" class="md-nav__link">
|
||||
Usage overview
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Usage overview
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -272,14 +305,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../arguments/" class="md-nav__link">
|
||||
Arguments
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Arguments
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -287,8 +324,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -296,19 +331,31 @@
|
|||
|
||||
<li class="md-nav__item md-nav__item--active">
|
||||
|
||||
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
|
||||
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
Notifications
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Notifications
|
||||
</span>
|
||||
|
||||
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
Notifications
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Notifications
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
|
@ -412,14 +459,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../container-selection/" class="md-nav__link">
|
||||
Container selection
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Container selection
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -427,14 +478,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../private-registries/" class="md-nav__link">
|
||||
Private registries
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Private registries
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -442,14 +497,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../linked-containers/" class="md-nav__link">
|
||||
Linked containers
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Linked containers
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -457,14 +516,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../remote-hosts/" class="md-nav__link">
|
||||
Remote hosts
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Remote hosts
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -472,14 +535,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../secure-connections/" class="md-nav__link">
|
||||
Secure connections
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Secure connections
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -487,14 +554,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../stop-signals/" class="md-nav__link">
|
||||
Stop signals
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Stop signals
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -502,14 +573,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../lifecycle-hooks/" class="md-nav__link">
|
||||
Lifecycle hooks
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Lifecycle hooks
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -517,14 +592,18 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../running-multiple-instances/" class="md-nav__link">
|
||||
Running multiple instances
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Running multiple instances
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -532,14 +611,37 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../http-api-mode/" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
HTTP API Mode
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../metrics/" class="md-nav__link">
|
||||
Metrics
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Metrics
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -661,10 +763,8 @@
|
|||
|
||||
|
||||
|
||||
<a href="https://github.com/containrrr/watchtower/edit/main/docs/notifications.md" title="Edit this page" class="md-content__button md-icon">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z"/></svg>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="notifications">Notifications<a class="headerlink" href="#notifications" title="Permanent link">¶</a></h1>
|
||||
|
|
@ -685,17 +785,18 @@ quotes (<code>"</code>). This prevents unexpected errors when watchtower starts.
|
|||
<ul>
|
||||
<li><code>--notifications-level</code> (env. <code>WATCHTOWER_NOTIFICATIONS_LEVEL</code>): Controls the log level which is used for the notifications. If omitted, the default log level is <code>info</code>. Possible values are: <code>panic</code>, <code>fatal</code>, <code>error</code>, <code>warn</code>, <code>info</code>, <code>debug</code> or <code>trace</code>.</li>
|
||||
<li><code>--notifications-hostname</code> (env. <code>WATCHTOWER_NOTIFICATIONS_HOSTNAME</code>): Custom hostname specified in subject/title. Useful to override the operating system hostname.</li>
|
||||
<li><code>--notifications-delay</code> (env. <code>WATCHTOWER_NOTIFICATION_DELAY</code>): Delay before sending notifications expressed in seconds.</li>
|
||||
<li><code>--notifications-delay</code> (env. <code>WATCHTOWER_NOTIFICATIONS_DELAY</code>): Delay before sending notifications expressed in seconds.</li>
|
||||
<li>Watchtower will post a notification every time it is started. This behavior <a href="https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message">can be changed</a> with an argument.</li>
|
||||
<li><code>notification-title-tag</code> (env. <code>WATCHTOWER_NOTIFICATION_TITLE_TAG</code>): Prefix to include in the title. Useful when running multiple watchtowers.</li>
|
||||
<li><code>notification-skip-title</code> (env. <code>WATCHTOWER_NOTIFICATION_SKIP_TITLE</code>): 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.</li>
|
||||
<li><code>--notification-title-tag</code> (env. <code>WATCHTOWER_NOTIFICATION_TITLE_TAG</code>): Prefix to include in the title. Useful when running multiple watchtowers.</li>
|
||||
<li><code>--notification-skip-title</code> (env. <code>WATCHTOWER_NOTIFICATION_SKIP_TITLE</code>): 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.</li>
|
||||
<li><code>--notification-log-stdout</code> (env. <code>WATCHTOWER_NOTIFICATION_LOG_STDOUT</code>): Enable output from <code>logger://</code> shoutrrr service to stdout.</li>
|
||||
</ul>
|
||||
<h2 id="shoutrrr_notifications"><a href="https://github.com/containrrr/shoutrrr">shoutrrr</a> notifications<a class="headerlink" href="#shoutrrr_notifications" title="Permanent link">¶</a></h2>
|
||||
<p>To send notifications via shoutrrr, the following command-line options, or their corresponding environment variables, can be set:</p>
|
||||
<ul>
|
||||
<li><code>--notification-url</code> (env. <code>WATCHTOWER_NOTIFICATION_URL</code>): The shoutrrr service URL to be used. This option can also reference a file, in which case the contents of the file are used.</li>
|
||||
</ul>
|
||||
<p>Go to <a href="https://containrrr.dev/shoutrrr/v0.6/services/overview">containrrr.dev/shoutrrr/v0.6/services/overview</a> to
|
||||
<p>Go to <a href="https://containrrr.dev/shoutrrr/v0.8/services/overview">containrrr.dev/shoutrrr/v0.8/services/overview</a> to
|
||||
learn more about the different service URLs you can use. You can define multiple services by space separating the
|
||||
URLs. (See example below)</p>
|
||||
<p>You can customize the message posted by setting a template.</p>
|
||||
|
|
@ -719,36 +820,36 @@ custom format.<br />
|
|||
i.e., The day of the year has to be 1, the month has to be 2 (february), the hour 3 (or 15 for 24h time) etc.</p>
|
||||
</div>
|
||||
<p>Example:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_URL</span><span class="o">=</span><span class="s2">"discord://token@channel slack://watchtower@token-a/token-b/token-c"</span> <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_TEMPLATE</span><span class="o">=</span><span class="s2">"{{range .}}{{.Time.Format \"2006-01-02 15:04:05\"}} ({{.Level}}): {{.Message}}{{println}}{{end}}"</span> <span class="se">\</span>
|
||||
containrrr/watchtower
|
||||
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_URL</span><span class="o">=</span><span class="s2">"discord://token@channel slack://watchtower@token-a/token-b/token-c"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_TEMPLATE</span><span class="o">=</span><span class="s2">"{{range .}}{{.Time.Format \"2006-01-02 15:04:05\"}} ({{.Level}}): {{.Message}}{{println}}{{end}}"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>containrrr/watchtower
|
||||
</code></pre></div>
|
||||
<h2 id="report_templates">Report templates<a class="headerlink" href="#report_templates" title="Permanent link">¶</a></h2>
|
||||
<p>The default template for report notifications are the following:
|
||||
<div class="highlight"><pre><span></span><code><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">.</span><span class="nx">Report</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">with</span><span class="w"> </span><span class="p">.</span><span class="nx">Report</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="nx">or</span><span class="w"> </span><span class="p">.</span><span class="nx">Updated</span><span class="w"> </span><span class="p">.</span><span class="nx">Failed</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="p">{{</span><span class="nx">len</span><span class="w"> </span><span class="p">.</span><span class="nx">Scanned</span><span class="p">}}</span><span class="w"> </span><span class="nx">Scanned</span><span class="p">,</span><span class="w"> </span><span class="p">{{</span><span class="nx">len</span><span class="w"> </span><span class="p">.</span><span class="nx">Updated</span><span class="p">}}</span><span class="w"> </span><span class="nx">Updated</span><span class="p">,</span><span class="w"> </span><span class="p">{{</span><span class="nx">len</span><span class="w"> </span><span class="p">.</span><span class="nx">Failed</span><span class="p">}}</span><span class="w"> </span><span class="nx">Failed</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Updated</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">CurrentImageID</span><span class="p">.</span><span class="nx">ShortID</span><span class="p">}}</span><span class="w"> </span><span class="nx">updated</span><span class="w"> </span><span class="nx">to</span><span class="w"> </span><span class="p">{{.</span><span class="nx">LatestImageID</span><span class="p">.</span><span class="nx">ShortID</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Fresh</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">State</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Skipped</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">State</span><span class="p">}}:</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Error</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Failed</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">State</span><span class="p">}}:</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Error</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Entries</span><span class="w"> </span><span class="o">-</span><span class="p">}}{{.</span><span class="nx">Message</span><span class="p">}}{{</span><span class="s">"\n"</span><span class="p">}}{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span><span class="w"></span>
|
||||
<div class="highlight"><pre><span></span><code><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">.</span><span class="nx">Report</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">with</span><span class="w"> </span><span class="p">.</span><span class="nx">Report</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="nx">or</span><span class="w"> </span><span class="p">.</span><span class="nx">Updated</span><span class="w"> </span><span class="p">.</span><span class="nx">Failed</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="p">{{</span><span class="nx">len</span><span class="w"> </span><span class="p">.</span><span class="nx">Scanned</span><span class="p">}}</span><span class="w"> </span><span class="nx">Scanned</span><span class="p">,</span><span class="w"> </span><span class="p">{{</span><span class="nx">len</span><span class="w"> </span><span class="p">.</span><span class="nx">Updated</span><span class="p">}}</span><span class="w"> </span><span class="nx">Updated</span><span class="p">,</span><span class="w"> </span><span class="p">{{</span><span class="nx">len</span><span class="w"> </span><span class="p">.</span><span class="nx">Failed</span><span class="p">}}</span><span class="w"> </span><span class="nx">Failed</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Updated</span><span class="p">}}</span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">CurrentImageID</span><span class="p">.</span><span class="nx">ShortID</span><span class="p">}}</span><span class="w"> </span><span class="nx">updated</span><span class="w"> </span><span class="nx">to</span><span class="w"> </span><span class="p">{{.</span><span class="nx">LatestImageID</span><span class="p">.</span><span class="nx">ShortID</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Fresh</span><span class="p">}}</span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">State</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Skipped</span><span class="p">}}</span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">State</span><span class="p">}}:</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Error</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Failed</span><span class="p">}}</span>
|
||||
<span class="o">-</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Name</span><span class="p">}}</span><span class="w"> </span><span class="p">({{.</span><span class="nx">ImageName</span><span class="p">}}):</span><span class="w"> </span><span class="p">{{.</span><span class="nx">State</span><span class="p">}}:</span><span class="w"> </span><span class="p">{{.</span><span class="nx">Error</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="w"> </span><span class="p">{{</span><span class="k">range</span><span class="w"> </span><span class="p">.</span><span class="nx">Entries</span><span class="w"> </span><span class="o">-</span><span class="p">}}{{.</span><span class="nx">Message</span><span class="p">}}{{</span><span class="s">"\n"</span><span class="p">}}{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
<span class="p">{{</span><span class="o">-</span><span class="w"> </span><span class="nx">end</span><span class="w"> </span><span class="o">-</span><span class="p">}}</span>
|
||||
</code></pre></div></p>
|
||||
<p>It will be used to send a summary of every session if there are any containers that were updated or which failed to update.</p>
|
||||
<div class="admonition note">
|
||||
|
|
@ -761,12 +862,12 @@ be sent. This is by default used to limit the notifications to only be sent when
|
|||
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">docker run</label><label for="__tabbed_1_2">docker-compose</label></div>
|
||||
<div class="tabbed-content">
|
||||
<div class="tabbed-block">
|
||||
<div class="highlight"><pre><span></span><code>docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_REPORT</span><span class="o">=</span><span class="s2">"true"</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_URL</span><span class="o">=</span><span class="s2">"discord://token@channel slack://watchtower@token-a/token-b/token-c"</span> <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_TEMPLATE</span><span class="o">=</span><span class="s2">"</span>
|
||||
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_REPORT</span><span class="o">=</span><span class="s2">"true"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_URL</span><span class="o">=</span><span class="s2">"discord://token@channel slack://watchtower@token-a/token-b/token-c"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_TEMPLATE</span><span class="o">=</span><span class="s2">"</span>
|
||||
<span class="s2"> {{- if .Report -}}</span>
|
||||
<span class="s2"> {{- with .Report -}}</span>
|
||||
<span class="s2"> {{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed</span>
|
||||
|
|
@ -784,44 +885,44 @@ be sent. This is by default used to limit the notifications to only be sent when
|
|||
<span class="s2"> {{- end -}}</span>
|
||||
<span class="s2"> {{- end -}}</span>
|
||||
<span class="s2"> {{- else -}}</span>
|
||||
<span class="s2"> {{range .Entries -}}{{.Message}}{{"</span><span class="se">\n</span><span class="s2">"}}{{- end -}}</span>
|
||||
<span class="s2"> {{range .Entries -}}{{.Message}}{{\"\n\"}}{{- end -}}</span>
|
||||
<span class="s2"> {{- end -}}</span>
|
||||
<span class="s2"> "</span> <span class="se">\</span>
|
||||
containrrr/watchtower
|
||||
<span class="s2"> "</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>containrrr/watchtower
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<div class="tabbed-block">
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">"3"</span><span class="w"></span>
|
||||
<span class="nt">services</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">env</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_REPORT</span><span class="p">:</span><span class="w"> </span><span class="s">"true"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_URL</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">></span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">discord://token@channel</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">slack://watchtower@token-a/token-b/token-c</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_TEMPLATE</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- if .Report -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- with .Report -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- range .Updated}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- range .Fresh}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.State}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- range .Skipped}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- range .Failed}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- else -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span><span class="w"></span>
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">"3"</span>
|
||||
<span class="nt">services</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower</span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span>
|
||||
<span class="w"> </span><span class="nt">env</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_REPORT</span><span class="p">:</span><span class="w"> </span><span class="s">"true"</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_URL</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">></span>
|
||||
<span class="w"> </span><span class="no">discord://token@channel</span>
|
||||
<span class="w"> </span><span class="no">slack://watchtower@token-a/token-b/token-c</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_TEMPLATE</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
|
||||
<span class="w"> </span><span class="no">{{- if .Report -}}</span>
|
||||
<span class="w"> </span><span class="no">{{- with .Report -}}</span>
|
||||
<span class="w"> </span><span class="no">{{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed</span>
|
||||
<span class="w"> </span><span class="no">{{- range .Updated}}</span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}}</span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span>
|
||||
<span class="w"> </span><span class="no">{{- range .Fresh}}</span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.State}}</span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span>
|
||||
<span class="w"> </span><span class="no">{{- range .Skipped}}</span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}}</span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span>
|
||||
<span class="w"> </span><span class="no">{{- range .Failed}}</span>
|
||||
<span class="w"> </span><span class="no">- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}}</span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span>
|
||||
<span class="w"> </span><span class="no">{{- else -}}</span>
|
||||
<span class="w"> </span><span class="no">{{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}}</span>
|
||||
<span class="w"> </span><span class="no">{{- end -}}</span>
|
||||
</code></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -841,26 +942,26 @@ The types of notifications to send are set by passing a comma-separated list of
|
|||
<div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">docker run</label><label for="__tabbed_2_2">docker-compose.yml</label></div>
|
||||
<div class="tabbed-content">
|
||||
<div class="tabbed-block">
|
||||
<div class="highlight"><pre><span></span><code>$ docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>slack <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL</span><span class="o">=</span><span class="s2">"https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy"</span> <span class="se">\</span>
|
||||
containrrr/watchtower <span class="se">\</span>
|
||||
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>slack<span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL</span><span class="o">=</span><span class="s2">"https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy"</span><span class="w"> </span><span class="se">\</span>
|
||||
containrrr/watchtower<span class="w"> </span><span class="se">\</span>
|
||||
notify-upgrade
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<div class="tabbed-block">
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">"3"</span><span class="w"></span>
|
||||
<span class="nt">services</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">env</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATIONS</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">slack</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">command</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">notify-upgrade</span><span class="w"></span>
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">"3"</span>
|
||||
<span class="nt">services</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower</span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span>
|
||||
<span class="w"> </span><span class="nt">env</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATIONS</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">slack</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy</span>
|
||||
<span class="w"> </span><span class="nt">command</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">notify-upgrade</span>
|
||||
</code></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -869,22 +970,22 @@ notify-upgrade
|
|||
<div class="tabbed-set tabbed-alternate" data-tabs="3:2"><input checked="checked" id="__tabbed_3_1" name="__tabbed_3" type="radio" /><input id="__tabbed_3_2" name="__tabbed_3" type="radio" /><div class="tabbed-labels"><label for="__tabbed_3_1">docker run</label><label for="__tabbed_3_2">docker-compose.yml</label></div>
|
||||
<div class="tabbed-content">
|
||||
<div class="tabbed-block">
|
||||
<div class="highlight"><pre><span></span><code>$ docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
--env-file watchtower-notifications.env <span class="se">\</span>
|
||||
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
--env-file<span class="w"> </span>watchtower-notifications.env<span class="w"> </span><span class="se">\</span>
|
||||
containrrr/watchtower
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<div class="tabbed-block">
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">"3"</span><span class="w"></span>
|
||||
<span class="nt">services</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">env_file</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">watchtower-notifications.env</span><span class="w"></span>
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">"3"</span>
|
||||
<span class="nt">services</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower</span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span>
|
||||
<span class="w"> </span><span class="nt">env_file</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">watchtower-notifications.env</span>
|
||||
</code></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -903,63 +1004,63 @@ containrrr/watchtower
|
|||
<li><code>--notification-email-subjecttag</code> (env. <code>WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG</code>): Prefix to include in the subject tag. Useful when running multiple watchtowers. <strong>NOTE:</strong> This will affect all notification types.</li>
|
||||
</ul>
|
||||
<p>Example:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>email <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_FROM</span><span class="o">=</span>fromaddress@gmail.com <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_TO</span><span class="o">=</span>toaddress@gmail.com <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER</span><span class="o">=</span>smtp.gmail.com <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT</span><span class="o">=</span><span class="m">587</span> <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER</span><span class="o">=</span>fromaddress@gmail.com <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD</span><span class="o">=</span>app_password <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_DELAY</span><span class="o">=</span><span class="m">2</span> <span class="se">\</span>
|
||||
containrrr/watchtower
|
||||
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>email<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_FROM</span><span class="o">=</span>fromaddress@gmail.com<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_TO</span><span class="o">=</span>toaddress@gmail.com<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER</span><span class="o">=</span>smtp.gmail.com<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT</span><span class="o">=</span><span class="m">587</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER</span><span class="o">=</span>fromaddress@gmail.com<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD</span><span class="o">=</span>app_password<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_EMAIL_DELAY</span><span class="o">=</span><span class="m">2</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>containrrr/watchtower
|
||||
</code></pre></div>
|
||||
<p>The previous example assumes, that you already have an SMTP server up and running you can connect to. If you don't or you want to bring up watchtower with your own simple SMTP relay the following <code>docker-compose.yml</code> might be a good start for you.</p>
|
||||
<p>The following example assumes, that your domain is called <code>your-domain.com</code> and that you are going to use a certificate valid for <code>smtp.your-domain.com</code>. This hostname has to be used as <code>WATCHTOWER_NOTIFICATION_EMAIL_SERVER</code> otherwise the TLS connection is going to fail with <code>Failed to send notification email</code> or <code>connect: connection refused</code>. We also have to add a network for this setup in order to add an alias to it. If you also want to enable DKIM or other features on the SMTP server, you will find more information at <a href="https://hub.docker.com/r/freinet/postfix-relay">freinet/postfix-relay</a>.</p>
|
||||
<p>Example including an SMTP relay:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">'3.8'</span><span class="w"></span>
|
||||
<span class="nt">services</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower:latest</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">watchtower</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_MONITOR_ONLY</span><span class="p">:</span><span class="w"> </span><span class="s">'true'</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATIONS</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">email</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_FROM</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">from-address@your-domain.com</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_TO</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">to-address@your-domain.com</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1"># you have to use a network alias here, if you use your own certificate</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_SERVER</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">smtp.your-domain.com</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_DELAY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">networks</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">watchtower</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">depends_on</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">postfix</span><span class="w"></span>
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">'3.8'</span>
|
||||
<span class="nt">services</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">containrrr/watchtower:latest</span>
|
||||
<span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">watchtower</span>
|
||||
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_MONITOR_ONLY</span><span class="p">:</span><span class="w"> </span><span class="s">'true'</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATIONS</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">email</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_FROM</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">from-address@your-domain.com</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_TO</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">to-address@your-domain.com</span>
|
||||
<span class="w"> </span><span class="c1"># you have to use a network alias here, if you use your own certificate</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_SERVER</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">smtp.your-domain.com</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span>
|
||||
<span class="w"> </span><span class="nt">WATCHTOWER_NOTIFICATION_EMAIL_DELAY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock</span>
|
||||
<span class="w"> </span><span class="nt">networks</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">watchtower</span>
|
||||
<span class="w"> </span><span class="nt">depends_on</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">postfix</span>
|
||||
|
||||
<span class="w"> </span><span class="c1"># SMTP needed to send out status emails</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">postfix</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">freinet/postfix-relay:latest</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">expose</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">MAILNAME</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">somename.your-domain.com</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">TLS_KEY</span><span class="p">:</span><span class="w"> </span><span class="s">'/etc/ssl/domains/your-domain.com/your-domain.com.key'</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">TLS_CRT</span><span class="p">:</span><span class="w"> </span><span class="s">'/etc/ssl/domains/your-domain.com/your-domain.com.crt'</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">TLS_CA</span><span class="p">:</span><span class="w"> </span><span class="s">'/etc/ssl/domains/your-domain.com/intermediate.crt'</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/ssl/domains/your-domain.com/:/etc/ssl/domains/your-domain.com/:ro</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">networks</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1"># this alias is really important to make your certificate work</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">aliases</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">smtp.your-domain.com</span><span class="w"></span>
|
||||
<span class="nt">networks</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1"># SMTP needed to send out status emails</span>
|
||||
<span class="w"> </span><span class="nt">postfix</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">freinet/postfix-relay:latest</span>
|
||||
<span class="w"> </span><span class="nt">expose</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span>
|
||||
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">MAILNAME</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">somename.your-domain.com</span>
|
||||
<span class="w"> </span><span class="nt">TLS_KEY</span><span class="p">:</span><span class="w"> </span><span class="s">'/etc/ssl/domains/your-domain.com/your-domain.com.key'</span>
|
||||
<span class="w"> </span><span class="nt">TLS_CRT</span><span class="p">:</span><span class="w"> </span><span class="s">'/etc/ssl/domains/your-domain.com/your-domain.com.crt'</span>
|
||||
<span class="w"> </span><span class="nt">TLS_CA</span><span class="p">:</span><span class="w"> </span><span class="s">'/etc/ssl/domains/your-domain.com/intermediate.crt'</span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/ssl/domains/your-domain.com/:/etc/ssl/domains/your-domain.com/:ro</span>
|
||||
<span class="w"> </span><span class="nt">networks</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="c1"># this alias is really important to make your certificate work</span>
|
||||
<span class="w"> </span><span class="nt">aliases</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">smtp.your-domain.com</span>
|
||||
<span class="nt">networks</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">watchtower</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
|
||||
</code></pre></div>
|
||||
<h3 id="slack">Slack<a class="headerlink" href="#slack" title="Permanent link">¶</a></h3>
|
||||
<p>To receive notifications in Slack, add <code>slack</code> to the <code>--notifications</code> option or the <code>WATCHTOWER_NOTIFICATIONS</code> environment variable.</p>
|
||||
|
|
@ -970,37 +1071,37 @@ containrrr/watchtower
|
|||
<li><code>--notification-slack-channel</code> (env. <code>WATCHTOWER_NOTIFICATION_SLACK_CHANNEL</code>): A string which overrides the webhook's default channel. Example: #my-custom-channel.</li>
|
||||
</ul>
|
||||
<p>Example:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>slack <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL</span><span class="o">=</span><span class="s2">"https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy"</span> <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER</span><span class="o">=</span>watchtower-server-1 <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_SLACK_CHANNEL</span><span class="o">=</span><span class="c1">#my-custom-channel \</span>
|
||||
containrrr/watchtower
|
||||
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>slack<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL</span><span class="o">=</span><span class="s2">"https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER</span><span class="o">=</span>watchtower-server-1<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_SLACK_CHANNEL</span><span class="o">=</span><span class="c1">#my-custom-channel \</span>
|
||||
<span class="w"> </span>containrrr/watchtower
|
||||
</code></pre></div>
|
||||
<h3 id="microsoft_teams">Microsoft Teams<a class="headerlink" href="#microsoft_teams" title="Permanent link">¶</a></h3>
|
||||
<p>To receive notifications in MSTeams channel, add <code>msteams</code> to the <code>--notifications</code> option or the <code>WATCHTOWER_NOTIFICATIONS</code> environment variable.</p>
|
||||
<p>Additionally, you should set the MSTeams webhook URL using the <code>--notification-msteams-hook</code> option or the <code>WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL</code> environment variable. This option can also reference a file, in which case the contents of the file are used.</p>
|
||||
<p>MSTeams notifier could send keys/values filled by <code>log.WithField</code> or <code>log.WithFields</code> as MSTeams message facts. To enable this feature add <code>--notification-msteams-data</code> flag or set <code>WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA=true</code> environment variable.</p>
|
||||
<p>Example:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>msteams <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL</span><span class="o">=</span><span class="s2">"https://outlook.office.com/webhook/xxxxxxxx@xxxxxxx/IncomingWebhook/yyyyyyyy/zzzzzzzzzz"</span> <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA</span><span class="o">=</span><span class="nb">true</span> <span class="se">\</span>
|
||||
containrrr/watchtower
|
||||
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>msteams<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL</span><span class="o">=</span><span class="s2">"https://outlook.office.com/webhook/xxxxxxxx@xxxxxxx/IncomingWebhook/yyyyyyyy/zzzzzzzzzz"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA</span><span class="o">=</span><span class="nb">true</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>containrrr/watchtower
|
||||
</code></pre></div>
|
||||
<h3 id="gotify">Gotify<a class="headerlink" href="#gotify" title="Permanent link">¶</a></h3>
|
||||
<p>To push a notification to your Gotify instance, register a Gotify app and specify the Gotify URL and app token:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker run -d <span class="se">\</span>
|
||||
--name watchtower <span class="se">\</span>
|
||||
-v /var/run/docker.sock:/var/run/docker.sock <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>gotify <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_GOTIFY_URL</span><span class="o">=</span><span class="s2">"https://my.gotify.tld/"</span> <span class="se">\</span>
|
||||
-e <span class="nv">WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN</span><span class="o">=</span><span class="s2">"SuperSecretToken"</span> <span class="se">\</span>
|
||||
containrrr/watchtower
|
||||
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>run<span class="w"> </span>-d<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>--name<span class="w"> </span>watchtower<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-v<span class="w"> </span>/var/run/docker.sock:/var/run/docker.sock<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATIONS</span><span class="o">=</span>gotify<span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_GOTIFY_URL</span><span class="o">=</span><span class="s2">"https://my.gotify.tld/"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>-e<span class="w"> </span><span class="nv">WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN</span><span class="o">=</span><span class="s2">"SuperSecretToken"</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="w"> </span>containrrr/watchtower
|
||||
</code></pre></div>
|
||||
<p><code>-e WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN</code> or <code>--notification-gotify-token</code> can also reference a file, in which case the contents of the file are used.</p>
|
||||
<p>If you want to disable TLS verification for the Gotify instance, you can use either <code>-e WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY=true</code> or <code>--notification-gotify-tls-skip-verify</code>.</p>
|
||||
|
|
@ -1020,42 +1121,6 @@ containrrr/watchtower
|
|||
|
||||
<footer class="md-footer">
|
||||
|
||||
|
||||
<nav class="md-footer__inner md-grid" aria-label="Footer" >
|
||||
|
||||
|
||||
<a href="../arguments/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Arguments" rel="prev">
|
||||
<div class="md-footer__button md-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
||||
</div>
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
Previous
|
||||
</span>
|
||||
Arguments
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../container-selection/" class="md-footer__link md-footer__link--next" aria-label="Next: Container selection" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<div class="md-ellipsis">
|
||||
<span class="md-footer__direction">
|
||||
Next
|
||||
</span>
|
||||
Container selection
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</nav>
|
||||
|
||||
<div class="md-footer-meta md-typeset">
|
||||
<div class="md-footer-meta__inner md-grid">
|
||||
<div class="md-copyright">
|
||||
|
|
@ -1077,10 +1142,11 @@ containrrr/watchtower
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.16e2a7d4.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}}</script>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.a264c092.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../assets/javascripts/bundle.d6c3db9e.min.js"></script>
|
||||
<script src="../assets/javascripts/bundle.6eac0284.min.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue