Zum Inhalt

Wallabag - Installation mit Docker Compose

Wallabag wurde hier im Blog bereits mehrfach genannt. Aus diesem Grund eine kurze Installations- und Konfigurationsanleitung mit Docker Compose.

Wallabag installieren

Wallabag lässt sich sehr einfach mit Docker installieren, warten und komplett sichern. Bei mir läuft es auf einer Synology mit Reverse Proxy.


Vorbereitung - Ordner anlegen

Wallabag benötigt einige Ordner. Diese sind auf der Synology noch anzulegen.

  • /volume1/docker/wallabag/images
  • /volume1/docker/wallabag/data
  • /volume1/docker/wallabag/db
  • /volume1/docker/wallabag/redis

Docker Compose

In der Docker Compose sind u.a. die Passwörter und die Domain zu ändern. Die entsprechenden Zeilen sind farblich gekennzeichnet.

Wallabag - Docker Compose
services:
  wallabag:
    image: wallabag/wallabag
    container_name: Wallabag
    restart: on-failure:5
    environment:
      - MYSQL_ROOT_PASSWORD=password-root
      - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
      - SYMFONY__ENV__DATABASE_HOST=db
      - SYMFONY__ENV__DATABASE_PORT=3306
      - SYMFONY__ENV__DATABASE_NAME=wallabag
      - SYMFONY__ENV__DATABASE_USER=wallabag
      - SYMFONY__ENV__DATABASE_PASSWORD=password-wallabag
      - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
      - SYMFONY__ENV__DOMAIN_NAME=https://wallabag.example.com
      - SYMFONY__ENV__SERVER_NAME=Wallabag by NAME
      - SYMFONY__ENV__FOSUSER_CONFIRMATION=false
      - SYMFONY__ENV__FOSUSER_REGISTRATION=true
     # - SYMFONY__ENV__TWOFACTOR_AUTH=true
    ports:
      - 6749:80
    volumes:
      - /volume1/docker/wallabag/images:/var/www/wallabag/web/assets/images:rw
      - /volume1/docker/wallabag/data:/var/www/wallabag/data:rw
    depends_on:
     - db
     - redis
  db:
    image: mariadb:11.4-noble #LTS Long Time Support Until May 29, 2029.
    container_name: Wallabag-DB
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=password-root
      - TZ=Europe/Berlin
    volumes:
      - /volume1/docker/wallabag/db:/var/lib/mysql:rw

  redis:
    image: redis:alpine
    container_name: Wallabag-REDIS
    healthcheck:
     test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    volumes:
      - /volume1/docker/wallabag/redis:/data:rw
    restart: on-failure:5

Backup und Recovery

Der rsync-Prozess wird auf dem eigenen Client gestartet. Die Daten werden an eine angeschlossene externe Festplatte geschrieben.

Wallabag --dry-run
rsync -avhbPz --dry-run -e 'ssh -p 22' \
benutzer@192.168.2.46:/volume1/docker/wallabag/ \
/Volumes/externe-festplatte/wallabag/
Wallabag III
rsync -avhbPz -e 'ssh -p 22' \
benutzer@192.168.2.46:/volume1/docker/wallabag/ \
/Volumes/externe-festplatte/wallabag/
  • ssh -p 22 = SSH-Port der Synology
  • /volume1/docker/wallabag/ = Wallabag-Hauptordner auf der Synology
  • /Volumes/externe-festplatte/wallabag/ = externe Festplatte am eigenen Client

Ein Recovery geht ebenfalls sehr einfach. Den Stack oder die Docker Container stoppen und die gesicherten Daten per rsync oder über die Weboberfläche zurück auf die Synology kopieren.

Nach einem Starten des Stack oder Containers sind gespeicherten Artikel wieder da.


Apps und Webbrowser-Plugins

Es gibt sowohl Apps für Android / iOS und die Webbrowser.

Die Anmeldung mag ein wenig umständlich erscheinen, da erst in der API-Client-Verwaltung ein neuer Client erstellt werden muss.

Die beiden Informationen client-id und client-secret sind dann in der App bzw. Erweiterung neben dem eigenen Benutzernamen und Passwort einzutragen.

Den Prozess der Anmeldung ist im Artikel Read it Later - Sende Artikel aus Newsboat direkt an Wallabag beschrieben.

API-Client-Verwaltung aufrufen

Neuer Client erstellen

Client Parameter kopieren

Mit einem Klick auf LESE "WIE ERSTELLE ICH MEINE ERSTE ANWENDUNG" gelangt man zu einer Erklärung, wie die Tokens abzurufen sind.

Der Befehl, kann nach dem Eintragen der eigenen Informationen auf der CLI ausgeführt werden.

http POST https://wallabag.example.com/oauth/v2/token \
    grant_type=password \
    client_id=12_xxxxxxxxxxxx \
    client_secret=yyyyyyyyy \
    username=yourUsername \
    password=yourPassw0rd

Man erhält dann einen access_token und referesh_token, die in den Einstellungen der Apps einzutragen sind.

Die Seite mit der Erklärung lässt sich jederzeit aufrufen, einfach die Adresse an die eigene URL anpassen-

  • https://wallabag.example.com/developer/howto/first-app

Welche Apps und Tools?


Synology Reverse Proxy

Läuft Wallabag auf einer Synology, kann der Reverse Proxy genutzt werden, um den Dienst über die eigene Domain zu erreichen.

Synology Reverse Proxy für Wallabag konfigurieren

Synology Reverse Proxy für Wallabag konfigurieren

Synology Reverse Proxy für Wallabag konfigurieren


Pi-hole - Local DNS Record

Wallabag kann auch mit der eigenen Domain ausschließlich im eigenen Netzwerk verwendet werden. Dafür muss ein lokaler DNS-Eintrag gesetzt werden.

Läuft im eigenen Netzwerk bereits Pi-hole, kann der Eintrag dort gesetzt werden.


Fazit

Kurz und knapp, Wallabag ist ein must have im Homelab!

Wallabag ist eine super Lösung, die es ermöglicht News- und Blogbeiträge und Webfundstücke schnell und unkompliziert über alle Endgeräte für das spätere Lesen zu speichern und zu verschlagworten.

Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address:

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source
  • Foto von Photoholgic auf Unsplash