, , ,

Tugtainer

Über den YouTuber DB Tech komme ich gelegentlich an ganz interessante Docker Container Dienste. So auch heute.

Derzeit verwende ich die Anwendung WatchTower, um meine Container auf den aktuellen Stand zu halten. Auch wenn ich mit WatchTower in der Vergangenheit nie große Probleme hatte, ist ein kontrolliertes Update vielleicht sinnvoll.
Bei einer Anwendung hatte ich einmal das Problem, dass eine Environment Variable hinzugefügt wurde, wovon ich nichts wusste. So lief der Container nicht mehr richtig. Auch hatte ich schon Container, die nach einem Update nicht mehr sauber gestartet sind und aus blieben.

Das ist der Grund, wieso ich WatchTower erst einmal ausgestellt habe und das vorgestellte Tool von DB Tech ausprobiere.

Was kann Tugtainer?

Tugtainer ist praktisch WatchTower mit einer WebGUI. So lassen sich deine Container sauber updaten. Das Tool sucht nach Updates und aktualisiert es auf Wunsch sofort. Alternativ schaut es nur nach Updates und du aktualizierst es, wenn du dafür Zeit hast über den Button Update in Tugtainer. Auch das Entfernen von alten Images ist per Knopfdruck möglich.

Installation

Die Dokumentation ist leider nicht die beste. Es gibt viele Docker run Skripte. Um es sich ein bisschen leichter zu machen, hat DB Tech bereits ein Compose Skript bereitgestellt, das ich für mich ein bisschen angepasst habe.

Mein Setup

Ich betreibe unter Proxmox 2 LXC’s in denen ich im Heimnetzwerk Docker Container betreibe. Um nicht 2x Tugtainer installieren zu müssen, bietet das Tool eine ssh und tcp Verbindung an. Die ssh Verbindung hat leider nicht funktioniert. Somit bleiben wir bei tcp. Damit stellst du eine Verbindung zu all deinen Servern her und kannst die in der WebGUI updaten.

Installation

Tugtainer mit Socket-Proxy

Solltest du nur einen Server mit Docker haben, reicht dieses Skript. Es beinhaltet einmal die Anwendung Tugtainer und den Socket-Proxy.

services:
  app:
    container_name: tugtainer
    image: quenary/tugtainer:latest
    volumes:
      - tugtainer_data:/tugtainer
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/localtime:/etc/localtime:z,ro
      - /etc/timezone:/etc/timezone:z,ro
    restart: unless-stopped
    networks:
      - tugtainer_net
    ports:
      - 9412:80
  socket-proxy:
    image: lscr.io/linuxserver/socket-proxy:latest
    container_name: tugtainer-socket-proxy
    environment:
      CONTAINERS: 1
      EVENTS: 1
      IMAGES: 1
      INFO: 1
      LOG_LEVEL: warning
      PING: 1
      NETWORKS: 1
      POST: 1
      TZ: Europe/Berlin
      VERSION: 1
     volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    restart: unless-stopped
    read_only: true
    tmpfs:
      - /run
    networks:
      - tugtainer_net
volumes:
  tugtainer_data: null
networks:
  tugtainer_net:
    driver: bridge
    ipam:
      config:
        - subnet: 1.30.0.0/16

Socket-Proxy für den 2. Docker Server

Solltest du mehrere Server haben, auf denen Docker läuft, kannst du Tugtainer mit diesen verbinden (tcp://DEINE-IP:2375).

services:
  socket-proxy:
    image: lscr.io/linuxserver/socket-proxy:latest
    container_name: tugtainer-socket-proxy
    environment:
      CONTAINERS: 1
      EVENTS: 1
      IMAGES: 1
      INFO: 1
      LOG_LEVEL: warning
      PING: 1
      NETWORKS: 1
      POST: 1
      TZ: Europe/Berlin
      VERSION: 1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    restart: unless-stopped
    read_only: true
    tmpfs:
      - /run
    networks:
      - tugtainer_net
    ports:
      - 2375:2375
networks:
  tugtainer_net:
    driver: bridge
    ipam:
      config:
        - subnet: 12.30.0.0/16

Das Komplette Video:
https://youtu.be/qmENyuVxW4g?si=dwi8ACxUelVyeL3x

Quellen:
https://github.com/Quenary/tugtainer

weitere Beiträge
auf Bitnike



Avatar von Sascha

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert