OP OpenPrivateDrive
OP OpenPrivateDrive

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+)، اتبع الخطوات:

1. الاستنساخ والاعتماديات
git clone https://github.com/christophe-cremieux/openprivatedrive.git
cd openprivatedrive
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
2. اعتماديات النظام

مطلوبة للمعاينات والصور المصغرة

sudo apt update
sudo apt install libreoffice ffmpeg python3-magic
3. تهيئة التطبيق
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 وNginx client_max_body_size.
  • قاعدة البيانات مقفلة: تأكد من أن عملية واحدة فقط تصل إلى ملف SQLite.

ميزات يجب ملاحظتها

  • تهيئة المسؤول: يتم إنشاء حساب المسؤول عند أول تشغيل.
  • إدارة كلمات المرور: روابط إعادة تعيين للمستخدمين وتغيير ذاتي.
  • التحكم في الرفع - أبلود: حظر امتدادات قائم على السياسة وحدود للروابط.
  • تشفير كامل: دعم رفع - أبلود الملفات والمجلدات بنمط Zero-knowledge.
Open Source & Self-Hosted

Having trouble with installation?

Our team can hوle the entire deployment, security hardening, و backup setup for you.