[{"data":1,"prerenderedAt":220},["ShallowReactive",2],{"seo-verification":3,"blog-migrate-pocket-to-self-hosted-alternatives-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-migrate-pocket-to-self-hosted-alternatives-vps-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"category":21,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":164,"ctaBody":165,"ctaButton":166,"ctaUrl":167,"relatedPosts":168},343,"migrate-pocket-to-self-hosted-alternatives-vps",{"fr":12,"en":10,"ar":13,"es":14},"migrer-pocket-alternatives-self-hosted-vps","migrate-pocket-self-hosted-alternatives-vps-ar","migrar-pocket-alternativas-self-hosted-vps","Migrating from Pocket: self-hosted alternatives on a VPS","Pocket shut down in July 2025 and deleted all data in November. Export your articles and import them into Karakeep or Wallabag on your own VPS.",10,0,false,"2026-09-09T00:00:00+00:00",{"id":22,"name":23,"slug":24,"color":25,"icon":26},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":22,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmigrer-pocket-alternatives-self-hosted-vps-poster.svg",{"categorySlug":33,"appSlug":34},"artificial-intelligence","karakeep","Pocket's closure in July 2025 highlighted an underestimated risk: years of organized bookmarks can vanish in a matter of weeks. Karakeep and Wallabag offer a lasting alternative — two open-source tools you deploy on your own VPS in under two hours, with native import of your existing Pocket library.",[37,41,44,54,57,60,87,90,110,113,148,151,154,161],{"type":38,"title":39,"body":40},"h2","When a service disappears and takes your data with it","On July 8, 2025, Pocket switched to read-only mode. Mozilla had announced the closure one month earlier, citing a shift in strategic priorities. Users had approximately 90 days to export their library via `getpocket.com\u002Fexport` before the November 12, 2025 deadline: on that date, Mozilla disabled exports and permanently deleted every account's data. Those who had not exported in time lost everything. Mozilla kept no copy, and the Pocket API is now offline. Omnivore, an annotated reading tool acquired by ElevenLabs, had closed a few months earlier under similar conditions. These two successive closures highlighted a risk that is often underestimated: ten years of bookmarks, highlights, and organized tags can vanish in a matter of weeks, with no appeal process. The question is no longer whether such an event can happen, but how frequently.",{"type":38,"title":42,"body":43},"What you gain by self-hosting your reading list","Hosting your own reading list on a VPS fundamentally changes your relationship with your data. Here are the concrete benefits compared to a cloud service like Pocket or Omnivore.",{"type":45,"items":46},"ul",[47,48,49,50,51,52,53],"**Data longevity** — your archived articles remain accessible as long as your server runs, regardless of a third-party vendor's commercial or financial decisions; a startup closure no longer affects you","**Reading privacy** — no advertising profile is built from your reading habits; saved URLs, tags, and annotations never leave your own infrastructure","**Full backup control** — you define the frequency, destination (S3, Backblaze, local NAS), and retention period of your snapshots, without depending on a paid plan or a storage quota","**Open integration with your stack** — the REST API of Karakeep or Wallabag connects to any tool (n8n, Zapier, custom scripts, browser extensions) at no extra cost and without volume restrictions","**Storage without artificial quotas** — the limit is your disk; you do not pay a premium for archiving 50,000 articles rather than 1,000","**Upgrades on your schedule** — you decide when to apply a major release, can test in staging, and roll back if an update introduces a regression","**Permanent portability** — your data lives in a SQLite or PostgreSQL database that you can export, migrate, or transform at any time, without depending on a proprietary format",{"type":38,"title":55,"body":56},"Prerequisites: choosing the right VPS","A self-hosted reading list application is not a resource-heavy workload. Karakeep needs somewhat more RAM than Wallabag, because it runs Meilisearch for semantic search and a headless rendering engine (Puppeteer) for full-content archival. The recommended minimum configuration is a VPS with 2 GB of RAM, 1 vCPU, and 20 GB of SSD storage. For a team of fewer than ten people, this configuration holds without adjustment. Wallabag is even lighter: 512 MB of RAM is enough for individual use. In both cases, ports 80 and 443 must be open in the firewall, Docker and Docker Compose v2 must be installed, and a domain name pointing to the server IP is needed to enable HTTPS via Let's Encrypt or Caddy. The certificate is obtained automatically by your reverse proxy — you do not need to manage renewal manually.",{"type":38,"title":58,"body":59},"Deploy Karakeep on a VPS and import your Pocket data","The steps below assume a VPS with at least 2 GB of RAM, Docker and Docker Compose v2 installed, and a domain name pointing to the server IP. The whole operation takes less than 30 minutes on a fresh instance.",{"type":61,"steps":62},"steps",[63,66,69,72,75,78,81,84],{"title":64,"body":65},"Locate your Pocket export","If you exported before November 12, 2025, you have a file called `ril_export.html`. This is an HTML document containing all your saved URLs along with their titles, tags, and read\u002Funread status. This file is your only data source: keep a copy on external storage before you begin.",{"title":67,"body":68},"Create a working directory on the VPS","Connect over SSH and run: `mkdir -p \u002Fopt\u002Fkarakeep && cd \u002Fopt\u002Fkarakeep`. This directory will hold the Compose file and the environment file.",{"title":70,"body":71},"Download the official Compose file","Retrieve the service definition from the official repository: `wget https:\u002F\u002Fraw.githubusercontent.com\u002Fkarakeep-app\u002Fkarakeep\u002Fmain\u002Fdocker\u002Fdocker-compose.yml`. This file orchestrates three services: the main application, Meilisearch (search engine), and the crawl service.",{"title":73,"body":74},"Configure environment variables","Create the `.env` file with the minimum required values. Set `KARAKEEP_VERSION=release` to always use the latest stable release. Set `NEXTAUTH_SECRET` to a long random string (at least 32 characters), `MEILISEARCH_MASTER_KEY` to another random string, and `NEXTAUTH_URL` to the public URL of your instance, for example `https:\u002F\u002Freading.your-domain.com`. Without a correct `NEXTAUTH_URL`, authentication redirects will fail.",{"title":76,"body":77},"Start the containers","Run `docker compose up -d`. The first start downloads the images (around 500 MB) and initializes the database. Verify that all three services show `running` status with `docker compose ps`. The interface is available on port 3000; configure your reverse proxy (Caddy or nginx) to serve the domain over HTTPS before opening it to the public.",{"title":79,"body":80},"Create the administrator account","On first login, Karakeep prompts you to create an account. Choose a strong password; there is no email-based password reset by default unless you have configured an SMTP service.",{"title":82,"body":83},"Import the Pocket file","In the interface, open **Settings → Import** and select **Pocket**. Upload your `ril_export.html` file. Karakeep reads this format natively and imports titles, URLs, tags, and statuses in a few seconds for an average-sized library. Full content crawling happens in the background: a progress indicator appears in the detail view of each article.",{"title":85,"body":86},"Verify the import and set up backups","Browse the **All Bookmarks** view to confirm your articles are present. Then schedule a Docker volume backup in cron: `docker run --rm -v karakeep_data:\u002Fdata -v \u002Fopt\u002Fbackups:\u002Fbackup alpine tar czf \u002Fbackup\u002Fkarakeep-$(date +%Y%m%d).tar.gz \u002Fdata`. Keep at least 7 days of retention on remote storage.",{"type":38,"title":88,"body":89},"Deploy Wallabag as an alternative","If you prefer a more mature and lighter tool, Wallabag has existed since 2013 and has a proven user base. It is particularly well-suited if you need stable mobile apps, integration with e-readers (Kobo, Kindle), or a more minimal interface. Docker deployment follows the same pattern.",{"type":61,"steps":91},[92,95,98,101,104,107],{"title":93,"body":94},"Create the directory and Compose file","Run `mkdir -p \u002Fopt\u002Fwallabag && cd \u002Fopt\u002Fwallabag`. Create a `docker-compose.yml` file based on the official template available at `hub.docker.com\u002F_\u002Fwallabag`. The minimal configuration exposes port 80 and mounts a volume for the SQLite database.",{"title":96,"body":97},"Start the service","Run `docker compose up -d`. The first initialization takes a few minutes as Wallabag creates database tables and installs assets. Watch the logs with `docker compose logs -f wallabag` to confirm the startup completes successfully.",{"title":99,"body":100},"Secure the default account","Log in with `wallabag \u002F wallabag`, then immediately go to **User Management** to change the password. This default account is publicly known — do not expose it without changing it.",{"title":102,"body":103},"Enable Redis for large imports","Without Redis, imports of several hundred articles exceed the default PHP timeout. In the admin interface under **Internal Settings → Import**, enable **Use Redis**. Add a Redis service to your `docker-compose.yml` if one is not already defined.",{"title":105,"body":106},"Import from Pocket","Go to **Import → Pocket**. Wallabag accepts the Pocket CSV format (columns `url`, `title`, `tags`, `time_added`, `status`) or a converted HTML file. If you only have the Pocket HTML export, a short Python script is enough to extract the URLs and write them to CSV format. Wallabag also supports direct import from Instapaper and Pinboard.",{"title":108,"body":109},"Configure HTTPS and mobile apps","Put Wallabag behind a reverse proxy with HTTPS. The official mobile apps (Android) use your instance URL and account credentials — they work as soon as HTTPS is active. The iOS app is not official; third-party clients such as Silica or Lire support the Wallabag API.",{"type":38,"title":111,"body":112},"Karakeep or Wallabag: a comparison","The choice between Karakeep and Wallabag mainly depends on your priorities: enriched archiving versus lightness. The table below summarizes the most important differences for daily use.",{"type":114,"headers":115,"rows":119},"comparison",[116,117,118],"Criterion","Karakeep","Wallabag",[120,124,128,132,136,140,144],[121,122,123],"Native Pocket import","HTML (`ril_export.html`)","Pocket CSV or converted HTML",[125,126,127],"Content archival","Full (Puppeteer, OCR, PDF)","Text extraction only",[129,130,131],"Search","Semantic via Meilisearch","Full-text (SQL)",[133,134,135],"Mobile interface","Official iOS and Android apps","Official Android, iOS via third-party clients",[137,138,139],"Automatic tagging","Yes, via optional LLM","Manual only",[141,142,143],"Recommended RAM","2 GB minimum (includes Meilisearch)","512 MB is enough",[145,146,147],"Project maturity","Recent, active community","Stable since 2013, wide adoption",{"type":149,"body":150},"tip","Whatever solution you choose, schedule a daily backup of the Docker volume to remote storage (S3, Backblaze B2, or a second VPS). A reading list without backups remains vulnerable to disk failure — exactly the risk you are trying to eliminate by leaving a cloud service. Test a restore at least once before considering your setup reliable.",{"type":38,"title":152,"body":153},"Common problems and solutions","The most common errors encountered when deploying or using Karakeep and Wallabag follow predictable patterns. Here are the causes and fixes for the most frequent cases.",{"type":45,"items":155},[156,157,158,159,160],"**Port 3000 unreachable from outside** — verify the container is running with `docker compose ps` and that the firewall allows inbound traffic; then configure a reverse proxy (Caddy or nginx) rather than exposing port 3000 directly on the public IP","**Import stuck at 0% or making no progress** — with Wallabag, check that Redis is enabled in the admin internal settings; with Karakeep, verify that the `crawler` service shows `running` status in `docker compose ps`","**Redirect loop back to localhost** — if Karakeep keeps redirecting, `NEXTAUTH_URL` in `.env` does not match the actual public URL; correct it, recreate the container with `docker compose up -d --force-recreate`, and clear your browser cache","**Content not archived after import** — Karakeep uses Puppeteer to render pages; some sites detect headless browsers and block the request. Titles and URLs are always saved; full text may be absent for protected sites or paywalled content","**502 error right after a restart** — Meilisearch can take 10 to 30 seconds to start and index; wait and reload. If the error persists, check `docker compose logs meilisearch` to identify a potential permissions issue on the data volume",{"type":38,"title":162,"body":163},"Taking lasting control of your reading","Pocket's closure in July 2025 is not an isolated incident. It is a clear signal about the lifespan of free services funded by data or by investors whose priorities shift. Karakeep and Wallabag offer a concrete alternative: two hours of setup are enough to go from zero to a working reading list on your own VPS, with content archival, full-text search, and automated backups. The Docker commands shown in this guide have been stable across multiple releases and require no particular system administration expertise. What you deploy today can run in production for five years without intervention, as long as you keep images updated and your backups are tested. The difference from Pocket is that the decision to shut down now belongs to you alone.","Your reading, your server, your rules","Deploy Karakeep on a ServOrbit VPS and import your Pocket library in minutes. Root access, SSD NVMe storage, automated backups.","Activate this solution","\u002Fmarketplace\u002Fartificial-intelligence\u002Fkarakeep",[169,186,202],{"id":170,"slug":171,"slugs":172,"title":176,"excerpt":177,"readTime":178,"views":18,"isPinned":19,"publishedAt":179,"category":180,"categories":181,"featuredImage":29,"bgImage":30,"posterImage":183,"relatedSolution":184},203,"self-host-karakeep-on-a-vps-ai-bookmark-manager-with-ollama",{"fr":173,"en":171,"ar":174,"es":175},"self-host-karakeep-vps","استضافة-karakeep-على-vps-مدير-إشارات-مرجعية-ذكي-مع-ollama","alojar-karakeep-en-un-vps","Self-host Karakeep on a VPS: AI bookmark manager with Ollama","Deploy Karakeep on your VPS: a self-hosted bookmark manager that auto-tags and summarises what you save, using local Ollama.",6,"2026-08-01T00:00:00+00:00",{"id":22,"name":23,"slug":24,"color":25,"icon":26},[182],{"id":22,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fself-host-karakeep-vps-poster.svg",{"categorySlug":185,"appSlug":34},"collaboration-productivity",{"id":187,"slug":188,"slugs":189,"title":193,"excerpt":194,"readTime":195,"views":196,"isPinned":19,"publishedAt":197,"category":198,"categories":199,"featuredImage":29,"bgImage":30,"posterImage":201,"relatedSolution":29},333,"saas-migration-checklist-5-steps-to-decide",{"fr":190,"en":188,"ar":191,"es":192},"checklist-migration-saas-vers-self-hosting","قائمة-التحقق-للهجرة-من-saas-5-خطوات-للقرار","checklist-migracion-saas-5-pasos-para-decidir","SaaS migration checklist: 5 steps to decide","Before migrating a SaaS, ask the right questions. A 5-step checklist to decide which tools are worth migrating — and in what order.",11,1,"2026-09-05T00:00:00+00:00",{"id":22,"name":23,"slug":24,"color":25,"icon":26},[200],{"id":22,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fchecklist-migration-saas-vers-self-hosting-poster.svg",{"id":203,"slug":204,"slugs":205,"title":209,"excerpt":210,"readTime":211,"views":18,"isPinned":19,"publishedAt":212,"category":213,"categories":214,"featuredImage":29,"bgImage":30,"posterImage":216,"relatedSolution":217},330,"wallos-self-hosted-subscription-tracker-on-a-vps",{"fr":206,"en":204,"ar":207,"es":208},"self-host-wallos-vps","wallos-تتبع-الاشتراكات-self-hosted-على-vps","wallos-rastreador-de-suscripciones-self-hosted-en-un-vps","Wallos: Self-Hosted Subscription Tracker on a VPS","Install Wallos on your VPS to track all your cloud, software and service subscriptions — multi-currency, zero third-party data.",2,"2026-01-10T00:00:00+00:00",{"id":22,"name":23,"slug":24,"color":25,"icon":26},[215],{"id":22,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fself-host-wallos-vps-poster.svg",{"categorySlug":218,"appSlug":219},"erp-business-management","wallos",1789046170324]