وصول
واجهة الويب: https://<SERVER_IP>
نقطة نهاية API: https://<SERVER_IP>:5004
بيانات اعتماد المسؤول الافتراضية:
- بريد إلكتروني:
[email protected] - كلمة المرور:
1234
قم بتغيير بيانات اعتماد المسؤول مباشرة بعد تسجيل الدخول الأول.
إشعار الشهادة الموقعة ذاتيًا
يستخدم هذا التثبيت شهادة TLS موقعة ذاتيًا.
من المتوقع ظهور تحذير SSL للمتصفح.
لمكالمات API باستخدام curl، يجب عليك تجاهل التحقق من صحة الشهادة:
curl -k https://<SERVER_IP>:5004
ال -k تخبر العلامة الضفيرة بتخطي التحقق من شهادة TLS.
مثال للحصول على رمز API:
curl -k https://<SERVER_IP>:5004/api/v1/auth/login
-H "Content-Type: application/json"
-d '{"email":"[email protected]","password":"1234"}'
يؤدي هذا إلى إرجاع استجابة JSON التي تحتوي على رمز مميز.
مثال للحصول على رمز API:
curl -k -i https://<SERVER_IP>:5004/api/v1/<VALID_ENDPOINT>
-H "Authorization: Bearer <TOKEN>"
بالنسبة لبيئات الإنتاج، استبدل الشهادة الموقعة ذاتيًا بشهادة SSL موثوقة (على سبيل المثال، Let's Encrypt).
الملفات والمجلدات المهمة
- مجلد التثبيت:
/root/peppermint - متغيرات البيئة (بيانات اعتماد قاعدة البيانات، الأسرار، BASE_URL):
/root/peppermint/.env - تكوين Docker:
/root/peppermint/docker-compose.yml - بيانات PostgreSQL المستمرة (حجم Docker):
/var/lib/docker/volumes/pgdata/_data - تكوينات الوكيل العكسي لـ Nginx:
/etc/nginx/conf.d/peppermint-client.conf&/etc/nginx/conf.d/peppermint-api.conf - شهادات TLS (موقعة ذاتيًا أو Let's Encrypt):
/etc/nginx/ssl/
تفعيل SSL مع نطاق
1. وجِّه نطاقك إلى IP الخادم.
2. قم بتحرير /root/peppermint/.env ملف لتعيين اسم المجال الخاص بك: BASE_URL=https://your.domain.com
3. إعادة إنشاء الخدمات:
cd /root/peppermint/
docker compose up -d
4. قم بتحرير تكوينات Nginx واستبدالها server_name <IP>; بنطاقك (<your-domain>) لكلا كتلتي HTTP (المنفذ 80) وHTTPS (المنفذ 443):
vim /etc/nginx/conf.d/peppermint-client.conf
vim /etc/nginx/conf.d/peppermint-api.conf
5. تثبيت سيرتبوت:
apt install -y certbot python3-certbot-nginx
6. شغّل الأمر التالي لإصدار شهادة Let’s Encrypt صالحة:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
7. استبدل مسارات SSL في إعداد Nginx (قسم TLS):
vim /etc/nginx/conf.d/peppermint-client.conf
vim /etc/nginx/conf.d/peppermint-api.conf
# Before:
# ssl_certificate /etc/nginx/ssl/fullchain.pem;
# ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
8. أعد تشغيل Nginx لتطبيق التغييرات:
systemctl restart nginx
9. افتح متصفحك وزُر: https://yourdomain.com