Zum Inhalt

Wallabag mit Docker installieren

Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 4 Minuten

Wallabag speichert Webseiten in einem ruhigen, gut lesbaren Format auf deinem eigenen Server. Links, Texte, Markierungen und Schlagwörter bleiben dadurch unter deiner Kontrolle und lassen sich später durchsuchen. Die einfache Installation mit der eingebauten SQLite-Datenbank dauert ungefähr 15 Minuten.

Voraussetzungen

  • Ein Server mit Docker und Docker Compose
  • Rund 1 GB freier Speicherplatz für den Anfang
  • Ein freier TCP-Port 8080
  • Die IP-Adresse des Docker-Servers

1. Projektordner anlegen

Führe diesen Befehl auf dem Docker-Server aus. Er erstellt den Projektordner und wechselt hinein:

mkdir -p ~/wallabag && cd ~/wallabag

2. Anwendungsschlüssel erzeugen

Der folgende Befehl erzeugt einen zufälligen Schlüssel und speichert ihn in .env:

printf 'WALLABAG_SECRET=%s\n' "$(openssl rand -hex 32)" > .env

Schütze die Datei anschließend vor anderen Benutzern des Servers:

chmod 600 .env

Schlüssel nicht verändern

Bewahre die .env-Datei zusammen mit deinem Backup auf. Trage den Wert niemals in eine öffentlich zugängliche Anleitung oder ein Git-Repository ein.

3. Compose-Datei anlegen

Lege im Ordner ~/wallabag eine Datei namens compose.yaml an. Ersetze <server-ip> durch die IP-Adresse deines Docker-Servers, zum Beispiel 192.168.178.20:

services:
  wallabag:
    image: wallabag/wallabag:latest
    container_name: wallabag
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      SYMFONY__ENV__DOMAIN_NAME: "http://<server-ip>:8080"
      SYMFONY__ENV__SECRET: ${WALLABAG_SECRET}
      SYMFONY__ENV__LOCALE: de
      SYMFONY__ENV__FOSUSER_REGISTRATION: "false"
    volumes:
      - wallabag-data:/var/www/wallabag/data
      - wallabag-images:/var/www/wallabag/web/assets/images

volumes:
  wallabag-data:
    name: wallabag-data
  wallabag-images:
    name: wallabag-images

Die beiden benannten Volumes speichern Datenbank und Bilder unabhängig vom Container. Die Registrierung neuer Konten bleibt zunächst ausgeschaltet.

4. Wallabag starten

Starte den Container im Projektordner:

docker compose up -d

Prüfe, ob der Dienst läuft:

docker compose ps

Falls die Oberfläche noch nicht erreichbar ist, beobachte den Startvorgang:

docker compose logs --tail=100 wallabag

5. Erstanmeldung absichern

Öffne http://<server-ip>:8080 im Browser und ersetze <server-ip> wieder durch die Server-IP. Melde dich mit den werkseitigen Daten an:

  • Benutzername: wallabag
  • Passwort: wallabag

Öffne danach sofort dein Profil und ändere Benutzername, E-Mail-Adresse und Passwort.

Standardpasswort sofort ändern

Solange wallabag als Passwort gilt, kann sich jeder mit Netzwerkzugriff anmelden. Veröffentliche den Dienst erst nach dem Passwortwechsel im Internet und verwende dafür HTTPS.

6. Erste Webseite speichern

Kopiere die Adresse eines frei erreichbaren Artikels. Wähle in Wallabag Eintrag hinzufügen, füge die Adresse ein und speichere sie. Wallabag lädt den Inhalt serverseitig und legt eine lesbare Kopie ab.

Browser und Smartphone

Für den täglichen Einsatz gibt es Browser-Erweiterungen und mobile Apps. Hinterlege dort die vollständige Wallabag-Adresse und die Zugangsdaten deines neu angelegten Kontos.

7. Backup erstellen

Lege im Wallabag-Projektordner zuerst einen Backup-Ordner an:

mkdir -p backup

Stoppe Wallabag kurz, damit die SQLite-Datenbank während der Sicherung unverändert bleibt:

docker compose stop wallabag

Sichere die Datenbank und die Anwendungseinstellungen aus dem ersten Volume:

docker run --rm -v wallabag-data:/data:ro -v "$PWD/backup:/backup" alpine sh -c 'tar czf /backup/wallabag-data-$(date +%F).tar.gz -C /data .'

Sichere anschließend die heruntergeladenen Bilder:

docker run --rm -v wallabag-images:/data:ro -v "$PWD/backup:/backup" alpine sh -c 'tar czf /backup/wallabag-images-$(date +%F).tar.gz -C /data .'

Starte Wallabag wieder:

docker compose start wallabag

Sichere zusätzlich compose.yaml und .env verschlüsselt. Kopiere die Archive danach auf ein anderes Gerät.

8. Aktualisieren und zurückgehen

Erstelle vor jeder Aktualisierung ein Backup. Lade dann das aktuelle Image und baue den Container neu:

docker compose pull
docker compose up -d

Prüfe anschließend Anmeldung und gespeicherte Artikel. Bei Problemen stoppst du den Container, stellst beide Volumes aus dem letzten Backup wieder her und startest die zuvor verwendete Image-Version.

9. Typische Fehler beheben

  • Port 8080 ist belegt: Ändere links in "8080:80" den Host-Port, etwa auf 8081, und passe DOMAIN_NAME entsprechend an.
  • Bilder oder Daten fehlen: Prüfe mit docker volume ls, ob beide benannten Volumes vorhanden sind.
  • Links werden nicht vollständig gespeichert: Manche Seiten blockieren automatische Abrufe oder laden Inhalte ausschließlich per JavaScript nach.
  • Anmeldung klappt nicht: Prüfe zuerst, ob noch die Standarddaten gelten, und setze danach sofort ein eigenes starkes Passwort.

10. Quellen und Videos

Fertig

Wallabag läuft nun unter http://<server-ip>:8080 und speichert Artikel dauerhaft in Docker-Volumes. Füge eine Testseite hinzu, lade die Wallabag-Oberfläche neu und öffne den gespeicherten Eintrag. Der Text sollte auch dann noch in deiner Leseliste erscheinen.