Deploy Karakeep — Bookmark Manager, Formerly Hoarder
Self-host Karakeep (ex-Hoarder): AI bookmarks. Import Pocket in one click.
Karakeep
Just deployed
/data
Meilisearch
Just deployed
/meili_data
Browserless
Just deployed
Deploy and Host Karakeep on Railway

Karakeep — formerly Hoarder — is the open-source "bookmark everything" app: save links, notes, images, and PDFs, let AI tag them automatically via OpenAI or a local Ollama, and find anything again with sub-50ms Meilisearch full-text search. Browser extensions for Chrome and Firefox, native iOS and Android apps, RSS import, and a REST API.
Pocket is gone — Mozilla shut it down in 2025. Karakeep imports your Pocket export in one click and gives you what Pocket never did: AI tagging, full-page archiving, and data that lives on your own infrastructure. Self-host on Railway for ~$5–10/month with no storage caps and no feature tiers.
What This Template Deploys
| Service | Purpose |
|---|---|
| Karakeep | Web UI, API, and background workers with embedded SQLite — volume at /data for bookmarks, assets, and the database |
| Meilisearch | Full-text search engine — indexes every bookmark, note, and archived page; volume at /meili_data |
| Browserless (Chromium) | Headless browser for crawling — renders JavaScript pages, captures screenshots, archives HTML, all over token-authenticated private networking |
All three services are pre-wired over Railway's private network. NEXTAUTH_SECRET, the
Meilisearch master key, and the browser token are generated and shared automatically — the
wiring that makes Karakeep painful on a VPS is done for you.
About Hosting Karakeep
Karakeep is the successor to Hoarder — same project, renamed — and the most complete self-hosted answer to Pocket, Raindrop.io, and Omnivore (also shut down). Running it properly needs three coordinated services: the app itself, Meilisearch for search, and a headless Chromium for crawling and screenshots, connected with shared secrets and token auth. That wiring is exactly what breaks most self-hosted Karakeep setups.
Railway provisions all of it in one click: private networking, two persistent volumes,
auto-generated secrets, and BROWSER_CONNECT_ONDEMAND pre-set so the crawler connects to
Chromium only when needed — avoiding the idle-timeout failures common in Karakeep deployments.
Typical cost: ~$5–10/month on Railway's Hobby plan. Karakeep Cloud is $4/month with a 50 GB cap; Raindrop.io Pro is $28/year with no AI tagging and no self-host option. Railway self-hosting has no storage tier and no feature gates.
Deploy in Under 5 Minutes
- Click Deploy on Railway — all three services build automatically (~3–4 minutes)
- Open your generated public URL and create your account — the first user is admin
- Set
DISABLE_SIGNUPS=truein Railway Variables to block further registration - Add
OPENAI_API_KEY(orOLLAMA_BASE_URLfor local AI) to enable automatic tagging - Install the Chrome or Firefox extension, paste your URL and an API key from Settings, and start saving
No Docker Compose. No secret generation. No browser wiring.
Common Use Cases
- Self-hosted Pocket alternative — Pocket shut down in 2025; import your Pocket HTML export in Settings → Import and keep read-it-later workflows alive on your own instance
- Karakeep for former Hoarder users — same app, new name; existing Hoarder data migrates
by moving the
/datavolume contents - Self-hosted alternative to Raindrop.io — AI tagging, image and PDF bookmarks, and RSS import that Raindrop lacks, with no subscription
- Developer knowledge base — save Stack Overflow answers, docs, and GitHub links; AI tags them by language and framework, Meilisearch finds them in milliseconds
- Research library with full-page archiving — pages are crawled and archived at save time, so content survives link rot and stays full-text searchable
- Team shared bookmarks — leave signups open or wire OAuth/OIDC for SSO; shared lists and rule-based auto-organization keep team collections tidy
Configuration
| Variable | Required | Description |
|---|---|---|
NEXTAUTH_URL | ✅ Auto-set | Public app URL from your Railway domain |
NEXTAUTH_SECRET | ✅ Auto-generated | Session signing secret |
MEILI_ADDR | ✅ Auto-wired | Internal Meilisearch URL over private networking |
MEILI_MASTER_KEY | ✅ Auto-generated | Shared Meilisearch auth key |
BROWSER_WEBSOCKET_URL | ✅ Auto-wired | Token-authenticated Playwright endpoint for the crawler |
BROWSER_CONNECT_ONDEMAND | ✅ Pre-set | true — connect to Chromium only when crawling; prevents idle-timeout crashes |
OPENAI_API_KEY | Recommended | Enables AI auto-tagging |
OLLAMA_BASE_URL | Optional | Point at an Ollama instance for fully local AI tagging |
DISABLE_SIGNUPS | Recommended | Set true after creating your admin account |
CRAWLER_NUM_WORKERS | Optional | Parallel crawl workers — raise for bulk imports |
MAX_ASSET_SIZE_MB | Optional | Max upload size for PDFs and images |
Karakeep vs. Bookmark Managers
| Karakeep (Railway) | Raindrop.io | Linkwarden | ||
|---|---|---|---|---|
| Status | ✅ Active (ex-Hoarder) | ❌ Shut down 2025 | ✅ SaaS only | ✅ Active |
| Self-hosted | ✅ AGPL | ❌ — | ❌ No | ✅ AGPL |
| AI tagging | ✅ OpenAI / Ollama | ❌ No | ❌ No | ⚠️ Plugins |
| Image / PDF bookmarks | ✅ Yes | ❌ Links only | ⚠️ Limited | ❌ No |
| Full-text search | ✅ Meilisearch | ⚠️ Basic | ✅ Built-in | ✅ Built-in |
| Native mobile apps | ✅ iOS + Android | — | ✅ Yes | ❌ PWA only |
| Database | ✅ Embedded SQLite | — | Proprietary | ❌ Needs PostgreSQL |
| RSS import | ✅ Yes | ❌ No | ❌ No | ❌ No |
| Monthly cost | ~$5–10 flat | — | $28/year Pro | Self-hosted |
Dependencies for Karakeep Hosting
- Railway account — Hobby plan (~$5–10/month) covers all three services and both volumes
- Optional: OpenAI API key or an Ollama endpoint for AI tagging (Karakeep works without it)
Deployment Dependencies
- Karakeep GitHub Repository — source, formerly Hoarder
- Karakeep Documentation — configuration and import guides
- Karakeep Browser Extensions — Chrome and Firefox
- Railway Volumes Documentation — persistent storage
Implementation Details
Karakeep deploys from ghcr.io/karakeep-app/karakeep with embedded SQLite — no PostgreSQL
required, unlike Linkwarden. Meilisearch (getmeili/meilisearch) indexes all content on its
own volume, and a Chromium service handles crawling over a token-authenticated WebSocket that
never leaves Railway's private network.
BROWSER_CONNECT_ONDEMAND=true is pre-set so the crawler opens browser sessions only when a
bookmark needs rendering — the always-on connection pattern is the most common cause of failed
Karakeep deployments, and this template avoids it by default. Both volumes persist through
redeploys: your bookmarks, archives, and search index survive every update.
Frequently Asked Questions
Is Karakeep the same as Hoarder?
Yes. Hoarder was renamed to Karakeep — same maintainer, same codebase, continued development.
Existing Hoarder users can migrate by moving their /data volume contents to the new instance.
Can I import my bookmarks from Pocket? Yes. Pocket shut down in 2025, and Karakeep imports the Pocket HTML export directly via Settings → Import. It also imports from Raindrop.io (CSV), Omnivore, and standard browser bookmark exports — so every dead or paid service has a migration path.
Do I need an OpenAI key for AI tagging?
No — tagging is optional. Add OPENAI_API_KEY for hosted AI, or point OLLAMA_BASE_URL at an
Ollama instance for fully local, zero-cost tagging. Without either, Karakeep works as a normal
bookmark manager with full-text search.
Why does Karakeep need three services? The app handles UI and workers; Meilisearch provides sub-50ms full-text search across archived pages; headless Chromium renders JavaScript-heavy pages for archiving and screenshots. This template wires all three with auto-generated secrets so none of it is manual.
Do I lose bookmarks or search indexes on redeploy?
No. Bookmarks, assets, and the SQLite database persist on the /data volume; search indexes
persist on /meili_data. Redeploys and version updates don't touch either.
How do I connect the browser extension? Install from the Chrome Web Store or Firefox Add-ons, enter your Railway public URL, then generate an API key under Settings → API Keys and paste it into the extension.
Why Deploy and Host Karakeep on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Karakeep on Railway, you get the complete bookmark-everything stack — AI tagging, Meilisearch full-text search, full-page archiving, and native mobile apps — pre-wired across three services at ~$5–10/month, with a one-click migration path off Pocket, Raindrop, and every other service that shut down or moved behind a paywall.
Template Content
Karakeep
karakeep-app/karakeep:latestMeilisearch
getmeili/meilisearchBrowserless
railwayapp-templates/browserless-v2