# Nastavenie Watchtower na automatickú aktualizáciu Docker kontajnerov

**URL:** <https://forum.linuxdoma.sk/t/nastavenie-watchtower-na-automaticku-aktualizaciu-docker-kontajnerov/257>\
**Category:** Návody\
**Tags:** ubuntu, docker\
**Created:** [November 13, 2024, 6:15am UTC](https://forum.linuxdoma.sk/t/nastavenie-watchtower-na-automaticku-aktualizaciu-docker-kontajnerov/257 "2024-11-13T06:15:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tony](https://forum.linuxdoma.sk/user_avatar/forum.linuxdoma.sk/tony/32/259_2.png) [@Tony](https://forum.linuxdoma.sk/u/Tony)\
**Post date:** [November 13, 2024, 6:15am UTC](https://forum.linuxdoma.sk/t/nastavenie-watchtower-na-automaticku-aktualizaciu-docker-kontajnerov/257/1 "2024-11-13T06:15:20Z")

</div>

### Návod: Nastavenie Watchtower na automatickú aktualizáciu Docker kontajnerov

Watchtower je nástroj, ktorý zabezpečuje automatickú aktualizáciu Docker kontajnerov. Tento návod obsahuje dva varianty nastavenia `docker-compose.yml` súboru pre Watchtower: jeden pre automatickú aktualizáciu všetkých Docker kontajnerov a druhý pre aktualizáciu iba vybraných kontajnerov. Na konci nájdete príklad konfigurácie pre Docker kontajner Tautulli, ktorý je pripravený na aktualizáciu cez Watchtower.

### Pôvodná konfigurácia Watchtower pre aktualizáciu všetkých Docker kontajnerov

V tejto konfigurácii Watchtower pravidelne kontroluje aktualizácie pre všetky Docker kontajnery a automaticky ich aktualizuje podľa nastaveného harmonogramu.

```yaml
version: '3'
services:
    watchtower:
        image: containrrr/watchtower
        container_name: watchtower
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
        environment:
            - TZ=Europe/Bratislava
            - WATCHTOWER_MONITOR_ONLY=false
            - WATCHTOWER_SCHEDULE=0 7 7 ? * WED
            - WATCHTOWER_CLEANUP=true
            - WATCHTOWER_NOTIFICATIONS=email
            - WATCHTOWER_NOTIFICATION_EMAIL_FROM=vas@smtpemail.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_TO=kam@poslatemail.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=vas.smtpserver.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=VaseSMTPheslo
            - WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG=Portainer-01 Server Container Updates
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=vas@smtpemail.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=465
        restart: unless-stopped

```

#### Vysvetlenie konfigurácie:

- **`WATCHTOWER_SCHEDULE=0 7 7 ? * WED`** : Nastavuje harmonogram aktualizácií (v tomto prípade každú stredu o 7:07).
- **`WATCHTOWER_CLEANUP=true`** : Po aktualizácii odstráni staré verzie obrazov kontajnerov.
- **`WATCHTOWER_NOTIFICATIONS=email`** : Posiela upozornenia na zadaný e-mail po aktualizácii.
- **`WATCHTOWER_NOTIFICATION_EMAIL_*`** : Konfigurácia pre odosielanie e-mailových notifikácií.
- **`WATCHTOWER_MONITOR_ONLY=false`** : Automaticky vykonáva aktualizácie.

Táto verzia aktualizuje všetky kontajnery na serveri, pretože nepoužíva selektívne označenie kontajnerov.

* * *

### Upravená konfigurácia Watchtower pre aktualizáciu len vybraných Docker kontajnerov

V tejto konfigurácii Watchtower aktualizuje iba tie kontajnery, ktoré majú špecifický štítok `com.centurylinklabs.watchtower.enable=true`. Kontajnery, ktoré tento štítok nemajú, zostanú bez aktualizácie a nebudú nijako ovplyvnené.

```yaml
version: '3'
services:
    watchtower:
        image: containrrr/watchtower
        container_name: watchtower
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
        environment:
            - TZ=Europe/Bratislava
            - WATCHTOWER_MONITOR_ONLY=false
            - WATCHTOWER_SCHEDULE=0 7 7 ? * WED
            - WATCHTOWER_CLEANUP=true
            - WATCHTOWER_NOTIFICATIONS=email
            - WATCHTOWER_NOTIFICATION_EMAIL_FROM=vas@smtpemail.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_TO=kam@poslatemail.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=vas.smtpserver.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=VaseSMTPheslo
            - WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG=Portainer-01 Server Container Updates
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=vas@smtpemail.sk
            - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=465
            - WATCHTOWER_LABEL_ENABLE=true
        restart: unless-stopped

```

#### Vysvetlenie konfigurácie:

- **`WATCHTOWER_LABEL_ENABLE=true`** : Aktivuje režim, v ktorom Watchtower vykoná aktualizáciu iba pre kontajnery označené štítkom `com.centurylinklabs.watchtower.enable=true`. Kontajnery bez tohto štítku zostanú neaktualizované, čo vám umožní presnú kontrolu nad tým, ktoré kontajnery majú byť aktualizované.

V tejto konfigurácii Watchtower neaktualizuje všetky kontajnery, ale len tie, ktoré majú v konfigurácii pridaný špecifický štítok.

* * *

### Porovnanie pôvodnej a upravenej konfigurácie

1. **Automatická aktualizácia všetkých kontajnerov** (Pôvodná konfigurácia):

2. **Automatická aktualizácia len vybraných kontajnerov** (Upravená konfigurácia):

* * *

### Príklad konfigurácie `docker-compose.yml` pre Tautulli s nastaveným štítkom

Tu je príklad, ako pridať štítok k Docker kontajneru **Tautulli** , aby ho Watchtower automaticky aktualizoval.

```yaml
version: '3'
services:
    tautulli:
        image: tautulli/tautulli
        container_name: tautulli
        ports:
            - "8181:8181" # Nastavte si preferovaný port
        volumes:
            - /path/to/tautulli/config:/config # Upravte cestu k dátam Tautulli
            - /path/to/tautulli/data:/data
        environment:
            - PUID=1000 # Nastavenie používateľských oprávnení
            - PGID=1000 # Skupinové ID pre prístup
            - TZ=Europe/Bratislava # Časová zóna
        labels:
            - com.centurylinklabs.watchtower.enable=true # Štítok pre Watchtower
        restart: unless-stopped

```

#### Vysvetlenie:

- **Štítok `com.centurylinklabs.watchtower.enable=true`** je pridaný do sekcie `labels` kontajnera Tautulli, čo zabezpečí, že Watchtower bude aktualizovať len tento kontajner, pokiaľ je nastavený na selektívnu aktualizáciu. Ostatné kontajnery bez tohto štítku zostanú neaktualizované.

* * *

### Záver

Tento postup poskytuje kompletný návod na nastavenie Watchtower pre dve možnosti:

- Aktualizácia všetkých Docker kontajnerov
- Aktualizácia len vybraných kontajnerov pomocou štítku

Ak chcete, aby sa aktualizovali len určité kontajnery, pridajte do konfigurácie Watchtower parameter `WATCHTOWER_LABEL_ENABLE=true` a potom ku každému zvolenému kontajneru pridajte štítok `com.centurylinklabs.watchtower.enable=true`. Kontajnery, ktoré tento štítok nemajú, zostanú bez aktualizácie, čím zabezpečíte stabilitu tých kontajnerov, ktoré nechcete aktualizovať.
