دليل النشر

استضافة ‎Firefly III‎ على ‎VPS‎ : ماليتك المهنية تحت السيطرة

انشر على VPS Cloud ←

دليل عملي

استضافة ‎Firefly III‎ على ‎VPS‎ : ماليتك المهنية تحت السيطرة

الاستضافة الذاتية8 دقائق للقراءةعدد الخطوات: 6

الاحتفاظ بالمالية المهنية في جدول بيانات أو أداة ‎SaaS‎ لا تمتلك فيها بياناتك أمر مقبول في البداية. ‎Firefly III‎ هو تطبيق إدارة مالية مفتوح المصدر (‎AGPL-3.0‎) يُثبَّت على خادم ‎VPS‎ في عشرين دقيقة دون اشتراك، ويخزّن بياناتك بالضبط حيث تقرر أنت.

المحتويات· لماذا ‎Firefly III‎ بدلاً من أداة ‎SaaS‎؟1/11
  1. 01لماذا ‎Firefly III‎ بدلاً من أداة ‎SaaS‎؟
  2. 02الميزات الرئيسية
  3. 03متطلبات الخادم
  4. 04التثبيت باستخدام ‎Docker Compose‎
  5. 05إعداد الميزانيات وقواعد الأتمتة
  6. 06جدولة النسخ الاحتياطية التلقائية
  7. 07‎APP_KEY‎ غير صالح : الخطأ الأكثر شيوعاً
  8. 08‎Firefly III‎ مقابل ‎YNAB‎ و‎Budgea‎
  9. 09حل المشكلات الشائعة
  10. 10تحديث ‎Firefly III‎
  11. 11نشر Firefly III بنقرة واحدة من الـ Marketplace

لماذا ‎Firefly III‎ بدلاً من أداة ‎SaaS‎؟

‎Firefly III‎ مشروع ناضج (24 300 نجمة على ‎GitHub‎، الإصدار v6.6.6 في يوليو 2025، رخصة ‎AGPL-3.0‎). ما يديره لك: حسابات جارية وادخارية وبطاقات ائتمان وحسابات عملات مشفرة، ميزانيات شهرية وسنوية، قواعد أتمتة المعاملات، تقارير مفصّلة قابلة للتصدير، واستيراد كشوف الحساب عبر ‎GoCardless‎ الأوروبي.

الميزات الرئيسية

  • إدارة حسابات متعددة: حسابات جارية وادخارية وبطاقات ائتمان وحسابات عملات مشفرة.
  • ميزانيات وأظرف: حدد ميزانيات شهرية وتابع استهلاكها في الوقت الفعلي.
  • قواعد أتمتة: قواعد تُطبَّق تلقائياً على المعاملات الجديدة.
  • تقارير متقدمة: رسوم بيانية قابلة للتصدير إلى ‎CSV‎ لمحاسبك.
  • استيراد البنك: ملفات ‎CSV/OFX‎ + موصّلات ‎GoCardless‎ الأوروبية.
  • ‎API REST‎ كاملة: أتمتة إنشاء المعاملات من أي سكريبت.
  • واجهة مستجيبة للجوال: اوصل إلى حساباتك من هاتفك عبر المتصفح.

متطلبات الخادم

‎Firefly III‎ تطبيق ‎PHP/Laravel‎ خفيف. المتطلبات الدنيا: خادم ‎VPS‎ بـ 1 جيجابايت ذاكرة (2 موصى به)، ‎Docker Engine ≥ 24‎ و‎Docker Compose V2‎، اسم نطاق لضبط ‎TLS‎، المنفذ 8080 (واجهة ‎Firefly III‎) و8081 (‎Data Importer‎)، 5 جيجابايت تخزين كحد أدنى.

التثبيت باستخدام ‎Docker Compose‎

  1. الخطوة 1 — استنساخ المستودع الرسمي

    mkdir -p /opt/firefly && cd /opt/firefly
    curl -L https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose-importer.yml -o docker-compose.yml
    curl -L https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example -o .env
    curl -L https://raw.githubusercontent.com/firefly-iii/data-importer/main/.env.example -o .importer.env
  2. الخطوة 2 — ضبط متغيرات البيئة

    افتح .env وعيّن: DB_PASSWORD، وAPP_KEY (بالضبط 32 حرفاً — أنشئها بـ openssl rand -hex 16)، وAPP_URL، وPOSTGRES_PASSWORD.

  3. الخطوة 3 — تشغيل الحاويات

    docker compose up -d
    docker compose ps

    يجب أن تظهر ثلاث حاويات بحالة healthy: ‎Firefly III‎، وقاعدة البيانات ‎PostgreSQL‎، و‎Data Importer‎.

  4. الخطوة 4 — الوصول إلى الواجهة

    افتح المتصفح على http://<IP_VPS>:8080. أنشئ حساب المسؤول. يرشدك المعالج لإنشاء أول حساب مصرفي.

  5. الخطوة 5 — ضبط ‎Nginx‎ مع ‎TLS‎

    أضف موقع ‎Nginx‎ لـ‎Firefly III‎ (المنفذ 8080) و‎Data Importer‎ (المنفذ 8081):

    certbot --nginx -d firefly.نطاقك.com -d importer.نطاقك.com

    يضبط ‎Certbot‎ إعادة التوجيه ‎HTTP→HTTPS‎ تلقائياً.

  6. الخطوة 6 — استيراد كشوفاتك البنكية

    يعمل ‎Data Importer‎ على المنفذ 8081. اذهب إلى http://localhost:8081:

    1. ارفع ملف ‎CSV‎ من بنكك أو اتصل عبر ‎GoCardless‎ (البنوك الأوروبية).
    2. اختر الحساب المستهدف.
    3. انقر استيراد وراجع المعاملات المعيّنة.

