Readeck vs Wallabag: Read-Later Apps Compared
Quick Verdict
Unlike Wallabag — which has been the default self-hosted Pocket alternative since 2013 — Readeck takes a different approach: a single Go binary with SQLite, EPUB export, and OPDS feeds for e-readers. For personal read-later with e-reader integration, Readeck is lighter and simpler. For teams, mobile apps, and a mature ecosystem with importers and browser extensions, Wallabag is the established choice.
Overview
Readeck is a Go-based read-later app that saves web articles as immutable ZIP files containing text, images, and metadata. It runs as a single binary with embedded SQLite — no external database, no Redis, no PHP stack. Readeck launched in 2023 and reached feature stability quickly: full-text search, labels, collections, highlights, EPUB export, and OPDS feeds for e-reader apps. Official site.
Wallabag is a PHP/Symfony application that has been the go-to self-hosted read-later tool since 2013. It stores articles in PostgreSQL or MySQL, offers native Android and iOS apps, supports Pocket/Instapaper import, and integrates with RSS readers and e-readers via email. The Docker deployment requires three containers (app, database, Redis). Official site.
Feature Comparison
| Feature | Readeck | Wallabag |
|---|---|---|
| Language | Go | PHP (Symfony) |
| Database | SQLite (embedded) | PostgreSQL or MySQL (external) |
| Containers required | 1 | 3 (app + database + Redis) |
| Native mobile apps | No (PWA only) | Yes (Android + iOS) |
| Browser extensions | Firefox, Chrome | Firefox, Chrome |
| EPUB export | Built-in | Via email to Kindle/Kobo |
| OPDS feed | Built-in | No |
| Full-text search | Yes | Yes |
| Highlights | Yes | No (annotations via third-party) |
| Tagging | Labels + collections | Tags + tagging rules |
| Multi-user | Yes | Yes |
| API | REST API | REST API (OAuth2) |
| Pocket/Instapaper import | Pocket HTML, Wallabag JSON | Pocket, Instapaper, Pinboard, Firefox, Chrome |
| RSS feed output | No | Yes (per-user RSS feeds) |
| Content storage | Immutable ZIP per article | Database rows + image files |
| License | AGPL-3.0 | MIT |
Installation Complexity
Readeck deploys as a single container:
services:
readeck:
image: codeberg.org/readeck/readeck:0.22.2
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- readeck-data:/readeck
environment:
- READECK_SERVER_HOST=0.0.0.0
- READECK_SERVER_PORT=8000
healthcheck:
test: ["CMD", "readeck", "healthcheck"]
interval: 30s
timeout: 10s
retries: 3
volumes:
readeck-data:
One container, one volume, two environment variables. First user becomes admin.
Wallabag needs three containers:
services:
wallabag:
image: wallabag/wallabag:2.6.14
restart: unless-stopped
ports:
- "8080:80"
environment:
SYMFONY__ENV__DATABASE_DRIVER: "pdo_pgsql"
SYMFONY__ENV__DATABASE_HOST: "wallabag_db"
SYMFONY__ENV__DATABASE_PORT: "5432"
SYMFONY__ENV__DATABASE_NAME: "wallabag"
SYMFONY__ENV__DATABASE_USER: "wallabag"
SYMFONY__ENV__DATABASE_PASSWORD: "change_this_password"
SYMFONY__ENV__DOMAIN_NAME: "http://localhost:8080"
SYMFONY__ENV__SECRET: "change_this_to_random_string"
SYMFONY__ENV__FOSUSER_REGISTRATION: "false"
volumes:
- wallabag_images:/var/www/wallabag/web/assets/images
- wallabag_data:/var/www/wallabag/data
depends_on:
wallabag_db:
condition: service_healthy
wallabag_redis:
condition: service_healthy
wallabag_db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: wallabag
POSTGRES_PASSWORD: change_this_password
POSTGRES_DB: wallabag
volumes:
- wallabag_pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U wallabag"]
interval: 10s
timeout: 5s
retries: 5
wallabag_redis:
image: redis:7-alpine
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
wallabag_images:
wallabag_data:
wallabag_pgdata:
Three containers, three volumes, nine environment variables. Default credentials (wallabag/wallabag) must be changed on first login.
Winner: Readeck. One container vs three. One volume vs three. Readeck starts in under 5 seconds; Wallabag needs 30-60 seconds for database migrations on first boot.
Performance and Resource Usage
| Metric | Readeck | Wallabag |
|---|---|---|
| RAM (idle) | 30–50 MB | 150–300 MB (app + PostgreSQL + Redis) |
| RAM (active) | 50–100 MB | 300–500 MB |
| Disk (base) | ~15 MB | ~200 MB |
| Startup time | <5 seconds | 30–60 seconds (first boot) |
| Containers | 1 | 3 |
| Content storage | ZIP files on disk | Database + image files |
Readeck’s Go binary is dramatically lighter than Wallabag’s PHP/Symfony stack plus PostgreSQL and Redis. On a 1 GB VPS, Readeck barely registers; Wallabag consumes a third of available memory.
E-Reader Integration
This is where Readeck pulls ahead. It has built-in OPDS support — point KOReader, Calibre, Moon+ Reader, or any OPDS-compatible app at http://your-server:8000/opds and your saved articles appear as downloadable EPUBs. Save articles during the day, sync to your Kindle or Kobo at night. No extra steps.
Wallabag supports e-readers through a different mechanism: email-to-Kindle/Kobo. You configure SMTP credentials and your device’s email address, then send individual articles from the web UI. It works, but requires SMTP setup and sends articles one at a time — no bulk sync, no catalog browsing.
Winner: Readeck for e-reader workflows. OPDS is a better protocol than email-to-device for bulk reading.
Mobile Experience
Wallabag has native Android and iOS apps that support offline reading and sync. The apps are mature, available on official app stores, and work well for saving and reading on the go.
Readeck has no native apps. The web UI works in mobile browsers and can be installed as a PWA (Progressive Web App). On Android, you can share URLs to Readeck via the browser extension. It works, but it’s not the same as a dedicated app with background sync and offline caching.
Winner: Wallabag. Native mobile apps matter for a read-later tool. If you primarily read saved articles on your phone, Wallabag’s apps are a significant advantage.
Community and Ecosystem
| Dimension | Readeck | Wallabag |
|---|---|---|
| First release | 2023 | 2013 |
| GitHub/Codeberg stars | ~1,500 | ~10,000+ |
| Mobile apps | None (PWA) | Android + iOS (official) |
| Import sources | Pocket, Wallabag | Pocket, Instapaper, Pinboard, Firefox, Chrome |
| Integrations | API, OPDS | API (OAuth2), RSS, email, Kindle, Kobo |
| Documentation | Good (readeck.org) | Comprehensive (doc.wallabag.org) |
| Community size | Small, growing | Large, established |
Wallabag has a 10-year head start. Thousands of guides, forum posts, and integrations exist. Readeck is newer but moves fast — it shipped OPDS, highlights, and collections within its first two years.
Use Cases
Choose Readeck If…
- You want the lightest possible read-later app (30 MB RAM)
- E-reader integration via OPDS is important to your workflow
- You prefer a single-container deployment with no external database
- You want built-in EPUB export and highlights
- You run on a small VPS or Raspberry Pi alongside other services
- You primarily read saved content on an e-reader, not a phone
Choose Wallabag If…
- You need native mobile apps for Android/iOS
- You’re migrating from Pocket or Instapaper and want seamless import
- You need team features with multiple users and sharing
- You want RSS feed output from your saved articles
- You need auto-tagging rules based on article content
- You prefer a mature tool with 10+ years of community support
Final Verdict
For personal read-later with e-reader integration, choose Readeck. The OPDS feed and EPUB export create a workflow that Wallabag can’t match — save articles during the day, sync your entire reading list to a Kobo or Kindle at night, read offline without a screen glowing at you. The 30 MB RAM footprint means you can run it alongside anything.
For a read-later app with mobile apps, team support, and a mature ecosystem, choose Wallabag. The native Android and iOS apps, comprehensive importers, and decade of community support make it the safer choice for users who primarily read on their phones. If you’re replacing Pocket today and want the closest experience, Wallabag is the answer.
FAQ
Can I migrate from Wallabag to Readeck?
Yes. Export your Wallabag articles as JSON, then import the file in Readeck’s admin settings. Article content transfers; tags map to Readeck labels.
Does Readeck support Kindle?
Yes, through OPDS. KOReader on Kindle (requires jailbreak) or Calibre on desktop can sync articles from Readeck’s OPDS feed. Wallabag uses email-to-Kindle, which works on stock Kindles without modification.
Which is better for archiving web pages?
Both save article content locally. Readeck stores each article as an immutable ZIP file (text + images), which is better for long-term archival. Wallabag stores content in the database with images as separate files. For serious web archiving beyond read-later, consider Linkwarden or Hoarder instead.
Can I run both?
Yes. They use different ports (Readeck: 8000, Wallabag: 8080) and don’t share any dependencies. Some users run Readeck for e-reader sync and Wallabag for mobile reading.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments