OpenLogs

All tools

Wallabag

Read-it-later app that saves web articles for reading later.

Replaces

Paid read-later services, such as Pocket.

All open-source alternatives to Pocket

Difficulty

Difficulty: Medium

3 services (2 database or broker: mariadb, redis), 2 volume mounts, no env values to set, no elevated host access. Heuristic score 4 of 11: medium.

Stack

PHP (language), MariaDB (database), Redis (database)

Deployment

docker_compose

Requirements

Not stated.

License

MIT (OSI-approved open source)

Read from github.com/wallabag/wallabag/blob/72bdffa/COPYING.md

Business model

Unknown

The README at the pinned commit does not state a business model, so it stays unknown.

Source: github.com/wallabag/wallabag/blob/72bdffa/README.md, read on .

Repository

wallabag/wallabag

GitHub stats

Stars
13,020
Forks
903
Open issues and pull requests
770
Last push
2026-10-22
Latest release
2.6.14
Released
2025-10-07

From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as MIT.

Compose file

Config check passed docker compose config exited 0 on this exact file on 2026-10-22.
README.md Version 1
services:
  wallabag:
    image: wallabag/wallabag
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
      - 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=wallapass
      - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
      - SYMFONY__ENV__DATABASE_TABLE_PREFIX="wallabag_"
      - SYMFONY__ENV__MAILER_DSN=smtp://127.0.0.1
      - [email protected]
      - SYMFONY__ENV__DOMAIN_NAME=https://your-wallabag-instance.wallabag.org
      - SYMFONY__ENV__SERVER_NAME="Your wallabag instance"
    ports:
      - "80"
    volumes:
      - /opt/wallabag/images:/var/www/wallabag/web/assets/images
    depends_on:
      - db
      - redis
  db:
    image: mariadb
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
    volumes:
      - /opt/wallabag/data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "/usr/local/bin/healthcheck.sh", "--innodb_initialized"]
      interval: 20s
      timeout: 3s
  redis:
    image: redis:alpine
    restart: unless-stopped    
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 20s
      timeout: 3s

From a separate packaging repository: github.com/wallabag/docker/blob/dd7191f/README.md.

Compose example from the project's own docs: wallabag/docker:README.md.

Install

  1. Docker with the Compose plugin (github.com/wallabag/docker/blob/dd7191f/README.md#L111-L155)

    A host with Docker and the Docker Compose plugin. This entry runs from a compose file.

  2. Save the code block as docker-compose.yml (github.com/wallabag/docker/blob/dd7191f/README.md)

    Use the compose file shown above.

  3. What the compose file check ran with (github.com/wallabag/docker/blob/dd7191f/README.md#L111-L155)

    This compose file is copied unchanged from the code block in https://github.com/wallabag/docker/blob/dd7191fa6d1837df00518d3a3a422dc353af1f34/README.md#L111-L155. The check ran on that block alone. The README of the project's docker repository shows this docker-compose example and says the mail settings must be filled in.

  4. Start it (github.com/wallabag/docker/blob/dd7191f/README.md)
    docker compose up -d
  5. Open the app (github.com/wallabag/docker/blob/dd7191f/README.md)

    Run docker compose port wallabag 80 to see the host port that Docker chose, then open that port in a browser. The compose file publishes container port 80 for the wallabag service without a host port.

Compose file check: config_ok on 2026-10-22.

Gotchas and maintenance

Gotchas

  • Some images use the latest tag or no tag. Images without a pinned version: wallabag: wallabag/wallabag (no tag), db: mariadb (no tag). A later pull can get a different version. (github.com/wallabag/docker/blob/dd7191f/README.md, checked 2026-10-22)
  • The compose file mounts host folders. Host paths mounted into containers: /opt/wallabag/images at /var/www/wallabag/web/assets/images (wallabag), /opt/wallabag/data at /var/lib/mysql (db). (github.com/wallabag/docker/blob/dd7191f/README.md, checked 2026-10-22)

Signals

  • Open issues and pull requests: 770
  • Last push: 2026-10-22 (0 days before this page was built)
  • Latest release: 2.6.14 on 2025-10-07 (380 days before this page was built)