إعداد الميزانيات وقواعد الأتمتة

إنشاء ميزانية شهرية: اذهب إلى الميزانيات → ميزانية جديدة، سمِّها (مثلاً «لوازم مكتبية»)، حدد المبلغ الشهري، وربط المعاملات بها.

إنشاء قاعدة أتمتة: اذهب إلى الأتمتة → القواعد → قاعدة جديدة، حدد المشغّل (مثلاً «الوصف يحتوي على Amazon»)، ثم الإجراء (تعيين لفئة اللوازم المكتبية).

التصدير لمحاسبك: اذهب إلى تصدير البيانات، اختر صيغة ‎CSV‎، وصفّ حسب الفترة والحساب.

جدولة النسخ الاحتياطية التلقائية

تخزّن ‎Firefly III‎ بياناتها في ‎PostgreSQL‎. جدوِل نسخة احتياطية يومية:

mkdir -p /opt/firefly/backups
docker compose exec -T db pg_dump -U firefly firefly | gzip > /opt/firefly/backups/firefly-$(date +%Y%m%d).sql.gz
echo '0 3 * * * root /opt/firefly/backup.sh' >> /etc/cron.d/firefly-backup

‎APP_KEY‎ غير صالح : الخطأ الأكثر شيوعاً

إذا أظهر ‎Firefly III‎ صفحة بيضاء أو فشل تسجيل الدخول، افحص APP_KEY في .env أولاً. قاعدتان صارمتان: 32 حرفاً بالضبط، ولا تغيّرها أبداً بعد أول إقلاع.

أنشئ مفتاحاً صالحاً: openssl rand -hex 16

‎Firefly III‎ مقابل ‎YNAB‎ و‎Budgea‎

مرّر الجدول أفقيًا

المعيار‎Firefly III‎ (استضافة ذاتية)‎YNAB‎‎Budgea‎
السعرمجاني (تكلفة ‎VPS‎ ~5-10€/شهر)~99$/سنة~60€/سنة
استضافة البياناتخادم ‎VPS‎ الخاص بك (سيادة كاملة)خوادم أمريكيةخوادم فرنسية
استيراد البنك‎CSV/OFX‎ + ‎GoCardless‎ (أوروبا)اتصال مباشر (أمريكا)اتصال مباشر (فرنسا)
قواعد الأتمتةنعمنعملا
‎REST API‎نعم (كاملة)لا (عامة)لا
متعدد العملاتنعملا (دولار فقط)نعم (جزئي)
التقارير المخصصةنعم (متقدمة)محدودةمحدودة
تطبيق جوال أصيللا (ويب متجاوب)نعم (‎iOS/Android‎)نعم

حل المشكلات الشائعة

‎Firefly III‎ تعرض صفحة بيضاء: تحقق من سجلات الحاوية بـ docker compose logs firefly-iii. الأسباب الأكثر شيوعاً: APP_KEY غير صالح أو ‎PostgreSQL‎ لم يكن جاهزاً بعد.

‎Data Importer‎ يرفض ملف ‎CSV‎: تأكد أن البنك يصدّر ‎CSV‎ بفواصل (,). حوّل بـ sed 's/;/,/g' import.csv > import-comma.csv.

معاملات مكررة بعد الاستيراد: فعّل إلغاء التكرار في ‎Data Importer‎ عبر تحديد تجاهل التكرارات.

تحديث ‎Firefly III‎

cd /opt/firefly
docker compose pull
docker compose up -d

تُشغَّل ترحيلات قاعدة البيانات تلقائياً عند أول إقلاع للنسخة الجديدة. قبل أي تحديث رئيسي، خذ نسخة احتياطية يدوية من ‎PostgreSQL‎.

نشر Firefly III بنقرة واحدة من الـ Marketplace

يوفر Marketplace ServOrbit قالب Firefly III الذي يضبط PostgreSQL 16 وتطبيق Firefly III تلقائياً عبر Docker Compose على VPS Ubuntu 24.04 — في دقائق، دون أي سطر أوامر. اختر VPS الخاص بك، حدد القالب، وابدأ باستخدام Firefly III جاهزاً من أول وصول. يُولَّد مفتاح APP_KEY بواسطة ServOrbit عند التوفير.

Firefly III جاهز في دقائق

يضبط قالب Firefly III قاعدة PostgreSQL ومدير الشؤون المالية تلقائياً على VPS الخاص بك — تبقى بياناتك المالية في حوزتك، مدعومة بنسخ احتياطية ومتاحة في أي مكان.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة