Installation و النشر
Step-by-step guide to deploying OpenPrivateDrive on your own private infrastructure.
01 موصى به: النشر عبر Docker
أسرع وأوثق طريقة لنشر OpenPrivateDrive هي استخدام Docker Compose. يضمن ذلك إعداد كل الاعتماديات (LibreOffice وFFmpeg وغيرها) بشكل صحيح.
SECRET_KEY='long-random-secret' ADMIN_PASSWORD='strong-admin-password' docker compose up -d --build تفاصيل ما بعد النشر
- الرابط:
http://server-ip:5350 - المسؤول الافتراضي:
admin - كلمة المرور: قيمة
ADMIN_PASSWORD - البيانات المستمرة:
./data/instance,./data/storage,./data/logs
02 نشر يدوي
للنشر على خوادم Bare-metal أو Linux مخصص (يوصى بـ Ubuntu 22.04+)، اتبع الخطوات:
git clone https://github.com/christophe-cremieux/openprivatedrive.git
cd openprivatedrive
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt مطلوبة للمعاينات والصور المصغرة
sudo apt update
sudo apt install libreoffice ffmpeg python3-magic flask db upgrade
# الإدارة user is auto-bootstrapped on first run using .env
python run.py 4. الإنتاج باستخدام Gunicorn + Nginx
في الإنتاج، شغّل التطبيق عبر Gunicorn خلف Nginx Reverse Proxy مع تفعيل SSL.
gunicorn --workers 3 --bind 127.0.0.1:5100 run:app 03 إعداد البيئة
أنشئ ملف .env في جذر المشروع لضبط سلوك التطبيق:
| المتغير | الوصف |
|---|---|
| SECRET_KEY | سلسلة عشوائية طويلة لتوقيع الجلسات. |
| ADMIN_PASSWORD | كلمة مرور المستخدم "admin" الأولي. |
| STORAGE_PATH | مسار مطلق لتخزين الملفات الخاص. |
| DATABASE_URL | سلسلة اتصال SQLAlchemy (يدعم SQLite). |
| FLASK_ENV | اضبطها على "production" للبيئات الحية. |
| SESSION_COOKIE_SECURE | اضبطها على "True" عند التشغيل عبر HTTPS. |
04 النسخ الاحتياطي والاستعادة
النسخ الاحتياطي المنتظم ضروري. يجب نسخ قاعدة SQLite والتخزين الفعلي معاً للحفاظ على الاتساق.
Docker نسخ واستعادة Docker
استخدم هذه السكربتات على الجهاز المضيف لإدارة بيانات Docker:
bash scripts/docker_backup.sh bash scripts/docker_restore.sh my_backup.tar.gz تتعامل هذه السكربتات مع قاعدة SQLite وأحجام التخزين الفعلي معاً لضمان الاتساق.
Manual نسخ واستعادة يدويان
للتثبيت اليدوي، استخدم سكربتات النسخ والاستعادة العامة:
bash scripts/backup.sh bash scripts/restore.sh my_backup.tar.gz 05 قائمة التحقق الأمنية
- غيّر ADMIN_PASSWORD فور أول تسجيل دخول.
- افرض HTTPS عبر Nginx واضبط SESSION_COOKIE_SECURE=True.
- استخدم سلاسل عشوائية قوية لـ SECRET_KEY.
- راجع "Public روابط" بانتظام من لوحة الإدارة.
- حدد سياسات امتدادات الرفع - أبلود في إعدادات الإدارة.
- تأكد من أن STORAGE_PATH غير قابل للوصول عبر خادم الويب.
06 استكشاف الأخطاء والميزات
مشكلات شائعة
- المعاينات غير موجودة: تحقق من أن
libreofficeوffmpegمثبتان. - أخطاء الرفع - أبلود: تحقق من
MAX_CONTENT_LENGTHوNginxclient_max_body_size. - قاعدة البيانات مقفلة: تأكد من أن عملية واحدة فقط تصل إلى ملف SQLite.
ميزات يجب ملاحظتها
- تهيئة المسؤول: يتم إنشاء حساب المسؤول عند أول تشغيل.
- إدارة كلمات المرور: روابط إعادة تعيين للمستخدمين وتغيير ذاتي.
- التحكم في الرفع - أبلود: حظر امتدادات قائم على السياسة وحدود للروابط.
- تشفير كامل: دعم رفع - أبلود الملفات والمجلدات بنمط Zero-knowledge.
Having trouble with installation?
Our team can hوle the entire deployment, security hardening, و backup setup for you.