{"id":528,"date":"2026-10-05T13:50:00","date_gmt":"2026-10-05T11:50:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/?page_id=528"},"modified":"2026-09-25T10:49:12","modified_gmt":"2026-09-25T08:49:12","slug":"autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/","title":{"rendered":"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower"},"content":{"rendered":"<h2>Architektur-\u00dcberblick: Autonomen Heimserver auf Raspberry Pi konzipieren<\/h2>\n<p>Der Betrieb eines selbstgehosteten Home-Labs auf einem Raspberry Pi erfordert eine ausfallsichere, wartungsarme Administrationsarchitektur. Die Bereitstellung interner Docker-Container im lokalen Netz oder im \u00f6ffentlichen Internet ohne zentrale SSL\/TLS-Terminierung erh\u00f6ht die administrative Komplexit\u00e4t und birgt erhebliche Sicherheitsrisiken. Manuelle Zertifikatsverl\u00e4ngerungen, statische Reverse-Proxy-Konfigurationen und h\u00e4ndische Container-Updates f\u00fchren unweigerlich zu Ausfallzeiten und abgelaufenen kryptografischen Zertifikaten.<\/p>\n<p>Eine autonome Heimserver-Architektur kombiniert drei Kerntechnologien in einem deklarativen Docker-Compose-Stack: <strong>Traefik v3<\/strong> fungiert als dynamischer Edge-Router, der den Docker-Socket \u00fcberwacht und eingehende HTTP-\/HTTPS-Anfragen basierend auf Container-Labels weiterleitet. Die Integration von <strong>Let&#8217;s Encrypt ACME<\/strong> automatisiert die Erstellung und Erneuerung von SSL-Zertifikaten \u00fcber HTTP-01- oder DNS-01-Challenges; und <strong>Watchtower<\/strong> \u00fcbernimmt das kontinuierliche Lifecycle-Management, indem konfigurierte Container-Registries zyklisch gepr\u00fcft und veraltete Container-Images ohne manuelles Eingreifen sauber aktualisiert werden.<\/p>\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/traefik-docker-heimserver-de.png\" width=\"1120\" height=\"560\" alt=\"Anfrageweg vom Internet \u00fcber den Traefik-Edge-Router zu Containern im proxy-Netzwerk, mit Let&apos;s Encrypt und Watchtower\"><figcaption>Anfrageweg des Heimservers: Traefik terminiert TLS auf Port 443, erneuert das Let&#8217;s-Encrypt-Zertifikat selbst und findet seine Routing-Ziele allein \u00fcber Docker-Labels. Watchtower h\u00e4lt die Images im Hintergrund aktuell.<\/figcaption><\/figure>\n<h2>Schritt-f\u00fcr-Schritt-Implementierungsanleitung<\/h2>\n<h3>Schritt 1: Systemvorbereitung und Dateisystem-Hierarchie<\/h3>\n<p>Um eine persistente Datenspeicherung und eine saubere Struktur auf dem Raspberry-Pi-Host zu gew\u00e4hrleisten, muss ein standardisierter Verzeichnisbaum unter <code>\/opt\/containers\/<\/code> aufgebaut werden:<\/p>\n<pre><code>mkdir -p \/opt\/containers\/traefik\/data\nmkdir -p \/opt\/containers\/watchtower\ntouch \/opt\/containers\/traefik\/data\/acme.json\nchmod 600 \/opt\/containers\/traefik\/data\/acme.json<\/code><\/pre>\n<p><em>Kritischer Sicherheitshinweis:<\/em> Die Datei <code>acme.json<\/code>, in der die privaten kryptografischen Let&#8217;s-Encrypt-Schl\u00fcssel gespeichert werden, muss auf die Dateirechte <code>600<\/code> beschr\u00e4nkt sein. Traefik verweigert den Start bei zu weit gefassten Lese-\/Schreibberechtigungen.<\/p>\n<h3>Schritt 2: Aufbau des dynamischen Traefik-v3-Edge-Routers<\/h3>\n<p>Die Routing-Infrastruktur wird in einer <code>docker-compose.yml<\/code> unter <code>\/opt\/containers\/traefik\/<\/code> definiert. Diese Konfiguration legt Entrypoints f\u00fcr Port 80 (HTTP) mit obligatorischen Weiterleitungen auf Port 443 (HTTPS) fest, aktiviert automatisierte Let&#8217;s-Encrypt-HTTP-01-Challenges und bindet den Docker-Unix-Socket schreibgesch\u00fctzt ein:<\/p>\n<pre><code>services:\n  traefik:\n    image: traefik:v3.1\n    container_name: traefik\n    restart: unless-stopped\n    security_opt:\n      - no-new-privileges:true\n    networks:\n      - proxy\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n    command:\n      - \"--api.dashboard=true\"\n      - \"--providers.docker=true\"\n      - \"--providers.docker.exposedbydefault=false\"\n      - \"--providers.docker.network=proxy\"\n      - \"--entrypoints.web.address=:80\"\n      - \"--entrypoints.web.http.redirections.entryPoint.to=websecure\"\n      - \"--entrypoints.web.http.redirections.entryPoint.scheme=https\"\n      - \"--entrypoints.websecure.address=:443\"\n      - \"--certificatesresolvers.myresolver.acme.httpchallenge=true\"\n      - \"--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web\"\n      - \"--certificatesresolvers.myresolver.acme.email=admin@lukaswojcik.com\"\n      - \"--certificatesresolvers.myresolver.acme.storage=\/data\/acme.json\"\n    volumes:\n      - \"\/var\/run\/docker.sock:\/var\/run\/docker.sock:ro\"\n      - \"\/opt\/containers\/traefik\/data:\/data\"\n    labels:\n      - \"traefik.enable=true\"\n      - \"traefik.http.routers.dashboard.rule=Host(`proxy.lukaswojcik.com`)\"\n      - \"traefik.http.routers.dashboard.service=api@internal\"\n      - \"traefik.http.routers.dashboard.entrypoints=websecure\"\n      - \"traefik.http.routers.dashboard.tls.certresolver=myresolver\"\n      - \"traefik.http.routers.dashboard.middlewares=dashboard-ip\"\n      - \"traefik.http.middlewares.dashboard-ip.ipallowlist.sourcerange=192.168.0.0\/16, 10.0.0.0\/8\"\n\nnetworks:\n  proxy:\n    external: true<\/code><\/pre>\n<h3>Schritt 3: Erstellung des externen Docker-Proxy-Netzwerks<\/h3>\n<p>Vor der Ausf\u00fchrung des Compose-Stacks muss ein isoliertes Bridge-Netzwerk im Host-System initialisiert werden, damit Traefik sicher mit nachgelagerten Anwendungscontainern kommunizieren kann:<\/p>\n<pre><code>docker network create proxy<\/code><\/pre>\n<h3>Schritt 4: Integration von Watchtower f\u00fcr automatisiertes Lifecycle-Management<\/h3>\n<p>Um manuellen Wartungsaufwand bei Container-Updates zu eliminieren, wird Watchtower als autonomer Hintergrunddienst integriert. Da das urspr\u00fcngliche Repository <code>containrrr\/watchtower<\/code> am 17. Dezember 2025 archiviert wurde und keine Fehlerkorrekturen oder Sicherheitsupdates mehr erh\u00e4lt, kommt hier der aktiv gepflegte Fork <code>nickfedor\/watchtower<\/code> zum Einsatz, der ohne Konfigurations\u00e4nderung an dessen Stelle tritt. Das Tool pr\u00fcft konfigurierte Registries alle 24 Stunden (86400 Sekunden), l\u00e4dt neue Images passend zu den aktuellen Tags herunter, beendet veraltete Container-Instanzen kontrolliert und bereinigt ungenutzte Images automatisch:<\/p>\n<pre><code>services:\n  watchtower:\n    image: nickfedor\/watchtower:latest\n    container_name: watchtower\n    restart: unless-stopped\n    volumes:\n      - \"\/var\/run\/docker.sock:\/var\/run\/docker.sock\"\n    environment:\n      - WATCHTOWER_CLEANUP=true\n      - WATCHTOWER_POLL_INTERVAL=86400\n      - WATCHTOWER_INCLUDE_RESTARTING=true\n      - WATCHTOWER_ROLLING_RESTART=true<\/code><\/pre>\n<h3>Schritt 5: Bereitstellung eines gesicherten Microservices via Labels<\/h3>\n<p>Um eine selbstgehostete Anwendung ohne Anpassung zentraler Proxy-Konfigurationsdateien an den Traefik-Edge-Router anzubinden, werden dynamische Traefik-Routing-Labels direkt in der Compose-Definition des Zielsystems deklariert:<\/p>\n<pre><code>services:\n  whoami:\n    image: traefik\/whoami:latest\n    container_name: whoami\n    restart: unless-stopped\n    networks:\n      - proxy\n    labels:\n      - \"traefik.enable=true\"\n      - \"traefik.http.routers.whoami.rule=Host(`whoami.lukaswojcik.com`)\"\n      - \"traefik.http.routers.whoami.entrypoints=websecure\"\n      - \"traefik.http.routers.whoami.tls.certresolver=myresolver\"\n      - \"traefik.http.services.whoami.loadbalancer.server.port=80\"\n\nnetworks:\n  proxy:\n    external: true<\/code><\/pre>\n<h3>Schritt 6: Qualit\u00e4tssicherung und System-Audit<\/h3>\n<p>Nach dem Starten der Dienste mit <code>docker compose up -d<\/code> muss die Infrastruktur systematisch validiert werden:<\/p>\n<ol>\n<li><strong>Verifikation der Zertifikatsausstellung:<\/strong> Pr\u00fcfung der Container-Logs \u00fcber <code>docker logs -f traefik<\/code> zur Best\u00e4tigung erfolgreicher Let&#8217;s-Encrypt-ACME-Challenges und Verifikation, dass die Datei <code>acme.json<\/code> mit g\u00fcltigen RSA-\/ECDSA-Zertifikaten gef\u00fcllt ist.<\/li>\n<li><strong>Audit der automatischen Weiterleitung:<\/strong> Ausf\u00fchrung einer reinen HTTP-cURL-Abfrage auf die Domain (<code>curl -I http:\/\/whoami.lukaswojcik.com<\/code>) zur Best\u00e4tigung eines sofortigen <code>308 Permanent Redirect<\/code>&#8211; oder <code>301 Moved Permanently<\/code>-Headers auf HTTPS.<\/li>\n<li><strong>Simulation eines Update-Triggers:<\/strong> Durchf\u00fchrung eines einmaligen, nicht eingreifenden Watchtower-Laufs via <code>docker exec -it watchtower \/watchtower --run-once --monitor-only<\/code> zur Pr\u00fcfung, ob die Zugriffsberechtigungen auf den Docker-Socket korrekt arbeiten. <code>--no-pull<\/code> eignet sich daf\u00fcr nicht: Es unterbindet lediglich das Herunterladen neuer Images, w\u00e4hrend ein lokal bereits vorhandenes neueres Image weiterhin zum Stoppen und Neuerstellen des Containers f\u00fchrt.<\/li>\n<\/ol>\n<h2>Zusammenfassung und resultierender Mehrwert<\/h2>\n<p><strong>Was sich damit erreichen l\u00e4sst:<\/strong> Der vollst\u00e4ndige Verzicht auf manuelles Reverse-Proxy-Routing, fehleranf\u00e4llige SSL-Skript-Cronjobs und manuelle Container-Updates zugunsten einer autonomen, deklarativen Docker-Compose-Infrastruktur mit Traefik v3 und Watchtower.<\/p>\n<p><strong>Resultierender Mehrwert:<\/strong><\/p>\n<ul>\n<li><strong>Automatisierte SSL-\/TLS-Wartung:<\/strong> Kryptografische Zertifikate werden von Let&#8217;s Encrypt automatisch angefordert, konfiguriert und erneuert, was Browser-Warnungen und Systemausf\u00e4lle verhindert.<\/li>\n<li><strong>Dynamische Service-Erkennung:<\/strong> Neue Heimserver-Anwendungen werden durch Hinzuf\u00fcgen von Docker-Labels sofort weitergeleitet und verschl\u00fcsselt, was manuelle Nginx-\/Apache-Konfigurations\u00e4nderungen und Server-Reloads \u00fcberfl\u00fcssig macht.<\/li>\n<li><strong>Kontinuierliche Sicherheits-Updates:<\/strong> Sicherheitspatches und Applikations-Aktualisierungen werden innerhalb von 24 Stunden nach Upstream-Release automatisch eingespielt, was den Raspberry Pi effektiv gegen bekannte Schwachstellen h\u00e4rtet. Diese Zusage tr\u00e4gt nur, solange das Update-Werkzeug selbst gepflegt wird; deshalb tritt der aktiv entwickelte Fork <code>nickfedor\/watchtower<\/code> an die Stelle des archivierten Originals.<\/li>\n<\/ul>\n<div class=\"lw-faq\">\n<h2>Fragen und Antworten<\/h2>\n<h3>Macht das :ro am Docker-Socket den Zugriff von Traefik harmlos?<\/h3>\n<p>Nein. Das :ro verhindert nur, dass der Container die Socket-Datei selbst ver\u00e4ndert. \u00dcber den Socket spricht Traefik aber mit der Docker-API, und die unterscheidet nicht zwischen lesenden und schreibenden Aufrufen, nur weil die Datei schreibgesch\u00fctzt eingebunden ist. Wer den Socket erreicht, kann dar\u00fcber Container starten, auch solche mit eingebundenem Wurzelverzeichnis des Hosts, und hat damit faktisch Root-Rechte auf dem Raspberry Pi.<\/p>\n<p>Das Risiko liegt deshalb in der Angriffsfl\u00e4che von Traefik: Es ist der einzige Dienst, der Verbindungen direkt aus dem Internet annimmt. Eine L\u00fccke in Traefik w\u00fcrde nicht am Container enden. Watchtower braucht den Socket ohnehin schreibend, um Container zu ersetzen, nimmt aber keine Verbindungen von au\u00dfen an.<\/p>\n<p>Abhilfe schafft ein Socket-Proxy: ein kleiner Container, der den Socket h\u00e4lt und nur die lesenden Endpunkte der API weiterreicht, die Traefik f\u00fcr die Erkennung der Container braucht. Traefik bekommt dann statt des Sockets die Netzadresse dieses Proxys, und der Docker-Provider l\u00e4sst sich \u00fcber seinen Parameter endpoint darauf richten.<\/p>\n<h3>Welche Updates spielt Watchtower ein, und wie lassen sich Spr\u00fcnge auf eine neue Hauptversion vermeiden?<\/h3>\n<p>Watchtower folgt dem Tag, mit dem ein Image eingetragen ist, nicht einer Versionsnummer. Ein Container auf latest bekommt deshalb auch den Sprung auf eine neue Hauptversion, sobald diese unter latest erscheint, samt ge\u00e4nderter Konfiguration oder Datenformate. Ein R\u00fcckweg ist nicht vorgesehen: Nach dem Aufr\u00e4umen mit WATCHTOWER_CLEANUP=true liegt das alte Image nicht einmal mehr auf der Platte.<\/p>\n<p>Der Aufbau im Artikel zeigt schon die Gegenma\u00dfnahme: Traefik steht auf traefik:v3.1 und bekommt so nur neue Images unter diesem Tag, also Korrekturen innerhalb von 3.1, aber keinen Sprung auf eine andere Version. Dasselbe lohnt sich f\u00fcr jeden Dienst mit eigener Datenhaltung, etwa eine Datenbank. Bei den Diensten auf latest, im Artikel whoami und Watchtower selbst, ist das Risiko geringer, weil sie keine Daten halten.<\/p>\n<h3>Ist das Traefik-Dashboard unter proxy.lukaswojcik.com gesch\u00fctzt?<\/h3>\n<p>Ja, auf das Heimnetz beschr\u00e4nkt: Der Router f\u00fcr das Dashboard hat neben TLS die Middleware dashboard-ip, eine IP-Freigabeliste (ipAllowList), die nur Adressen aus 192.168.0.0\/16 und 10.0.0.0\/8 durchl\u00e4sst. Ohne sie s\u00e4he jeder, der den Hostnamen kennt, alle Router, Dienste und Hostnamen des Heimservers. Soll das Dashboard auch von unterwegs erreichbar sein, kommt eine Middleware f\u00fcr Basic Auth hinzu.<\/p>\n<h3>Funktioniert die HTTP-01-Challenge an jedem Heimanschluss?<\/h3>\n<p>Nur, wenn Let&#8217;s Encrypt den Raspberry Pi aus dem Internet auf Port 80 erreicht: Der Hostname muss \u00f6ffentlich auf den Anschluss zeigen, und der Router muss Port 80 an den Pi weiterleiten. An Anschl\u00fcssen ohne eigene \u00f6ffentliche IPv4-Adresse, etwa hinter Carrier-Grade-NAT oder DS-Lite, scheitert das \u00fcber IPv4; es klappt dann nur, wenn der Hostname einen AAAA-Eintrag hat und der Pi \u00fcber IPv6 erreichbar ist. Dieselbe Grenze gilt f\u00fcr Dienste, die nur im Heimnetz erreichbar sein sollen.<\/p>\n<p>F\u00fcr diese F\u00e4lle ist die im Artikel genannte DNS-01-Challenge gedacht. Sie belegt die Kontrolle \u00fcber die Domain mit einem TXT-Eintrag im DNS, braucht keinen offenen Port und erlaubt auch Wildcard-Zertifikate. Daf\u00fcr braucht Traefik Zugangsdaten f\u00fcr die API des DNS-Anbieters, und diese Zugangsdaten sind dann ebenso schutzbed\u00fcrftig wie die acme.json.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.docker.com\/compose\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker Compose documentation<\/a><\/li>\n<li><a href=\"https:\/\/doc.traefik.io\/traefik\/\" target=\"_blank\" rel=\"noopener noreferrer\">Traefik documentation<\/a><\/li>\n<li><a href=\"https:\/\/letsencrypt.org\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Let&#8217;s Encrypt documentation<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Technische Anleitung zum Aufbau eines vollautomatisierten Raspberry-Pi-Heimservers mit Traefik-v3-Reverse-Proxy, automatischen SSL-Zertifikaten und Watchtower-Image-Updates.<\/p>\n","protected":false},"author":1,"featured_media":14080,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[92632],"tags":[92055,92217,92205,92208,92211,92235],"class_list":["post-528","post","type-post","status-publish","format-standard","hentry","category-tutorials-de-raspberry-pi-de","tag-automation-de","tag-docker-de","tag-homelab-de","tag-raspberry-pi-de","tag-self-hosting-de","tag-tutorial-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower | Lukas Wojcik<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Technische Anleitung zum Aufbau eines vollautomatisierten Raspberry-Pi-Heimservers mit Traefik-v3-Reverse-Proxy, automatischen SSL-Zertifikaten und Watchtower-Image-Updates.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-05T11:50:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-528-autonomer-docker-compose-heimserver--g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower\",\"datePublished\":\"2026-10-05T11:50:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/\"},\"wordCount\":1192,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-528-autonomer-docker-compose-heimserver--g.png\",\"keywords\":[\"Automation\",\"Docker\",\"Homelab\",\"Raspberry Pi\",\"Self-Hosting\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/\",\"name\":\"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-528-autonomer-docker-compose-heimserver--g.png\",\"datePublished\":\"2026-10-05T11:50:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-528-autonomer-docker-compose-heimserver--g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-528-autonomer-docker-compose-heimserver--g.png\",\"width\":1200,\"height\":630,\"caption\":\"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/raspberry-pi-de\\\/tutorials-de-raspberry-pi-de\\\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower | Lukas Wojcik","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/","og_locale":"en_US","og_type":"article","og_title":"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower | Lukas Wojcik","og_description":"Technische Anleitung zum Aufbau eines vollautomatisierten Raspberry-Pi-Heimservers mit Traefik-v3-Reverse-Proxy, automatischen SSL-Zertifikaten und Watchtower-Image-Updates.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-10-05T11:50:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-528-autonomer-docker-compose-heimserver--g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower","datePublished":"2026-10-05T11:50:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/"},"wordCount":1192,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-528-autonomer-docker-compose-heimserver--g.png","keywords":["Automation","Docker","Homelab","Raspberry Pi","Self-Hosting","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/","name":"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-528-autonomer-docker-compose-heimserver--g.png","datePublished":"2026-10-05T11:50:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-528-autonomer-docker-compose-heimserver--g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-528-autonomer-docker-compose-heimserver--g.png","width":1200,"height":630,"caption":"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/raspberry-pi-de\/tutorials-de-raspberry-pi-de\/autonomer-docker-compose-heimserver-mit-traefik-ssl-und-watchtower\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Autonomer Docker-Compose-Heimserver mit Traefik, SSL und Watchtower"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=528"}],"version-history":[{"count":8,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/528\/revisions"}],"predecessor-version":[{"id":21119,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/528\/revisions\/21119"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14080"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}