DEV Community

Alex Chen
Alex Chen

Posted on

I Replaced Pocket's $45/Year with Linkwarden on a Free Tier VM — My Bookmarks Finally Have Full-Text Search

Last month Pocket's iOS app showed me a paywall to search the full text of an article I saved in 2019. My own bookmark, saved with their free tier, held hostage behind $45/year.

That evening I moved 1,200 bookmarks out. Three weeks later, I'm never going back.

The comparison that made me switch

Pocket Premium Linkwarden (self-hosted)
Price $45/year $0 (Oracle Always Free VM)
Full-text search Yes (paid) Yes (Meilisearch built in)
Page archive Premium only Screenshot + PDF + HTML, all saved
Dead-link survival No Yes — archived copy stays
Data export JSON, delayed API + auto-export, any time
AI auto-tagging No Optional, via your own Ollama

Setup: 15 minutes, honestly

On the free ARM VM (4 cores / 24GB RAM — Oracle's Always Free tier is absurdly generous):

git clone https://github.com/linkwarden/linkwarden.git
cd linkwarden
cp .env.sample .env
# edit .env: set NEXTAUTH_SECRET and DATABASE_URL
docker compose up -d
Enter fullscreen mode Exit fullscreen mode

Import from Pocket: Settings → Import → upload the ril_export.html Pocket gives you. All 1,200 bookmarks landed with tags intact in about 90 seconds.

Three weeks in, the numbers

  • Searches per day: ~8 (I actually search now, because it works)
  • Dead links recovered: 3 — pages that 404'd after I saved them still readable via the archived PDF
  • Monthly cost: $0 (VM is free tier, storage is 40GB of the free 200GB)
  • Pocket premium renewal: cancelled

The killer feature I didn't expect: collections shared via public link. I curate a "reading queue" collection and share it with two friends. Pocket charges for that too.

Honest downside

You own the uptime. If the VM dies, your bookmarks are down until you restart it. My instance has been up 21 days straight, but if you don't want to think about it ever, the hosted Linkwarden cloud exists at $3/month — still cheaper than Pocket.

I sketched the import/export scripts and the docker setup with MonkeyCode (free AI coding assistant): https://ly.cyberserval.tech/iIETXiF

What's in your read-later stack right now — and have you checked whether your saved pages from 5 years ago still load?

Top comments (0)