MCPSERV.CLUB
wallabag

wallabag

Self-Hosted

Save web pages for distraction‑free reading anytime, anywhere

Active(100)
12.1kstars
0views
Updated 11 days ago
wallabag screenshot 1
1 / 5

Overview

Discover what makes wallabag powerful

Wallabag is a self‑hosted web application that turns arbitrary URLs into clean, readable articles. At its core it is a **content extraction engine** that strips away ads, navigation and other noise using open‑source parsers such as *Graby* and *php-readability*. The extracted content is stored in a relational database, indexed for full‑text search, and served through a RESTful API that developers can hook into from mobile clients, browser extensions or custom workflows. The project is written in PHP and follows modern Symfony conventions, making it familiar to developers who have worked with MVC frameworks before.

Language & Framework

Database

Content Extraction

API Layer

Overview

Wallabag is a self‑hosted web application that turns arbitrary URLs into clean, readable articles. At its core it is a content extraction engine that strips away ads, navigation and other noise using open‑source parsers such as Graby and php-readability. The extracted content is stored in a relational database, indexed for full‑text search, and served through a RESTful API that developers can hook into from mobile clients, browser extensions or custom workflows. The project is written in PHP and follows modern Symfony conventions, making it familiar to developers who have worked with MVC frameworks before.

Architecture & Technical Stack

  • Language & Framework: PHP 8.x, Symfony 6 (core framework), Doctrine ORM for database mapping.
  • Database: PostgreSQL or MySQL/MariaDB; schema is lightweight (articles, tags, users, feeds).
  • Content Extraction: Integrates Graby, php-readability and the FiveFilters site‑config to reliably parse a wide range of websites.
  • API Layer: Exposes JSON endpoints for CRUD operations on articles, tags, and feeds. OAuth2 is supported for secure third‑party integration.
  • Frontend: Twig templates with optional Vue.js components for a responsive UI; mobile‑first design is achieved via CSS frameworks.
  • Testing & CI: GitHub Actions run PHPUnit, PHPStan and Symfony’s static analysis.

Core Capabilities for Developers

  • Full‑Text Search: Powered by Doctrine and PostgreSQL full‑text indexes; can be extended with ElasticSearch if needed.
  • RSS/Atom Feed Import: Automatic fetching of user‑specified feeds and automatic article creation.
  • Webhooks & Event System: Custom events can trigger external scripts or services when an article is added, updated, or deleted.
  • Plugin Architecture: Symfony bundles can be dropped into the src/Bundle directory; community plugins exist for e‑reader integration, custom export formats, and UI tweaks.
  • Internationalization: Uses Symfony’s translation component; all strings are available in Weblate for easy contribution.

Deployment & Infrastructure

Wallabag can run on any LAMP/LEMP stack or within Docker. The official docker-compose.yml ships with a PostgreSQL container, Redis for cache and Symfony’s built‑in web server. Horizontal scaling is achievable by adding more application containers behind a load balancer, while the database can be replicated or sharded. The project includes health‑check endpoints and supports automated backups via cron jobs.

Integration & Extensibility

  • OAuth2 / API Tokens: Clients can authenticate and perform CRUD operations programmatically.
  • CLI Tools: Symfony console commands let you import/export data, purge old articles, or regenerate thumbnails.
  • Mobile & Desktop Clients: Official Android/iOS apps and a Chrome/Firefox extension expose the API; developers can build custom clients in any language.
  • Webhooks: Configure URLs that receive JSON payloads on article events, enabling integrations with services like Slack, Mattermost or custom CI pipelines.

Developer Experience

The documentation is hosted at doc.wallabag.org and follows Symfony’s best practices. The codebase is well‑structured, with clear separation of concerns and extensive unit tests. Community support is strong: issues are triaged quickly on GitHub, a Matrix channel exists for real‑time help, and the project is translated via Weblate. Licensing under MIT allows unrestricted use in commercial or open‑source projects.

Use Cases

  1. Enterprise Knowledge Base – Embed Wallabag in an intranet to archive internal documentation, with role‑based access and LDAP integration.
  2. Research Workflow – Sync articles from academic journals into Wallabag, tag them, and export to Zotero or Mendeley via custom scripts.
  3. Personal Reading List – Run a Docker stack on a Raspberry Pi, use the mobile app to save news articles, and read them offline on an e‑reader.
  4. Content Aggregator – Combine Wallabag with a custom RSS parser to create a personalized news feed that can be exposed as an API for other services.

Advantages Over Alternatives

  • Open Source & MIT Licensed – No vendor lock‑in; full control over data.
  • Rich API & Plugin System – Extensibility out of the box, unlike many closed‑source competitors.
  • Performance & Scalability – Symfony’s caching and Doctrine’s efficient queries keep the app snappy even with thousands of articles.
  • Community‑Driven Localization – Active Weblate translations ensure global usability without extra effort.

For developers looking to build or extend a self‑hosted read‑later service, Wallabag offers a robust foundation with modern PHP tooling, comprehensive APIs, and a flexible architecture that scales from personal laptops to enterprise servers.

Open SourceReady to get started?

Join the community and start self-hosting wallabag today