أفضل قارئ RSS مستضاف ذاتياً لـVPS صغير
قارن Miniflux وFreshRSS وCommaFeed وyarr وTiny Tiny RSS على VPS: الذاكرة، PostgreSQL أو SQLite، دعم Fever وGoogle Reader، وسلوك الترقية.
ما قارئ RSS المستضاف ذاتياً المناسب لـVPS صغير؟
Miniflux هو قارئ RSS المستضاف ذاتياً المناسب لتثبيته على VPS صغير. يتكوّن من ملف Go ثنائي واحد إلى جانب PostgreSQL. ويدعم واجهتي Fever وGoogle Reader API، لذلك يمكن لتطبيقات الهاتف التابعة لجهات خارجية الاتصال به، وتتم الترقية عبر docker compose pull واحدة. اختر FreshRSS بدلاً منه إذا كنت تريد الإضافات وحاوية واحدة تتضمن SQLite.
تستحق خمسة برامج لقراءة RSS مساحة القرص على VPS: Miniflux وFreshRSS وCommaFeed وyarr وTiny Tiny RSS. تقارن هذه الصفحة الفروق الفعلية بينها: الذاكرة التي تحتاج إليها كل حزمة، وقاعدة البيانات التي تفرضها كل واحدة، وواجهة المزامنة التي يحتاج إليها تطبيق الهاتف، وما يحدث يوم الترقية. كل رقم هنا إما منشور من المشروع أو ناتج عن حساب مباشر، ويذكر النص مصدره. لا تمثل هذه الأرقام اختبار أداء على عتادك، لذلك قِس أداء خادمك باستخدام docker stats.
القراء الخمسة، فقرة لكل واحد
Miniflux مكتوب بلغة Go ويصدر كملف ثنائي واحد مترجم ترجمة ثابتة. توضح وثائقه الاعتماد الإلزامي الوحيد بعبارة مباشرة: «يعمل فقط مع PostgreSQL». لا يتوفر وضع SQLite. ويوفّر REST API، وواجهة API متوافقة مع Fever، وواجهة API متوافقة مع Google Reader، إضافة إلى استيراد OPML وتصديره. يتولى PostgreSQL البحث في النص الكامل، وهذا أحد أسباب عدم اعتبار قاعدة البيانات اختيارية.
FreshRSS مكتوب بلغة PHP ويعمل كحاوية واحدة تضم خادم الويب والتطبيق. قاعدة بيانات SQLite هي الافتراضية ولا تحتاج إلى خدمة ثانية، بينما يدعم PostgreSQL وMySQL عمليات التثبيت الأكبر. ويتعامل مع Google Reader API وFever API. سبق شرح تثبيته في دليلنا لتشغيل FreshRSS على VPS، لذلك تقارنه هذه الصفحة بدلاً من تكرار خطوات التثبيت.
CommaFeed مكتوب بلغة Java ويعمل على Quarkus، مع تصميم يحاكي Google Reader. تُحدَّد قاعدة بياناته وقت البناء، لا وقت التشغيل، لذلك ينشر المشروع صورة مستقلة لكل قاعدة بيانات: athou/commafeed:latest-h2 لقاعدة بيانات H2 المضمّنة، وathou/commafeed:latest-postgresql لـPostgreSQL، ومتغيرات إضافية لـMySQL وMariaDB. ويعرّض REST API وواجهة API متوافقة مع Fever.
yarr (قارئ RSS آخر) هو ملف ثنائي واحد مكتوب بلغة Go، مع SQLite مضمّنة، ولا يحتاج إلى أي حاوية. يستمع ./yarr العادي على 127.0.0.1:7070. خيارات التشغيل قصيرة: يفتح -addr 0.0.0.0:7070 -auth alice:secret الوصول إليه عبر الشبكة خلف كلمة مرور، ويضع -db /data/yarr.db قاعدة البيانات في المسار الذي تحدده. ويوفّر واجهة API متوافقة مع Fever. أحدث إصدار موسوم له هو v2.8، من July 2024، وفق التحقق في August 2026، لذلك تعامل معه كبرنامج مكتمل لا يُطوَّر بنشاط.
Tiny Tiny RSS هو الأقدم بين البرامج الخمسة، كما أن تشغيله الأكثر تعقيداً. يتكون إعداد Docker الرسمي من أربع خدمات: حاوية PostgreSQL، وحاوية تطبيق PHP-FPM، وحاوية updater منفصلة لجلب الخلاصات، وحاوية nginx أمامها. توضح الوثائق صراحة أن «هذا الإعداد يستخدم PostgreSQL». وله واجهة JSON API خاصة به، ويستخدمها تطبيق Android وعدة تطبيقات تابعة لجهات خارجية. ولا يدعم Fever.
مقدار الذاكرة التي يحتاج إليها كل مكدس
الأرقام أدناه هي ميزانيات وليست قياسات: إنها الحد الأقصى للذاكرة الذي ينبغي لكل مكدس ألا يتجاوزه على VPS صغير. رقم CommaFeed هو المثال المنشور من المشروع نفسه، حيث يحدد الحاوية عند 256 MB. أما الأرقام الأخرى فهي حدود قصوى تترك مساحة احتياطية لجالب الخلاصات، وهو الجزء الذي يستهلك ذاكرة إضافية عند بدء دورة التحديث.
The data behind this chart
[
{
"label": "yarr (SQLite)",
"containers": 1,
"mem_limit_mb": 128
},
{
"label": "FreshRSS (SQLite)",
"containers": 1,
"mem_limit_mb": 256
},
{
"label": "CommaFeed (H2)",
"containers": 1,
"mem_limit_mb": 256
},
{
"label": "Miniflux + Postgres",
"containers": 2,
"mem_limit_mb": 320
},
{
"label": "Tiny Tiny RSS",
"containers": 4,
"mem_limit_mb": 640
}
]يستهلك yarr أقل مقدار، وهو 128 MB، لأنه يتكوّن من ملف ثنائي واحد وملف SQLite واحد، من دون خادم قاعدة بيانات أو بيئة تشغيل لغة تحته. يحتاج Miniflux إلى 320 MB عبر 2 حاويات، ويُستهلك معظمها بواسطة PostgreSQL لا Miniflux. أما Tiny Tiny RSS فهو الاستثناء، إذ يحتاج إلى 640 MB عبر 4 حاويات، لأن التطبيق والمحدّث وقاعدة البيانات وخادم الويب عمليات منفصلة، ولكل منها كومة ذاكرة مستقلة.
عيّن هذه القيم كحدود فعلية، ولا تتعامل معها باعتبارها مجرد توقعات. يشرح حدود الذاكرة في Docker Compose الصياغة وما تفعله الحاوية عند بلوغ الحد الأقصى. لا تتوقف الحاوية التي لا تملك حداً بطريقة آمنة عند امتلاء الخادم: يختار kernel عملية ويقتلها، وغالباً لا تكون العملية التي تسببت في ضغط الذاكرة تابعة للحاوية المسؤولة عنه.
قاعدة البيانات التي يفرضها كل خيار عليك
تُعد قاعدة البيانات أكبر فرق تشغيلي بين هذه الخيارات الخمسة. وهي قرار أكبر من أي اختلاف في واجهة المستخدم، لأنها تحدد إجراء النسخ الاحتياطي ومخاطر الترقية.
يتطلب Miniflux وsetup الرسمي لـ Tiny Tiny RSS استخدام PostgreSQL. ويوفّر ذلك بحثاً فعلياً في النص الكامل وعمليات كتابة متزامنة آمنة. لكنه يتطلب حاوية ثانية وvolume، ويضيف مشكلة متكررة: لا تستطيع صور PostgreSQL الرسمية ترحيل البيانات بين الإصدارات الرئيسية وهي في مكانها. توضح وثائق Tiny Tiny RSS ذلك مباشرة، وتحذّر من أن "official PostgreSQL containers have no support for migrating data between major versions". خياراتك العملية هي تثبيت الإصدار الرئيسي القديم، أو تفريغ البيانات واستعادتها باستخدام pg_dump وpg_restore. خطط لتنفيذ ذلك مرة كل عام أو عامين.
SQLite هي القيمة الافتراضية في FreshRSS وyarr. ملف واحد، بلا خادم، وبلا منفذ، وبلا كلمة مرور. وتعمل جيداً مع مستخدم واحد وبضع مئات من الخلاصات، لكنها تصبح أبطأ عندما يكتب عدة مستخدمين في الوقت نفسه. عندها يبدأ خيار PostgreSQL في FreshRSS بإثبات فائدته. أضاف yarr دعماً اختيارياً لـ PostgreSQL في v2.7، لكن الملف المضمّن هو الطريقة المعتادة لتشغيله.
H2 هي قاعدة البيانات المضمّنة الافتراضية في CommaFeed. ويجب التفكير في هذا الأمر قبل البدء، لأن CommaFeed يختار قاعدة بياناته عند بناء image. الانتقال من H2 إلى PostgreSQL لاحقاً ليس تغييراً في الإعدادات. بل يتطلب image مختلفة وترحيل البيانات الذي يجب أن تنفذه بنفسك. لذلك اتخذ القرار قبل أن تتراكم في الخادم سنة من سجل القراءة.
هل سيعمل تطبيق الهاتف لديك
يحدّد هذا السؤال أموراً أكثر مما يتوقعه الناس، لأن واجهة الويب ليست سوى نصف طريقة استخدام قارئ الخلاصات.
يدعم Miniflux واجهة API متوافقة مع Fever وواجهة API متوافقة مع Google Reader، لذلك تتصل به معظم تطبيقات iOS وAndroid. ويدعم FreshRSS الواجهتين نفسيهما، وتوضح وثائقه الفرق بينهما: واجهة Google Reader API هي «الأفضل» مع دعم كامل للميزات، بينما تتميز واجهة Fever API بميزات محدودة وسلوك أقل كفاءة. يحتاج FreshRSS أيضاً إلى خطوتين قبل أن يتمكن أي تطبيق من تسجيل الدخول. فعّل الخيار «السماح بالوصول إلى API (مطلوب لتطبيقات الهاتف المحمول)» ضمن Authentication، ثم أنشئ كلمة مرور API في ملف تعريف المستخدم. يؤدي تجاوز كلمة مرور API إلى فشل المصادقة في التطبيق، بينما يستمر تسجيل الدخول عبر الويب في العمل. وقد يكون ذلك مربكاً إلى أن تعرف المكان الذي يجب البحث فيه.
يوفّر كل من CommaFeed وyarr واجهة API متوافقة مع Fever ولا يوفّران غيرها، لذلك يعملان مع العملاء القادرين على استخدام Fever، ولا يعملان مع التطبيقات التي تتحدث Google Reader فقط. أما Tiny Tiny RSS فيوفّر واجهة API خاصة به، ما يعني أنك تحتاج إلى عميل مكتوب له. تحقّق من أن تطبيقك المفضل يدعم قارئ الخلاصات قبل استيراد 300 خلاصة إليه.
ملف Compose يعمل على خادم بسعة 1 GB
هذه حزمة Miniflux، وقد عُدِّلت من مثال Docker الرسمي للمشروع كما كان في August 2026. المنفذ المنشور مرتبط بواجهة loopback، وعنوان الاستماع محدد صراحةً، وكلتا الحاويتين تحملان حداً للذاكرة.
services:
miniflux:
image: miniflux/miniflux:latest
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
depends_on:
db:
condition: service_healthy
environment:
- DATABASE_URL=postgres://miniflux:CHANGE_ME@db/miniflux?sslmode=disable
- LISTEN_ADDR=0.0.0.0:8080
- BASE_URL=https://rss.example.com/
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=CHANGE_ME_TOO
- POLLING_FREQUENCY=60
healthcheck:
test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"]
mem_limit: 128m
db:
image: postgres:18
restart: unless-stopped
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=CHANGE_ME
- POSTGRES_DB=miniflux
volumes:
- miniflux-db:/var/lib/postgresql
healthcheck:
test: ["CMD", "pg_isready", "-U", "miniflux"]
interval: 10s
start_period: 30s
mem_limit: 192m
volumes:
miniflux-db:ثلاثة أسطر في هذا الملف يخطئ الناس في إعدادها. يُضبط LISTEN_ADDR=0.0.0.0:8080 لأن القيمة الافتراضية الموثقة للملف التنفيذي هي 127.0.0.1:8080. ولا يمكن الوصول إلى عملية مرتبطة بواجهة loopback داخل حاوية عبر المنفذ المنشور، لذلك تحصل على إعادة ضبط للاتصال مع حاوية تبدو سليمة. مسار وحدة التخزين /var/lib/postgresql يطابق PostgreSQL 18. تخزّن الإصدارات 17 والأقدم البيانات في /var/lib/postgresql/data. ويعني ربط المسار الخطأ أن دليل البيانات ليس موجوداً على وحدة التخزين أصلاً، فتختفي البيانات كلها عند إعادة إنشاء الحاوية في المرة التالية. يحافظ 127.0.0.1:8080:8080 على بقاء المنفذ خارج الإنترنت العام، لأن نشر منفذ من دون تحديد عنوان يضيف قاعدة إلى سلسلة لا يديرها ufw. يشرح تجاوز منافذ Docker لـ ufw هذه الآلية، بينما تتيح لك واجهة Traefik كـ Reverse Proxy وضع TLS أمامه.
docker compose up -d
docker compose ps
docker compose logs -f miniflux
docker stats --no-streamيجب أن يعرض docker compose ps كلتا الخدمتين في حالة التشغيل، مع وضع علامة healthy على قاعدة البيانات. يسجل التشغيل الأول لـ Miniflux عمليات ترحيل المخطط، وهذا ما يفعّله RUN_MIGRATIONS=1. يعرض docker stats --no-stream عمود الذاكرة الفعلي، وهو الرقم الذي تقارنه بالحدود القصوى في المخطط أعلاه. إذا أعادت حاوية Miniflux التشغيل في حلقة، فاقرأ سجلها: يعني connect: connection refused أنها بدأت قبل أن تصبح PostgreSQL جاهزة لقبول الاتصالات. وهذا تحديداً ما يمنعه شرط service_healthy، لذا تحقق من بقاء الشرط بعد تعديلاتك. إذا كان Compose جديداً عليك، يشرح أساسيات Docker Compose على VPS بنية الملف أولاً.
ما الذي لن يتسع له خادم بسعة 1 GB
Tiny Tiny RSS هو الخيار الذي ينبغي تجنّبه. تعمل حزمة خدماته الرسمية المكوّنة من أربع خدمات على VPS بسعة 1 GB عندما لا يشغّل هذا الـVPS أي شيء آخر، لكنها لا تعمل عليه إلى جانب تطبيق آخر يعتمد على قاعدة بيانات وReverse Proxy. تعني أربع خدمات أربع مجموعات من النفقات التشغيلية، وإحداها PostgreSQL.
يتسع CommaFeed، لكن فقط عند استخدام صورة H2 وحد الذاكرة البالغ 256 MB الذي يحدده المثال الخاص بالمشروع. ما يسبب مشكلة للخادم الصغير هو تشغيل JVM إلى جانب خادم قاعدة بيانات منفصل، لأن JVM تستهلك أي هامش ذاكرة تتركه لها. تشير وثائق CommaFeed إلى -Xmx256m باعتباره حداً صارماً، وتشير إلى OpenJ9 باعتباره «بديلاً أكثر كفاءة في استهلاك الذاكرة من HotSpot JVM»، وهذا يوضح أين تذهب الذاكرة.
عندما تنفد ذاكرة الخادم، تختار آلية out of memory killer في kernel عملية وتنهيها. يعرض dmesg -T سطراً مثل Out of memory: Killed process 1234 (java)، وتختفي الحاوية ببساطة من docker compose ps من دون ظهور رسالة في سجل التطبيق، لأن التطبيق لم يتمكن من كتابة رسالة.
كيفية التعامل مع الترقية في كل منها
- Miniflux:
docker compose pull && docker compose up -d، مع تطبيق ترحيلات المخطط عند البدء عندما يكونRUN_MIGRATIONS=1مضبوطاً. لا يكمن خطر الترقية في Miniflux، بل في الإصدار الرئيسي من PostgreSQL الذي يعمل تحته. - FreshRSS: اسحب الصورة الجديدة. لا يوجد محرك قاعدة بيانات لترقيته عند استخدام SQLite، لذلك تحدث الأعطال المعتادة بسبب الإضافات التابعة لجهات خارجية التي لم تواكب التحديثات.
- CommaFeed: اسحب نسخة الصورة المتوافقة مع قاعدة بياناتك. لا يؤدي التبديل من
latest-h2إلىlatest-postgresqlإلى نقل بياناتك. - yarr: استبدل الملف الثنائي واحتفظ بملف قاعدة البيانات. لم يصدر إصدار جديد منذ v2.8 في July 2024، وبحسب التحقق في August 2026، لا يوجد عادة ما يحتاج إلى ترقية.
- Tiny Tiny RSS:
docker compose pull && docker compose up -d. تُنفَّذ ترحيلات المخطط تلقائياً، وتعيد الواجهة توجيهك إلى شاشة الترحيل عندما يتطلب أحدها تأكيداً.
أنشئ نسخة تفريغ لقاعدة البيانات قبل أي من عمليات الترقية هذه، وليس بعدها.
docker compose exec -T db pg_dump -U miniflux miniflux | gzip > miniflux-$(date +%F).sql.gzما تكلفة الفاصل الزمني للتحديث من حيث النطاق الترددي
الأرقام أدناه حسابية وليست قياسات. وهي تفترض وجود 100 موجز، وطلب واحد لكل موجز في كل فاصل زمني، و40 KB لكل استجابة. يكون حجم حركة الشبكة الفعلي أقل عندما يطبّق الخادم الطلبات الشرطية، وأعلى عندما تحتوي الموجزات على النص الكامل للمقالات.
The data behind this chart
[
{
"label": "Every 5 minutes",
"fetches_per_month": "864,000",
"gb_per_month": 34.6
},
{
"label": "Every 15 minutes",
"fetches_per_month": "288,000",
"gb_per_month": 11.5
},
{
"label": "Every 30 minutes",
"fetches_per_month": "144,000",
"gb_per_month": 5.8
},
{
"label": "Every 60 minutes",
"fetches_per_month": "72,000",
"gb_per_month": 2.9
}
]يؤدي الفاصل الزمني البالغ خمس دقائق مع 100 موجز إلى 864,000 طلب، ونحو 34.6 GB شهرياً. أما الاستطلاع كل ساعة فيؤدي إلى 72,000 طلب، ونحو 2.9 GB. يأتي Miniflux مضبوطاً على POLLING_FREQUENCY لمدة 60 دقيقة، وهو الصف الأخير في ذلك المخطط، وهذا الإعداد الافتراضي مناسب تقريباً للجميع. لا تصل المقالة في وقت أبكر لأنك طلبتها بوتيرة أعلى.
الطلبات الشرطية هي ما يبقي الرقم الفعلي أقل من الحساب النظري. يخزّن القارئ العناوين ETag وLast-Modified التي يعيدها الموجز، ثم يرسلهما مجدداً باعتبارهما If-None-Match وIf-Modified-Since. ويرد الخادم الذي لا يملك أي محتوى جديد بـ304 Not Modified من دون نص استجابة. تظل عملية الاتصال تتطلب مصافحة، لكنها لا تتطلب نقل الحمولة. أما الموجزات التي تتجاهل الطلبات الشرطية فترسل لك المستند الكامل في كل مرة، لذلك يمكن لعدد قليل من الموجزات الكبيرة أن يهيمن وحده على فاتورة نقل البيانات.
قد يؤدي الاستطلاع المكثف أيضاً إلى حظرك. يرد الخادم الذي يقرر أنك ترسل إليه طلبات مفرطة بـ429 Too Many Requests، بينما تجيب بعض المواقع بـ403 بدلاً من ذلك. يسجّل Miniflux آخر خطأ مرتبطاً بالموجز نفسه، لذلك تكون قائمة الموجزات أول مكان تتحقق منه عندما يتوقف أحد الموجزات عن التحديث بينما تستمر الموجزات الأخرى في العمل.
تتوقف الخلاصات، وملف OPML ليس نسخة احتياطية
تتعطل الخلاصات أسرع مما تتوقع. تنتهي صلاحية النطاقات، وتنتقل المواقع إلى منصات لا توفر خلاصات، ويبدأ عنوان URL كان يقدّم XML في تقديم صفحة خطأ HTML بحالة 200 OK. هذه هي الحالة المربكة: تنجح عملية الجلب، ويفشل التحليل، ويسجل القارئ خطأ في التحليل بدلاً من خطأ في الشبكة. مرة واحدة سنوياً، رتّب قائمة الخلاصات حسب تاريخ آخر تحديث، واحذف الخلاصات التي لم تعد ترسل شيئاً.
تصدير OPML هو قائمة اشتراكاتك. وهو يحتوي على عناوين URL للخلاصات وأسماء المجلدات. لكنه لا يحتوي على حالة القراءة، أو المقالات المميزة، أو إعدادات كل خلاصة، أو قواعد التصفية، أو نص المقالات التي حفظتها. إذا استوردت ملف OPML هذا إلى تثبيت جديد، فستستعيد خلاصاتك، لكن ستظهر كل المقالات التي قرأتها سابقاً على أنها غير مقروءة من جديد.
النسخة الاحتياطية المهمة هي نسخة قاعدة البيانات. بالنسبة إلى PostgreSQL، ينفّذ الأمر pg_dump المذكور أعلاه المهمة كاملة. وبالنسبة إلى قارئ SQLite مثل FreshRSS أو yarr، أوقف عملية الكتابة وانسخ الملف، أو أنشئ نسخة متسقة أثناء تشغيله باستخدام sqlite3 yarr.db ".backup '/tmp/yarr-backup.db'". قد ينتج عن تنفيذ cp عادي لقاعدة بيانات تجري الكتابة إليها ملف لا يفتح لاحقاً، لأن النسخ يلتقط عملية كتابة لم تكتمل. بعد ذلك، انقل هذه الملفات إلى خارج الخادم وفق جدول زمني. هذا هو الغرض من النسخ الاحتياطية باستخدام restic على VPS. واستعد نسخة منها داخل حاوية مؤقتة مرة واحدة على الأقل، حتى تتأكد من أن الإجراء يعمل.
يُعد قارئ الخلاصات من أرخص الخدمات التي يمكنك تشغيلها بنفسك، ولذلك يظهر في كل قائمة تضم الخدمات التي تستحق الاستضافة الذاتية في 2026. شغّل بجانبه نسخة SearXNG مستضافة ذاتياً، وستبقى قراءاتك وعمليات البحث التي تجريها على أجهزة تتحكم فيها.
FAQ
أي قارئ RSS مستضاف ذاتياً يستهلك أقل قدر من الذاكرة؟
yarr. وهو ملف ثنائي واحد مكتوب بلغة Go، مع تضمين SQLite فيه، لذلك لا يحتاج إلى خادم قاعدة بيانات أو بيئة تشغيل للغة أخرى، ويكون حد الذاكرة البالغ 128 MB كافياً. لكن المقابل هو محدودية الصيانة والميزات: أحدث إصدار له هو v2.8 من July 2024، ولا يدعم إلا Fever API. إذا كنت تريد مشروعاً نشط التطوير وبحجم مماثل، فالإجابة الأفضل هي Miniflux مع PostgreSQL عند 320 MB.
هل يمكنني تشغيل قارئ RSS مستضاف ذاتياً على VPS بسعة 1 GB؟
نعم. يعمل Miniflux مع PostgreSQL ضمن نحو 320 MB عند ضبط mem_limit على الحاويتين، كما يعمل FreshRSS مع SQLite داخل حاوية واحدة. تجنّب Tiny Tiny RSS الرسمي على خادم بسعة 1 GB، لأن مكدسه يتكون من 4 خدمات، بما فيها PostgreSQL الخاص به. اضبط دائماً حدود الذاكرة، لأن الحاوية غير المحدودة على خادم ممتلئ تؤدي إلى إنهاء إحدى العمليات بواسطة النواة، وغالباً ما تكون العملية التي تُنهى هي قاعدة البيانات لا التطبيق المتسبب في المشكلة.
أي من هذه البرامج يعمل مع تطبيقات RSS على iOS وAndroid؟
يدعم Miniflux وFreshRSS كلاً من Fever API المتوافق وGoogle Reader API المتوافق، لذلك يمكن تقريباً لأي عميل محمول الاتصال بهما. يوفّر CommaFeed وyarr Fever API فقط. يستخدم Tiny Tiny RSS واجهة API خاصة به، لذلك تحتاج إلى عميل مخصص له. في FreshRSS يجب أيضاً تفعيل الوصول إلى API من Authentication وتعيين كلمة مرور API منفصلة في الملف الشخصي، وإلا يفشل التطبيق في تسجيل الدخول بينما يظل الموقع يعمل.
هل يُعد تصدير OPML نسخة احتياطية من قارئ RSS؟
لا. يحتوي OPML على عناوين URL للخلاصات والمجلدات، لذلك يعيد إنشاء قائمة الاشتراكات فقط ولا يعيد أي شيء آخر. أما حالة القراءة والعناصر المميزة وقواعد التصفية ونصوص المقالات، فتوجد كلها في قاعدة البيانات. انسخ قاعدة البيانات احتياطياً باستخدام pg_dump في PostgreSQL، أو باستخدام الأمر .backup في SQLite، ثم انقل الناتج خارج الخادم.
هل يدعم Miniflux قاعدة بيانات SQLite؟
لا. توضح وثائق المشروع أنه "يعمل فقط مع PostgreSQL"، كما أن البحث في النص الكامل منفّذ باستخدام ميزات PostgreSQL، لذلك لا يوجد وضع أخف يمكن التبديل إليه. إذا كنت تريد قارئ خلاصات لا يحتاج إلى حاوية قاعدة بيانات إطلاقاً، فشغّل FreshRSS مع SQLite كواجهة خلفية افتراضية، أو استخدم yarr مع ملفه المضمّن.