HeadlinesBriefing favicon HeadlinesBriefing.com

مكتبة كتب إلكترونية مضيفة ذاتيًا على Cloudflare R2 أو Node

Hacker News •
×

أطلق مستخدم GitHub murerkinn bookshelf، مكتبة كتب إلكترونية مضيفة ذاتيًا بدون قاعدة بيانات. تقدم ملفات EPUB و PDF بقراءين مخصصين للمتصفح، وبحث، وميزات التنزيل. يقدم المشروع مسارين للنشر: عامل Cloudflare على تخزين_objects R2، أو خادم Node على دليل محلي. يتم ضبط كلاهما عبر `bookshelf.config.json`.

للبدأ، يتطلب Node 24+ ونظام يشبه Unix. أسرع مسار يستخدم Docker: `mkdir books && cp ~/Downloads/*.epub books/` يليه `docker compose run --rm sync --create` و `docker compose up -d`. ستكون الرف متاحة عند `http://localhost:3000`. حجم مسمي `library` يخزن الكتب الإلكترونية المنشورة، والملفات الشخصية، ومواقع القراءة: البيانات الوحيدة التي تتطلب نسخًا احتياطية. بالنسبة للإعدادات غير Docker، يقوم المستخدمون بتشغيل `npm run sync -- --create`، `npm run build`، و `npm start -w @bookshelf/app`.

يتطلب النشر على Cloudflare حسابًا و `npx wrangler login`. الأوامر `npm run sync -- --create` و `npm run deploy` تنشئ bucket R2 وترفع Worker. الأمر `npm run demo` يولد تسعة عناوين من المجال العام للاختبار. المثيلات العامة تغلق الكتابة تلقائيًا (الملفات الشخصية، مواقع القراءة) مع الحفاظ على إمكانية القراءة. لا توجد مصادقة مُنشأة؛ ينصح المؤلف بنشرها على شبكات موثوقة أو خلف تحكمات الوصول.