Self-Hosted Linkwarden: Bookmarks That Survive Link Rot

That article you saved in 2019? Gone. The company got acquired, the blog migrated, the URL 404s. Your browser bookmark still points at the corpse. Pocket exported your queue before it shut down, but a CSV of dead links isn't a library — it's a obituary list.

Linkwarden treats bookmarks like something worth preserving. ~19k GitHub stars, AGPL-3.0, and every link you save gets archived — screenshot, PDF, and a single HTML snapshot — so you can read it even after the original site disappears. Reader view, highlights, annotations, shared collections. Bookmarks evolved, as their tagline says, and not into another SaaS that might sunset next year.

What it actually does

Linkwarden is a collaborative bookmark manager with built-in web archiving. Save a URL and the worker captures what the page looked like — not just the title and favicon.

Automatic preservation. Screenshot, PDF, and standalone HTML for each link. Optional push to the Wayback Machine for a third copy. Link rot stops being a shrug emoji in your reading list.

Reader mode with annotations. Clean reading view inside Linkwarden. Highlight passages, jot notes, revisit ideas months later on the preserved copy — not a re-fetch of whatever replaced the article.

Collections and collaboration. Organize by collection and sub-collection, tags, custom icons. Invite teammates with granular permissions — research lists, client resource banks, team reading queues without a shared Google Doc of URLs.

Save from everywhere. Web UI, browser extension, native iOS and Android apps (they talk to your self-hosted instance), iOS Shortcut, API keys. Sync existing browser bookmarks via Floccus. Upload pages from SingleFile. RSS subscriptions auto-import new links.

Local AI tagging (optional). Automatically tag links from page content — runs locally if you configure it that way, so research topics stay on your box.

Stack: Next.js, PostgreSQL, Meilisearch for full-text search, Docker Compose for deployment. SSO available on self-hosted installs for teams already on OIDC.

Linkwarden vs Karakeep vs ArchiveBox

We already covered Karakeep — another strong Pocket replacement with AI tagging, Meilisearch, and Monolith archival. Karakeep even imports from Linkwarden if you're switching directions.

Pick your lane:

  • Linkwarden — PDF + screenshot + HTML preservation out of the box, reader annotations, collaborative collections with permissions, Floccus sync, Wayback integration. Strong when preservation and team sharing matter equally.
  • Karakeep — "hoard everything" timeline UX, yt-dlp for video archives, heavy Pocket/Omnivore import story. Strong when you're replacing a read-it-later app personally.
  • ArchiveBox — forensic multi-format dumps for researchers. Overkill for daily reading; right when you need WARC files and legal-grade snapshots.

Both Linkwarden and Karakeep beat a bare bookmark folder. Linkwarden leans harder into "this page must survive" and shared curation; Karakeep leans into fast capture and AI organization.

Why self-host?

Your reading history is sensitive. Bookmarks reveal client research, political views, health questions, competitive intel. Self-hosted on a Canadian VPS beats another US read-it-later vendor reading the room wrong.

Archives stay yours. Screenshots and PDFs live on your PostgreSQL volume and disk — not a cloud tier that charges extra for export or deletes inactive accounts.

Mobile apps, your server. Linkwarden's iOS and Android apps connect to self-hosted instances. Same UX as cloud, but authentication and archived content stay on infrastructure you control.

AGPL-3.0. Inspect the code, fork if you must, keep running when the managed offering changes pricing. Linkwarden Cloud funds development if you'd rather pay for ops — self-hosting remains fully featured for the core product.

What running it takes

Docker Compose is the practical path — tested smooth on a 4 GB VPS, though the initial build pulls a fair bit:

mkdir linkwarden && cd linkwarden
curl -O https://raw.githubusercontent.com/linkwarden/linkwarden/main/docker-compose.yml
curl -L https://raw.githubusercontent.com/linkwarden/linkwarden/main/.env.sample -o .env
# Set NEXTAUTH_SECRET, POSTGRES_PASSWORD, MEILI_MASTER_KEY
docker compose up -d

UI on port 3000 by default. Set NEXTAUTH_URL to your real domain before going public. Put TLS in front with nginx or Traefik — bookmark archives over plaintext is a bad look.

Archival workers are the resource spike — capturing PDFs and screenshots for hundreds of links at once needs CPU and disk. Plan storage growth; a research team's collection adds up faster than titles and URLs.

Who it's for (and who should skip it)

Good fit: Pocket refugees who want preserved copies not just URLs, teams curating shared link collections, researchers fighting link rot, anyone who highlights and annotates web articles, orgs wanting SSO-backed bookmark libraries on Canadian infrastructure.

Maybe skip it: you save five links a month and don't care if they 404 — browser bookmarks are fine. You need WARC-level legal archiving — use ArchiveBox. You already run Karakeep happily — switching gains you little unless collaboration and PDF archival are missing.

Hosting it in Canada

Linkwarden wants PostgreSQL, Meilisearch, and disk for archives. We run instances on Canadian Docker hosting with backups on the database and room for PDF growth.

Tell us your team size and how aggressively you archive — we'll size storage before your first bulk import fills the disk.

Tags:
  • Linkwarden
  • Bookmarks
  • Archiving
  • Read It Later
  • Self-Hosted

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.