🚀 نشر المشروع
🤖 لنظام Hugging Face Spaces:
تحسين packages.txt:
libreoffice libreoffice-writer libreoffice-l10n-ar libreoffice-java-common openjdk-11-jre-headless fonts-liberation fonts-liberation2 fonts-dejavu fonts-dejavu-core fonts-dejavu-extra fonts-croscore fonts-noto-core fonts-noto-ui-core fonts-noto-mono fonts-noto-color-emoji fontconfig wget curl unzip localesتحسين requirements.txt:
fastapi==0.104.1 uvicorn==0.24.0 python-multipart==0.0.6 PyMuPDF==1.23.26 pdfplumber==0.10.3إعدادات README.md:
- تأكد من وجود YAML frontmatter صحيح
- اضبط sdk_version على النسخة الصحيحة
للخوادم المخصصة:
تحسين الذاكرة:
export JAVA_OPTS="-Xmx2g" export SAL_DISABLE_OPENCL=1تحسين الخطوط:
fc-cache -fv fc-list | grep -i arabic
🧪 اختبار النشر
1. اختبار أساسي:
python test_conversion.py
2. اختبار الخطوط العربية:
fc-list | grep -i "amiri\|scheherazade\|noto.*arabic\|arial"
3. اختبار LibreOffice:
libreoffice --headless --convert-to pdf test.docx
🔍 استكشاف أخطاء النشر
مشكلة: LibreOffice لا يعمل
الحل:
# تحقق من التثبيت
libreoffice --version
# إعادة تثبيت
sudo apt-get remove --purge libreoffice*
sudo apt-get install libreoffice libreoffice-writer libreoffice-java-common
مشكلة: الخطوط العربية مفقودة
الحل:
# تثبيت خطوط إضافية يتم تنزيلها عبر setup_fonts.py
# تحديث cache
sudo fc-cache -fv
# التحقق
fc-list | grep -i arabic
مشكلة: أخطاء الذاكرة
الحل:
# زيادة حد الذاكرة
export JAVA_OPTS="-Xmx4g"
# تعطيل OpenCL
export SAL_DISABLE_OPENCL=1
مشكلة: بطء التحويل
الحل:
- قلل حجم الملفات المدخلة
- استخدم خادم بمواصفات أعلى
- فعل التخزين المؤقت
📊 مراقبة الأداء
مؤشرات مهمة:
- وقت التحويل (يجب أن يكون < 30 ثانية للملفات العادية)
- استخدام الذاكرة (يجب أن يكون < 2GB)
- معدل نجاح التحويل (يجب أن يكون > 95%)
أدوات المراقبة:
# مراقبة الذاكرة
htop
# مراقبة العمليات
ps aux | grep libreoffice
# مراقبة السجلات
tail -f /var/log/syslog
🔒 الأمان
إعدادات الأمان:
- تحديد حجم الملفات المرفوعة (< 50MB)
- تنظيف الملفات المؤقتة تلقائياً
- تحديد وقت انتهاء للعمليات (timeout)
- منع تنفيذ الكود الضار في الملفات
أفضل الممارسات:
- استخدم HTTPS دائماً
- فعل rate limiting
- راقب استخدام الموارد
- احتفظ بنسخ احتياطية من الإعدادات
🔄 التحديثات
تحديث الخطوط:
لتحديث الخطوط العربية، قم بتشغيل:
python setup_fonts.py
تحديث التبعيات:
لتحديث التبعيات، قم بتعديل requirements.txt ثم:
pip install -r requirements.txt --upgrade