wallabag Leseliste als docker container

wallabag Leseliste als docker container

wallabag Leseliste

Wallabag ist eine Open‑Source‑Leseliste (Read‑It‑Later‑App) ähnlich Pocket, mit der du Artikel, Blog‑Posts und Webseiten später bequem lesen kannst – ohne die Originalseite zu verlassen.

Die Anwendung speichert die Inhalte in einer Datenbank, zeigt sie dann in einem klaren, leserfreundlichen Format an und bietet zahlreiche Funktionen wie Tagging, Kategorien, Volltextsuche, Synchronisation mit externen Geräten und mehr.

Quelle des Projekts: https://wallabag.org/

Warum Wallabag nutzen?

  • Lade Inhalte einmal herunter und lese sie später ohne Internetverbindung.
  • Keine Werbung, keine unnötigen UI‑Elemente – nur der Text (und optional Bilder).
  • Ordne Artikel mit Tags oder in Kategorien ein; finde alles schnell wieder.
  • Durchsuche den gesamten Inhalt deiner Wallabag‑Sammlung.
  • Nutze die API/Apps, um Inhalte auf mehreren Geräten zu synchronisieren.
  • SSL/TLS-Unterstützung, optional Authentifizierung via OAuth2 oder Basic Auth.

Voraussetzung

Docker muss installiert sein. Z.B. so:

curl -fsSL https://get.docker.com | sh

Vorgehen

Du kannst Dir auf einem Server Deiner Wahl ein Verzeichnis erstellen. Darin erstellst Du die benötigten Dateien "docker-compse.yml" und ".env":

docker-compose.yml

services:
  wallabag:
    image: wallabag/wallabag:latest
    container_name: wallabag-app
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
      - SYMFONY__ENV__DATABASE_HOST=db
      - SYMFONY__ENV__DATABASE_PORT=3306
      - SYMFONY__ENV__DATABASE_NAME=${SYMFONY__ENV__DATABASE_NAME}
      - SYMFONY__ENV__DATABASE_USER=${SYMFONY__ENV__DATABASE_USER}
      - SYMFONY__ENV__DATABASE_PASSWORD=${SYMFONY__ENV__DATABASE_PASSWORD}
      - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
      - SYMFONY__ENV__DATABASE_TABLE_PREFIX="wallabag_"
      - SYMFONY__ENV__MAILER_DSN=smtp://127.0.0.1
      - SYMFONY__ENV__FROM_EMAIL=${SYMFONY__ENV__FROM_EMAIL}
      - SYMFONY__ENV__DOMAIN_NAME=${SYMFONY__ENV__DOMAIN_NAME}
      - SYMFONY__ENV__SERVER_NAME=${SYMFONY__ENV__SERVER_NAME}
      - SYMFONY__ENV__SECRET=${SYMFONY__ENV__SECRET}
      - SYMFONY__ENV__LOCALE=de
      - SYMFONY__ENV__FOSUSER_REGISTRATION=false
      - SYMFONY__ENV__FOSUSER_CONFIRMATION=false
    # ports:
    #   - "80"
    volumes:
      - /path/to/wallabag/images:/var/www/wallabag/web/assets/images
    depends_on:
      - db
      - redis
    networks:
      - wallabag-net
      - proxy-net
  db:
    image: mariadb:11
    container_name: wallabag-db
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
    volumes:
      - /path/to/wallabag/db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "/usr/local/bin/healthcheck.sh", "--innodb_initialized"]
      interval: 20s
      timeout: 3s
    networks:
      - wallabag-net
  redis:
    image: redis:alpine
    container_name: wallabag-redis
    restart: unless-stopped    
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 20s
      timeout: 3s
    networks:
      - wallabag-net
networks:
  wallabag-net:
  proxy-net:
    external: true

In der Datei ".env" werden dann die Inhalte der Umgebungsvariablen gespeichert. Außerdem muss das externe Netzwerk "proxy-net" existieren, in dem der reverse proxy hängt (-> siehe meine Seite zu nginx proxy manager).

.env

MYSQL_ROOT_PASSWORD=
SYMFONY__ENV__DATABASE_NAME=wallabag
SYMFONY__ENV__DATABASE_USER=wallabag
SYMFONY__ENV__DATABASE_PASSWORD=
SYMFONY__ENV__FROM_EMAIL=Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
SYMFONY__ENV__DOMAIN_NAME=https://wallabag.example.com
SYMFONY__ENV__SERVER_NAME="Mein Wallabag"
SYMFONY__ENV__SECRET=

Du vergibst jetzt noch die Passwörter für die die mariadb-Datenbank, füllst den E-Mail Absender, die URL Deines wallabag und den Namen Deines wallabag ein. Außerdem erstellst Du noch einen langen Secret Key.

Starten der Container

Jetzt kannst Du auf der Kommandozeile oder über einen docker-Manager wie Portainer die Container starten:

docker compose up -d

Reverse proxy

Im nginx proxy manager erstellt Du nun den Hostnamen der Seite, z.B. wallabag.geekgully.de, und generierst das SSL-Zertifikat. Danach ist Kitchenowl z.B. unter https://wallabag.geekgully.de erreichbar.

 

Comments powered by CComment

Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
Facebook
Accept
Decline
Unknown
Unknown
Accept
Decline