الوصول
- افتح متصفحك:
https://<SERVER-IP> - اقبل تحذير الشهادة في المتصفح لأن التثبيت يستخدم شهادة TLS موقّعة ذاتيًا.
- المصادقة مطلوبة (نافذة Basic Auth)
- طريقة المصادقة: HTTP Basic Auth
- تُخزَّن بيانات تسجيل الدخول بأمان في:
/root/.cloudzy-creds
إضافة الملفات
- ضع الملفات والمجلدات التي تريد مشاركتها في:
/root/directory-lister/files - يقرأ Directory Lister هذا المجلد مباشرةً، لذا تظهر الملفات المضافة حديثًا تلقائيًا دون إعادة تشغيل التطبيق.
الملفات والمجلدات المهمة
- مسار التثبيت:
/root/directory-lister - الملفات المعروضة:
/root/directory-lister/files - ملف Docker Compose:
/root/directory-lister/docker-compose.yml - ملف البيئة:
/root/directory-lister/.env - بيانات الاعتماد:
/root/directory-lister/.credentials - إعدادات Nginx:
/etc/nginx/sites-available/directory-lister - ملف المصادقة الأساسية:
/etc/nginx/.htpasswd-directory-lister - شهادة TLS:
/etc/nginx/ssl/directory-lister.crt - المفتاح الخاص لـ TLS:
/etc/nginx/ssl/directory-lister.key
إدارة الخدمة
اعرض الحاويات قيد التشغيل:
docker compose -f /root/directory-lister/docker-compose.yml ps
أعد تشغيل Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml restart
اعرض سجلات Directory Lister:
cd /root/directory-lister && docker compose logs -f
أوقف Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml stop
ابدأ Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml start
أعد إنشاء Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml up -d
تحقّق من حالة Nginx:
systemctl status nginx
أعد تشغيل Nginx:
systemctl restart nginx
أعد تحميل Nginx:
systemctl reload nginx
تحقّق من صحة إعدادات Nginx:
nginx -t
تمكين HTTPS باستخدام نطاق
1. وجِّه نطاقك إلى IP الخادم.
٢. تحرير /etc/nginx/sites-available/directory-lister واستبدل كلا server_name _; التوجيهين بنطاقك (على سبيل المثال server_name yourdomain.com;).
3. ثبّت Certbot:
apt install -y certbot python3-certbot-nginx
4. احصل على شهادة Let's Encrypt:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. عدّل /etc/nginx/sites-available/directory-lister وحدّث ssl_certificate و ssl_certificate_key التوجيهات لاستخدام شهادة Let's Encrypt الخاصة بك.
Before:
ssl_certificate /etc/nginx/ssl/directory-lister.crt;
ssl_certificate_key /etc/nginx/ssl/directory-lister.key;
After:
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. أعد تحميل Nginx لتطبيق التغييرات:
systemctl reload nginx
7. ادخل إلى Directory Lister عبر https://yourdomain.com.
تعطيل HTTP Basic Auth في Nginx (اختياري)
لجعل Directory Lister متاحًا للجميع دون مصادقة، اتبع الخطوات أدناه لتعطيل HTTP Basic Auth.
حرّر ملف موقع Nginx: /etc/nginx/sites-available/directory-lister
احذف هذه الأسطر أو علّق عليها:
auth_basic "Directory Lister";
auth_basic_user_file /etc/nginx/.htpasswd-directory-lister;
أعد تحميل Nginx:
systemctl restart nginx
ملاحظات
- يعمل Directory Lister داخل Docker خلف NGINX.
- الوصول العام محمي باستخدام HTTP Basic Authentication.
- تُخزَّن الملفات المعروضة في
/root/directory-lister/files. - لا تملك حاوية التطبيق سوى صلاحية القراءة لمجلد الملفات.