Karakeep: تثبيت أرشيف شخصي للإشارات المرجعية على خادم VPS
حفظ الرابط سهل، لكن العثور عليه بعد ستة أشهر أصعب بكثير، خصوصًا إذا تغيّرت الصفحة أو اختفت أو ضاعت بين مئات الإشارات المرجعية.
لا يحفظ Karakeep عنوان URL فقط، بل يحفظ أيضًا محتوى الصفحة والمعاينة والملاحظات والصور وملفات PDF. يمكنك البحث في الأرشيف بالنص، وتنظيم العناصر في قوائم، وإضافة وسوم إليها تلقائيًا باستخدام الذكاء الاصطناعي. يعمل التطبيق على خادم VPS الخاص بك، كما أن ربط نموذج لغوي به اختياري.
سنستعرض أدناه إمكانات Karakeep ومتطلبات الخادم وطريقة تثبيته على Ubuntu 24.04 باستخدام Docker Compose وHTTPS والنسخ الاحتياطية.
Karakeep في سبع خطوات
- أنشئ خادم VPS يعمل بنظام Linux واربط به نطاقًا فرعيًا مثل
keep.example.com. - ثبّت Docker Engine وDocker Compose.
- نزّل ملف
docker-compose.ymlالرسمي. - أنشئ الأسرار وابدأ تشغيل Karakeep وChrome وMeilisearch.
- أغلق المنفذ الداخلي 3000 وفعّل HTTPS باستخدام Caddy.
- أنشئ الحساب الأول، ثم عطّل التسجيل المفتوح.
- ثبّت إضافة المتصفح أو تطبيق الهاتف واستورد إشاراتك المرجعية.
لا تحتاج إلى مفتاح ذكاء اصطناعي لبدء تشغيل الخدمة. وبدونه ستستمر عملية حفظ الصفحات والقوائم والملاحظات والتعرف الضوئي على الحروف والبحث النصي الكامل في العمل، لكن لن يتم إنشاء الوسوم والملخصات تلقائيًا.
ما هو Karakeep؟
Karakeep هو تطبيق مفتوح المصدر ومستضاف ذاتيًا لحفظ الروابط والملاحظات النصية والصور وملفات PDF في مكتبة واحدة. كان اسم المشروع سابقًا Hoarder.
يأتي الاسم من الكلمة العربية karakeeb، التي تُستخدم لوصف أشياء متناثرة تبدو كالفوضى، لكنها قد تخفي قيمة. وهذا يصف مجموعة الإشارات المرجعية المعتادة بدقة: هناك الكثير من المواد المفيدة، لكن العثور على العنصر المطلوب صعب.
بعد إضافة رابط، يجلب Karakeep عنوانه ووصفه، ويستخرج النص القابل للقراءة، وينشئ معاينة، ويمكنه حفظ نسخة محلية من الصفحة عند الحاجة.
| الميزة | إشارات المتصفح المرجعية | Karakeep |
|---|---|---|
| ما يتم حفظه | عنوان URL والعنوان | النص والمعاينة والملاحظات والمرفقات |
| البحث | حسب العنوان والعنوان | حسب المحتوى والوسوم والملاحظات |
| إذا اختفت الصفحة | يبقى رابط معطّل | يبقى النص أو لقطة الشاشة أو الأرشيف الكامل |
| التنظيم | مجلدات | وسوم وقوائم يدوية وقوائم ذكية |
| الوصول | في المتصفح | الويب والإضافات وiOS وAndroid |
| الخادم | ملف تعريف المتصفح أو خدمته السحابية | خادم VPS الخاص بك أو خادم منزلي |
أهم ميزات Karakeep
الروابط والملاحظات والصور وملفات PDF
يمكن أن يكون كل عنصر رابطًا أو ملاحظة نصية أو ملفًا مرفوعًا. يستخرج OCR النص من الصور وملفات PDF، ولذلك تصبح هذه الملفات قابلة للبحث أيضًا. يمكنك إرفاق ملاحظة أو اقتباس أو ملف إضافي بالعنصر.
البحث في المحتوى
يفهرس Meilisearch النص المحفوظ والملاحظات والبيانات الوصفية. لا تحتاج إلى تذكر العنوان الدقيق؛ يكفي إدخال عبارة أو موضوع. وعند إعداد التضمينات، يتوفر أيضًا بحث دلالي يعتمد على المعنى.
القوائم الذكية والتعاونية
يمكن أن ينتمي العنصر الواحد إلى عدة قوائم في الوقت نفسه من دون تكراره. ويمكن أن تبقى القائمة خاصة، أو تتم مشاركتها عبر رابط، أو تحريرها مع مستخدمين آخرين.
القائمة الذكية هي استعلام بحث محفوظ يتحدث تلقائيًا. فمثلًا، يمكنها عرض جميع العناصر التي تحمل الوسم ai وأضيفت خلال الأسبوع الماضي.
أرشفة الصفحات
يحفظ Karakeep افتراضيًا النص المستخرج ولقطة شاشة للجزء المرئي من الصفحة. ويمكنك كذلك تفعيل لقطة كاملة للصفحة أو ملف PDF أو أرشيف HTML مستقل بذاته. يحمي هذا مكتبتك من الروابط الميتة، لكنه يزيد استهلاك مساحة التخزين.
قد لا تُحفظ الصفحات التي تتطلب المصادقة أو تستخدم حماية متقدمة من الروبوتات أو تعتمد على تطبيقات تفاعلية بالكامل. ومن الأفضل رفع المواد المهمة بشكل منفصل كملف PDF أو ملف آخر.
الوسوم الاختيارية بالذكاء الاصطناعي
يمكن لـKarakeep إنشاء وسوم وملخصات قصيرة من خلال واجهة API خارجية متوافقة مع OpenAI أو نموذج Ollama محلي. وبدون الذكاء الاصطناعي، يظل التطبيق مدير إشارات مرجعية كامل الوظائف.
لا يرسل النموذج المحلي المواد إلى مزود خارجي، لكنه يحتاج إلى ذاكرة RAM أكبر بكثير. ولهذا السبب غالبًا ما تتم استضافة Ollama بشكل منفصل عن نسخة Karakeep الرئيسية.
متطلبات خادم Karakeep
لا تحدد الوثائق الرسمية حدًا أدنى ثابتًا للمعالج وذاكرة RAM. يتضمن التثبيت الكامل ثلاث حاويات:
- يخزن Karakeep قاعدة البيانات ويقدم الواجهة؛
- يفتح Chrome عديم الرأس الصفحات ويشغّل JavaScript ويلتقط لقطات الشاشة؛
- يفهرس Meilisearch المكتبة.
الإعداد العملي لمستخدم واحد من دون نموذج لغوي محلي هو:
- معالجان افتراضيان (2 vCPU)؛
- ذاكرة RAM بسعة 2 GB؛
- مساحة SSD أو NVMe بسعة 20–30 GB؛
- Ubuntu 24.04 LTS؛
- عنوان IP عام ونطاق.
لعدة مستخدمين أو عند استيراد كمية كبيرة أو التعامل مع العديد من خلاصات RSS وملفات PDF، تكون ذاكرة RAM بسعة 4 GB أكثر راحة. تعتمد متطلبات القرص على وضع الأرشفة: يستهلك النص مساحة قليلة، بينما يمكن للقطات الكاملة وملفات PDF ومقاطع الفيديو أن تزيد حجم المكتبة بسرعة.
كيفية تثبيت Karakeep على خادم VPS
يستخدم هذا المثال Ubuntu 24.04 والنطاق الفرعي keep.example.com.
1. إعداد DNS وجدار الحماية
أنشئ سجل DNS من نوع A يشير إلى عنوان IP الخاص بالخادم، ثم اتصل عبر SSH:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enableلا تغلق جلسة SSH الحالية حتى تتأكد من نجاح اتصال جديد.
2. تثبيت Docker
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose version3. تنزيل إعداد Karakeep
mkdir -p /opt/karakeep
cd /opt/karakeep
curl -fsSLo docker-compose.yml \
https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.ymlأنشئ سرين مختلفين:
openssl rand -base64 36
openssl rand -base64 36 | tr -dc 'A-Za-z0-9'أنشئ الملف /opt/karakeep/.env:
KARAKEEP_VERSION=release
NEXTAUTH_SECRET=INSERT_THE_FIRST_SECRET
MEILI_MASTER_KEY=INSERT_THE_SECOND_SECRET
NEXTAUTH_URL=https://keep.example.com
DISABLE_SIGNUPS=false
DB_WAL_MODE=true
RATE_LIMITING_ENABLED=trueلا تنشر ملف .env: فالسر الأول يوقّع رموز المصادقة، بينما يحمي الثاني Meilisearch.
4. إغلاق المنفذ الداخلي
في docker-compose.yml، استبدل:
ports:
- 3000:3000بالتالي:
ports:
- 127.0.0.1:3000:3000يمنع ذلك الوصول المباشر إلى المنفذ 3000 من الإنترنت.
5. بدء تشغيل الحاويات
cd /opt/karakeep
docker compose up -d
docker compose psيجب أن تكون خدمات web وchrome وmeilisearch قيد التشغيل. اعرض السجلات باستخدام:
docker compose logs --tail=2006. تفعيل HTTPS
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
keep.example.com {
reverse_proxy 127.0.0.1:3000
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyإذا تم إعداد DNS وفتح المنفذين 80 و443، فسيحصل Caddy تلقائيًا على شهادة TLS. افتح بعد ذلك https://keep.example.com.
7. إنشاء حساب المسؤول وإغلاق التسجيل
يصبح أول مستخدم يسجل تلقائيًا مسؤولًا. بعد إنشاء الحساب، اضبط القيمة التالية في .env:
DISABLE_SIGNUPS=trueطبّق التغيير:
cd /opt/karakeep
docker compose up -dسيظل بإمكان المسؤول إنشاء حسابات أخرى يدويًا.
استيراد البيانات والإضافات وتطبيقات الهاتف
يوفر Karakeep إضافات لـChrome وFirefox وSafari، بالإضافة إلى تطبيقات لـiOS وAndroid. وعلى الهاتف، يمكن إرسال الرابط إلى الأرشيف من خلال قائمة المشاركة في النظام.
يمكن استيراد الإشارات المرجعية الحالية من ملف HTML قياسي للمتصفح، ومن Pocket وOmnivore وغيرها من الخدمات المدعومة. من الأفضل إضافة الأرشيف الكبير على دفعات، لأن الخادم يجب أن يفتح الصفحات ويستخرج النص وينشئ لقطات الشاشة ويبني فهرس البحث.
كيفية تفعيل الذكاء الاصطناعي والأرشفة الكاملة للصفحات
بالنسبة إلى OpenAI، أضف ما يلي إلى .env:
OPENAI_API_KEY=YOUR_API_KEYقد تتطلب خدمة أخرى متوافقة مع OpenAI أيضًا إعداد OPENAI_BASE_URL. أما النموذج المحلي فيستخدم OLLAMA_BASE_URL مع عنوان يمكن الوصول إليه من داخل الحاوية.
فعّل نسخة محلية كاملة من الصفحة بشكل منفصل:
CRAWLER_FULL_PAGE_ARCHIVE=trueتتوفر كذلك الخيارات CRAWLER_FULL_PAGE_SCREENSHOT=true وCRAWLER_STORE_PDF=true. لا تفعّل كل الأوضاع إلا عند الحاجة، لأنها تزيد استهلاك القرص بشكل ملحوظ. بعد تغيير .env شغّل docker compose up -d.
الأمان والتحديثات والنسخ الاحتياطية
يفتح زاحف Karakeep العناوين التي يحفظها المستخدم من شبكة الخادم. لذلك لا تترك التسجيل مفتوحًا وامنح الوصول إلى أشخاص موثوقين فقط. توجد حماية أساسية من SSRF، لكن المشروع الرسمي يوصي، في الخدمة العامة، بعزل المتصفح أو تمرير حركته عبر وكيل مقيّد.
استخدم HTTPS أيضًا وكلمات مرور قوية، ولا تعرض المنفذ 3000، وحدّث الحاويات بانتظام:
cd /opt/karakeep
docker compose up --pull always -dتُخزّن قاعدة البيانات الرئيسية والمواد المحفوظة في وحدة Docker المسماة data. أوقف الحاويات قبل نسخها:
mkdir -p /var/backups/karakeep
cd /opt/karakeep
docker compose stop
docker run --rm \
-v karakeep_data:/source:ro \
-v /var/backups/karakeep:/backup \
alpine sh -c 'tar czf /backup/data-$(date +%F).tar.gz -C /source .'
cp .env docker-compose.yml /var/backups/karakeep/
docker compose startيفترض اسم karakeep_data أن يكون مجلد المشروع هو /opt/karakeep؛ ويمكنك التحقق منه باستخدام docker volume ls. يمكن إعادة بناء فهرس Meilisearch، لكن من المفيد أيضًا نسخ وحدة karakeep_meilisearch احتياطيًا إذا كانت المكتبة كبيرة.
أرسل الأرشيف من /var/backups/karakeep إلى خادم آخر أو NAS أو مساحة تخزين كائنية. لا تحمي النسخة الموجودة على خادم VPS نفسه من تعطل القرص أو حذف الآلة الافتراضية.
أي خادم VPS تختار لـKarakeep؟
لمكتبة شخصية من دون Ollama، يكفي خادم VPS يعمل بنظام Linux مع معالجين افتراضيين وذاكرة RAM بسعة 2 GB ومساحة NVMe بسعة 20–30 GB. أما للاستيراد الكبير أو عدة مستخدمين أو الأرشفة الكاملة، فاختر ذاكرة RAM بسعة 4 GB وقرصًا أكبر.
يمكن تشغيل Karakeep على خادم VPS من tropic.host: يساعد عنوان IP الدائم في تبسيط إعداد النطاق، كما أن تخزين NVMe مفيد لـSQLite وفهرس البحث والملفات الصغيرة الكثيرة. ويمكن زيادة الموارد مع نمو الأرشيف.
خطط لموارد Ollama المحلية بشكل منفصل، إذ قد يحتاج حتى النموذج اللغوي الصغير إلى ذاكرة أكبر من كامل مكدس Karakeep الرئيسي.
الخلاصة
يحوّل Karakeep الروابط المتناثرة إلى مكتبة شخصية قابلة للبحث. فهو يحفظ الصفحات والملاحظات والصور وملفات PDF، ويدعم OCR والقوائم والإضافات وتطبيقات الهاتف والوسوم الاختيارية بالذكاء الاصطناعي.
يكفي خادم VPS صغير وDocker Compose ونطاق وHTTPS للبدء. وبعد التثبيت، أغلق التسجيل وراقب مساحة القرص واحتفظ بنسخة احتياطية خارجية.
الأسئلة الشائعة
هل Karakeep مجاني؟
النسخة المستضافة ذاتيًا مفتوحة المصدر ولا تتطلب اشتراكًا إلزاميًا. ستدفع مقابل خادم VPS والنطاق ومساحة النسخ الاحتياطي، وبحسب الحاجة مقابل واجهة API خارجية للذكاء الاصطناعي.
هل يحتاج Karakeep إلى مفتاح API كي يعمل؟
لا. يعمل حفظ المواد وفهرستها والقوائم والملاحظات وOCR والبحث النصي الكامل من دون الذكاء الاصطناعي. يلزم النموذج للوسوم والملخصات التلقائية والميزات المرتبطة بها.
ما مقدار ذاكرة RAM التي يحتاجها Karakeep؟
تُعد ذاكرة RAM بسعة 2 GB نقطة بداية عملية لمستخدم واحد من دون Ollama. أما للاستيراد الكبير أو عدة مستخدمين أو المعالجة النشطة، فذاكرة 4 GB أكثر ملاءمة.
هل يمكنني استيراد الإشارات المرجعية من المتصفح أو Pocket؟
نعم. يدعم Karakeep ملف HTML القياسي لإشارات المتصفح وPocket وOmnivore والعديد من الصيغ الأخرى. بعد الاستيراد، يعالج Karakeep الصفحات ويضيفها إلى البحث.
هل ستبقى المقالة متاحة إذا اختفى الموقع الأصلي؟
يحفظ Karakeep النص المستخرج ولقطة شاشة، وعند تفعيل الأرشفة الكاملة يحفظ نسخة محلية أو ملف PDF. قد تُحفظ الصفحات التي تتطلب المصادقة وتطبيقات الويب المعقدة بشكل جزئي فقط.
