لماذا 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 — استنساخ المستودع الرسمي
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 — ضبط متغيرات البيئة
افتح
.envوعيّن:DB_PASSWORD، وAPP_KEY(بالضبط 32 حرفاً — أنشئها بـopenssl rand -hex 16)، وAPP_URL، وPOSTGRES_PASSWORD.الخطوة 3 — تشغيل الحاويات
docker compose up -d docker compose psيجب أن تظهر ثلاث حاويات بحالة
healthy: Firefly III، وقاعدة البيانات PostgreSQL، وData Importer.الخطوة 4 — الوصول إلى الواجهة
افتح المتصفح على
http://<IP_VPS>:8080. أنشئ حساب المسؤول. يرشدك المعالج لإنشاء أول حساب مصرفي.الخطوة 5 — ضبط Nginx مع TLS
أضف موقع Nginx لـFirefly III (المنفذ 8080) وData Importer (المنفذ 8081):
certbot --nginx -d firefly.نطاقك.com -d importer.نطاقك.comيضبط Certbot إعادة التوجيه HTTP→HTTPS تلقائياً.
الخطوة 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-backupAPP_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 عند التوفير.