Self-hosting Diun - der einfache Weg

Self-hosting Diun - der einfache Weg

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
6 min

Deine Docker-Images aktuell zu halten ist eines der wichtigsten Dinge fuer Sicherheit und Stabilitaet. Diun (Docker Image Update Notifier) ist ein Open-Source-Tool, das deine Docker-Images ueberwacht und dir Benachrichtigungen schickt, sobald eine neue Version in der Registry verfuegbar ist. Kein manuelles Checken von Docker Hub mehr.

Sliplane macht es einfach, Diun als Background-Service neben deinen anderen Containern zu deployen. Mit Ein-Klick-Deployment laeuft Diun in wenigen Minuten - ueberwacht deine Images und informiert dich, wenn Updates verfuegbar sind.

Voraussetzungen

Bevor du loslegst, brauchst du einen Sliplane-Account (kostenlose Testphase verfuegbar).

Schnellstart

Sliplane bietet Ein-Klick-Deployment mit Presets.

SliplaneDiun deployen >
  1. Klick auf den Deploy-Button oben
  2. Waehle ein Projekt aus
  3. Waehle einen Server (Wenn du dich gerade angemeldet hast, bekommst du einen 48-Stunden-Testserver)
  4. Klick auf Deploy!

Ueber das Preset

Das Ein-Klick-Deployment oben nutzt Sliplane's Diun-Preset. Das ist enthalten:

  • Image: crazymax/diun:4.31.0
  • Persistenter Speicher gemountet auf /data fuer die Diun-Datenbank
  • Watch-Schedule standardmaessig auf alle 6 Stunden gesetzt per Cron-Expression
  • Docker Provider standardmaessig ueber Environment Variables aktiviert
  • Watch by Default eingeschaltet, damit alle Container geprueft werden, wenn der Docker Provider verbunden ist

Diun ist ein Background-Service ohne Web-Interface. Du konfigurierst es ueber Environment Variables und pruefst die Ausgabe ueber Sliplane's integrierten Log-Viewer.

Hinweis: Der Docker Provider braucht Zugriff auf den Docker Socket (/var/run/docker.sock), der auf Sliplane nicht standardmaessig gemountet ist. Diun startet und laeuft trotzdem problemlos, entdeckt aber keine Container automatisch. Du kannst stattdessen Diun's File Provider nutzen, um festzulegen, welche Images ueberwacht werden sollen.

Naechste Schritte

Nach dem Deployment laeuft Diun auf deinem Server. Damit du echten Nutzen daraus ziehst, brauchst du zwei Dinge: eine Liste von Images zum Ueberwachen und einen Notification-Provider fuer die Benachrichtigungen.

Benachrichtigungen einrichten

Diun unterstuetzt viele Notification-Provider. Fueg die entsprechenden Environment Variables in deinen Sliplane-Service-Einstellungen hinzu:

ProviderEnvironment VariableWert
SlackDIUN_NOTIF_SLACK_WEBHOOKURLDeine Slack Incoming Webhook URL
DiscordDIUN_NOTIF_DISCORD_WEBHOOKURLDeine Discord Webhook URL
TelegramDIUN_NOTIF_TELEGRAM_TOKENDein Bot-Token
DIUN_NOTIF_TELEGRAM_CHATIDSKomma-getrennte Chat-IDs
WebhookDIUN_NOTIF_WEBHOOK_ENDPOINTDeine Webhook-Endpoint-URL
DIUN_NOTIF_WEBHOOK_METHODGET oder POST

Die vollstaendige Liste aller Notification-Provider (einschliesslich E-Mail, Gotify, Pushover, Matrix, Teams und mehr) findest du in der Diun Notification-Doku.

Watch-Schedule anpassen

Standardmaessig prueft Diun alle 6 Stunden auf Image-Updates. Du kannst das aendern, indem du die DIUN_WATCH_SCHEDULE Environment Variable auf eine andere Cron-Expression setzt:

ZeitplanCron Expression
Alle 6 Stunden0 */6 * * *
Jede Stunde0 * * * *
Einmal taeglich um Mitternacht0 0 * * *
Alle 30 Minuten*/30 * * * *

Logs pruefen

Da Diun kein Web-Interface hat, ist der beste Weg zum Pruefen Sliplane's Log-Viewer. Geh zu deinem Diun-Service und klick auf "Logs". Du solltest Meldungen sehen, wie Diun startet und seinen Watch-Schedule meldet.

Fuer detailliertere Ausgaben setz die LOG_LEVEL Environment Variable auf debug. Allgemeine Docker-Logging-Tipps findest du in unserem Post ueber Docker Logs.

Environment Variables

Hier sind die wichtigsten Environment Variables, die du anpassen kannst:

VariableStandardBeschreibung
TZEurope/BerlinZeitzone fuer das Scheduling
LOG_LEVELinfoLog-Detail (debug, info, warn, error)
DIUN_WATCH_SCHEDULE0 */6 * * *Cron-Expression fuer die Prueffrequenz
DIUN_WATCH_JITTER30sZufaellige Verzoegerung pro geplantem Lauf
DIUN_PROVIDERS_DOCKERtrueDocker Provider aktivieren
DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULTtrueAlle Container automatisch ueberwachen

Kostenvergleich

Du kannst Diun auch bei anderen Cloud-Anbietern selbst hosten. Hier ein Preisvergleich der gaengigsten Anbieter:

AnbietervCPURAMDiskMonatliche KostenHinweis
Sliplane22 GB40 GB€9 (~$10.65)Flatrate, 1 TB Bandwidth, SSL inklusive
Fly.io22 GB40 GB~$18Disk und Bandwidth separat berechnet
Render12 GB40 GB~$35100 GB Bandwidth, Disk separat berechnet
Railway22 GB40 GB~$67 + $20 PlanPro-Plan-Minimum, nutzungsbasiert, Bandwidth separat
Klick hier, um die Berechnungen zu sehen.

(Angenommen eine durchgehend laufende Instanz mit 730 Stunden/Monat)

  • Sliplane: Flatrate €9/Monat fuer den Base-Server. Unbegrenzte Services auf dem gleichen Server, 1 TB Egress und SSL inklusive.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/Mo + 40 GB Volume × $0.15/GB = $6 -> ~$17.83/Mo. Egress separat ($0.02/GB in EU).
  • Render: Standard ($25, 1 vCPU / 2 GB) plus 40 GB Disk × $0.25/GB = $10 -> ~$35/Mo. Pro (2 vCPU / 4 GB) kostet $85/Mo + Disk.
  • Railway (Pro Plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; Volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/Mo Compute, plus $20/Mo Pro-Plan-Minimum und $0.05/GB Egress.

Bandwidth-Kosten koennen bei nutzungsbasierten Anbietern schnell steigen. Nutz unser Bandwidth-Kostenvergleichs-Tool, um zu sehen, was dein Egress bei jedem Anbieter kosten wuerde.

FAQ

Was macht Diun eigentlich?

Diun ueberwacht Docker-Images, indem es regelmässig Registries (wie Docker Hub oder GitHub Container Registry) auf neue Versionen prueft. Wenn es ein Update findet, schickt es dir eine Benachrichtigung ueber deinen konfigurierten Provider (Slack, Discord, E-Mail, Webhook, etc.). Es aktualisiert deine Images nicht automatisch - es informiert dich nur, dass Updates verfuegbar sind, damit du selbst entscheiden kannst, wann du upgradest.

Kann ich auswaehlen, welche Container ueberwacht werden?

Ja. Standardmaessig ist DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT auf true gesetzt, was bedeutet, dass alle Container auf dem Server ueberwacht werden. Wenn du nur bestimmte Container ueberwachen willst, setz den Wert auf false und fueg das Label diun.enable=true zu den Containern hinzu, die du tracken willst.

Wie update ich Diun?

Aendere den Image-Tag in deinen Sliplane-Service-Einstellungen und deploye neu. Pruef Docker Hub fuer die neueste stabile Version. Passenderweise benachrichtigt dich Diun auch ueber seine eigenen Updates.

Gibt es Alternativen zu Diun?

Ja. Watchtower ist eine beliebte Alternative, die Container sowohl benachrichtigen als auch automatisch updaten kann. Ouroboros ist eine weitere Option, wird aber nicht mehr aktiv gepflegt. Wenn du speziell daran interessiert bist, deine selbst gehostete n8n-Instanz aktuell zu halten, haben wir dafuer einen eigenen Guide. Mehr Docker-Tools findest du in 5 awesome Docker Tools to make your life easier.

Braucht Diun viele Ressourcen?

Nein. Diun ist extrem leichtgewichtig - es ist in Go geschrieben und braucht minimale CPU und Memory. Es laeuft nur periodisch (standardmaessig alle 6 Stunden) und ist die meiste Zeit idle. Du kannst es problemlos neben deinen anderen Services auf dem gleichen Sliplane-Server betreiben, ohne Performance-Einbussen.

Diun jetzt selbst hosten - ganz einfach!

Sliplane gibt dir alles, was du brauchst, um Diun ohne Server-Stress zu betreiben.