حين يختفي خدمة ويأخذ بياناتك معه
في الثامن من يوليو 2025، تحوّل Pocket إلى وضع القراءة فقط. أعلنت Mozilla الإغلاق قبل شهر، مستشهدةً بتحوّل في أولوياتها الاستراتيجية. مُنح المستخدمون نحو 90 يومًا لتصدير مكتباتهم عبر getpocket.com/export قبل موعد 12 نوفمبر 2025: في ذلك اليوم أوقفت Mozilla التصدير وحذفت بيانات كل حساب بشكل نهائي. من لم يُصدِّر في الوقت المناسب خسر كل شيء دون سبيل للاسترداد. لم تحتفظ Mozilla بأي نسخة، وواجهة API الخاصة بـPocket غير متاحة الآن. أغلق Omnivore بعد الاستحواذ عليه من ElevenLabs في وقت قريب بظروف مماثلة. كشفت هذه الإغلاقات المتتالية عن مخاطرة كثيرًا ما تُستهان بها: عشر سنوات من الإشارات المرجعية والتعليقات والتصنيفات قد تختفي في أسابيع قليلة دون أي إجراء استئناف.
ما تكسبه باستضافة قائمة قراءتك بنفسك
استضافة قائمة القراءة الخاصة بك على خادم VPS يغيّر جوهرياً علاقتك ببياناتك. إليك المزايا الملموسة مقارنةً بخدمة سحابية كـPocket أو Omnivore.
- استدامة البيانات — تبقى مقالاتك المؤرشفة متاحة طالما خادمك يعمل، بصرف النظر عن قرارات أي مزود خارجي تجارية أو مالية؛ إغلاق شركة ناشئة لم يعد يعنيك
- خصوصية القراءة — لا يُبنى أي ملف إعلاني من عادات قراءتك؛ الروابط المحفوظة والعلامات والتعليقات لا تغادر بنيتك التحتية
- تحكم كامل بالنسخ الاحتياطية — تحدد أنت التكرار والوجهة (S3 أو Backblaze أو NAS محلي) ومدة الاحتفاظ دون الاعتماد على خطة مدفوعة أو حصة تخزين
- تكامل مفتوح مع بنيتك — تتصل واجهة REST API لـKarakeep أو Wallabag بأي أداة (n8n أو Zapier أو سكريبتات مخصصة أو امتدادات متصفح) دون تكلفة إضافية أو قيود على الحجم
- تخزين بلا حصص اصطناعية — الحد هو حجم قرصك؛ لا تدفع علاوة لأرشفة 50 000 مقال بدلًا من 1 000
- الترقيات على جدولك الزمني — تقرر أنت متى تطبّق إصدارًا رئيسيًا، ويمكنك الاختبار في بيئة تجريبية والتراجع إن أدخل تحديثٌ ما تراجعًا في الأداء
- قابلية نقل دائمة — بياناتك في قاعدة SQLite أو PostgreSQL يمكنك تصديرها أو ترحيلها أو تحويلها في أي وقت دون الاعتماد على تنسيق خاص
المتطلبات الأساسية: اختيار VPS مناسب
تطبيق قائمة القراءة المستضاف ذاتيًا ليس تطبيقًا مستهلكًا للموارد. يحتاج Karakeep إلى ذاكرة وصول عشوائي أكبر قليلًا من Wallabag، إذ يشغّل Meilisearch للبحث الدلالي ومحرك عرض headless (Puppeteer) لأرشفة المحتوى الكامل. الحد الأدنى الموصى به هو VPS بذاكرة وصول عشوائي 2 غيغابايت ومعالج افتراضي واحد وتخزين SSD بسعة 20 غيغابايت. Wallabag أخف من ذلك: تكفي 512 ميغابايت للاستخدام الفردي. في كلتا الحالتين يجب فتح المنفذين 80 و443 في جدار الحماية، وتثبيت Docker وDocker Compose الإصدار الثاني، وتوجيه اسم نطاق نحو IP الخادم لتفعيل HTTPS عبر Let's Encrypt أو Caddy.
نشر Karakeep على VPS واستيراد بيانات Pocket
تفترض الخطوات التالية توفر خادم VPS بذاكرة RAM لا تقل عن 2 جيجابايت، مع تثبيت Docker وDocker Compose v2، واسم نطاق يشير إلى عنوان IP للخادم. تستغرق العملية بأكملها أقل من 30 دقيقة على نسخة جديدة.
العثور على ملف تصدير Pocket
إذا صدّرت قبل 12 نوفمبر 2025، لديك ملف باسم ril_export.html. هو مستند HTML يحتوي على جميع روابطك المحفوظة مع عناوينها وعلاماتها وحالتها (مقروءة / غير مقروءة). هذا الملف هو مصدر بياناتك الوحيد: احتفظ بنسخة على تخزين خارجي قبل البدء.
إنشاء مجلد العمل على VPS
تواصل عبر SSH ونفّذ: mkdir -p /opt/karakeep && cd /opt/karakeep. سيحتوي هذا المجلد على ملف Compose وملف البيئة.
تنزيل ملف Compose الرسمي
احضر تعريف الخدمات من المستودع الرسمي: wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml. ينسّق هذا الملف ثلاث خدمات: التطبيق الرئيسي وMeilisearch وخدمة الزحف.
ضبط متغيرات البيئة
أنشئ ملف .env بالقيم الدنيا المطلوبة. عيّن KARAKEEP_VERSION=release لاستخدام أحدث إصدار مستقر دائمًا. عيّن NEXTAUTH_SECRET على سلسلة عشوائية طويلة (32 حرفًا على الأقل)، وMEILISEARCH_MASTER_KEY على سلسلة أخرى، وNEXTAUTH_URL على الرابط العام لمثيلك، مثلًا https://reading.your-domain.com. بدون NEXTAUTH_URL صحيح ستفشل عمليات إعادة التوجيه للمصادقة.
تشغيل الحاويات
نفّذ docker compose up -d. يُنزّل التشغيل الأول الصور (نحو 500 ميغابايت) ويهيّئ قاعدة البيانات. تحقق من أن الخدمات الثلاث في حالة running بـdocker compose ps. الواجهة متاحة على المنفذ 3000؛ هيّئ reverse proxy لخدمة النطاق عبر HTTPS.
إنشاء حساب المسؤول
عند أول تسجيل دخول يطلب Karakeep إنشاء حساب. اختر كلمة مرور قوية؛ لا تتوفر إعادة تعيين بالبريد الإلكتروني افتراضيًا ما لم تضبط خدمة SMTP.
استيراد ملف Pocket
في الواجهة افتح الإعدادات ← الاستيراد واختر Pocket، ثم ارفع ملف ril_export.html. يقرأ Karakeep هذا التنسيق مباشرة ويستورد العناوين والروابط والعلامات والحالات في ثوانٍ. زحف المحتوى الكامل يجري في الخلفية وتظهر نسبة تقدم في تفاصيل كل مقال.
التحقق من الاستيراد وإعداد النسخ الاحتياطية
تصفّح عرض جميع الإشارات المرجعية للتأكد من وجود مقالاتك. ثم جدول نسخة احتياطية لحجم Docker في cron: docker run --rm -v karakeep_data:/data -v /opt/backups:/backup alpine tar czf /backup/karakeep-$(date +%Y%m%d).tar.gz /data. احتفظ بسبعة أيام على الأقل على تخزين بعيد.
نشر Wallabag كبديل
إن فضّلت أداةً أكثر نضجًا وأخف وزنًا، فـWallabag موجود منذ 2013 وله قاعدة مستخدمين مُحكَمة. وهو مناسب بشكل خاص إذا كنت تحتاج تطبيقات جوّال مستقرة، أو تكاملًا مع أجهزة القراءة الإلكترونية (Kobo أو Kindle)، أو واجهة أبسط. يتبع النشر عبر Docker النمط ذاته.
إنشاء المجلد وملف Compose
نفّذ mkdir -p /opt/wallabag && cd /opt/wallabag. أنشئ ملف docker-compose.yml استنادًا إلى القالب الرسمي المتاح على hub.docker.com/_/wallabag. الإعداد الأدنى يعرض المنفذ 80 ويُركّب حجمًا لقاعدة SQLite.
تشغيل الخدمة
نفّذ docker compose up -d. تستغرق التهيئة الأولى بضع دقائق. راقب السجلات بـdocker compose logs -f wallabag للتأكد من اكتمال التشغيل.
تأمين الحساب الافتراضي
سجّل الدخول بـwallabag / wallabag ثم غيّر كلمة المرور فورًا من إدارة المستخدمين. هذا الحساب معروف علنًا ولا تعرّضه دون تغييره.
تفعيل Redis للاستيرادات الكبيرة
بدون Redis قد تنتهي مهلة PHP عند استيراد مئات المقالات. في واجهة المسؤول تحت الإعدادات الداخلية ← الاستيراد فعّل استخدام Redis. أضف خدمة Redis في docker-compose.yml إن لم تكن موجودة.
الاستيراد من Pocket
اذهب إلى استيراد ← Pocket. يقبل Wallabag تنسيق CSV من Pocket (أعمدة url, title, tags, time_added, status) أو ملف HTML محوَّل. إذا كان لديك فقط ملف HTML، يكفي سكريبت Python قصير لاستخراج الروابط وكتابتها بتنسيق CSV.
ضبط HTTPS وتطبيقات الجوّال
ضع Wallabag خلف reverse proxy مع HTTPS. تطبيقات الجوّال الرسمية (Android) تستخدم رابط مثيلك وبيانات حسابك وتعمل حال تفعيل HTTPS. عميل iOS ليس رسميًا؛ عملاء طرف ثالث كـSilica تدعم واجهة Wallabag API.
Karakeep أم Wallabag: مقارنة
يعتمد الاختيار بين Karakeep وWallabag أساساً على أولوياتك: الأرشفة الغنية مقابل الخفة. يلخص الجدول التالي أهم الفروق للاستخدام اليومي.
| المعيار | Karakeep | Wallabag |
|---|---|---|
| استيراد Pocket مباشرة | HTML (`ril_export.html`) | CSV أو HTML محوَّل |
| أرشفة المحتوى | كاملة (Puppeteer وOCR وPDF) | استخراج نصي فقط |
| البحث | دلالي عبر Meilisearch | نص كامل (SQL) |
| واجهة الجوّال | تطبيقا iOS وAndroid رسميان | Android رسمي، iOS عبر عملاء طرف ثالث |
| الوسم التلقائي | نعم، عبر LLM اختياري | يدوي فقط |
| RAM الموصى بها | 2 غيغابايت كحد أدنى (يشمل Meilisearch) | 512 ميغابايت تكفي |
| نضج المشروع | حديث، مجتمع نشط | مستقر منذ 2013، اعتماد واسع |
أيًّا كان الحل الذي اخترته، جدول نسخة احتياطية يومية لحجم Docker إلى تخزين بعيد (S3 أو Backblaze B2 أو VPS ثانٍ). قائمة قراءة بلا نسخ احتياطية تبقى عرضة لعطل القرص — وهو تحديدًا ما تسعى لتجنّبه. اختبر الاستعادة مرة واحدة على الأقل قبل اعتبار إعدادك موثوقًا.
مشاكل شائعة وحلولها
أكثر الأخطاء شيوعاً عند نشر Karakeep أو Wallabag أو استخدامهما تتبع أنماطاً متوقعة. إليك الأسباب والحلول لأكثر الحالات تكراراً.
- المنفذ 3000 غير متاح من الخارج — تحقق من تشغيل الحاوية بـ
docker compose ps ومن أن جدار الحماية يسمح بالتدفق الداخل؛ ثم هيّئ reverse proxy بدلًا من كشف المنفذ 3000 مباشرة على IP العام - الاستيراد متوقف عند 0% — مع Wallabag تحقق من تفعيل Redis في الإعدادات الداخلية للمسؤول؛ مع Karakeep تأكد من أن خدمة
crawler في حالة running بـdocker compose ps - حلقة إعادة توجيه نحو localhost — إذا أعاد Karakeep التوجيه في حلقة، فـ
NEXTAUTH_URL في .env لا يطابق الرابط العام الفعلي؛ صحّحه ثم أعد إنشاء الحاوية بـdocker compose up -d --force-recreate وامسح ذاكرة التخزين المؤقت للمتصفح - المحتوى غير مؤرشف بعد الاستيراد — يستخدم Karakeep Puppeteer لعرض الصفحات؛ بعض المواقع تكتشف المتصفحات غير الظاهرة وتحجب الطلب. العناوين والروابط تُحفظ دائمًا؛ النص الكامل قد يغيب للمواقع المحمية
- خطأ 502 بعد إعادة التشغيل — قد يحتاج Meilisearch من 10 إلى 30 ثانية للبدء والفهرسة؛ انتظر وأعد التحميل. إذا استمر الخطأ تحقق من
docker compose logs meilisearch لتحديد مشكلة محتملة في صلاحيات حجم البيانات
استعادة التحكم الدائم في قراءتك
إغلاق Pocket في يوليو 2025 ليس حادثة معزولة. إنه إشارة واضحة على هشاشة الخدمات المجانية الممولة بالبيانات أو بمستثمرين تتبدّل أولوياتهم. يقدم Karakeep وWallabag بديلًا ملموسًا: ساعتان من الإعداد تكفيان للانتقال من الصفر إلى قائمة قراءة تعمل على VPS خاص بك، مع أرشفة المحتوى وبحث نصي كامل ونسخ احتياطية مؤتمتة. أوامر Docker المقدّمة في هذا الدليل مستقرة عبر إصدارات متعددة ولا تتطلب خبرة خاصة في إدارة الأنظمة. ما تنشره اليوم يمكنه البقاء في الإنتاج خمس سنوات دون تدخل، طالما حافظت على تحديث الصور واختبرت نسخك الاحتياطية. الفرق عن Pocket أن قرار الإغلاق يعود الآن إليك وحدك.