نشر تطبيق Flask على Coolify: من repo Git إلى HTTPS في 15 دقيقة
دليل خطوة بخطوة لنشر تطبيق Flask (Python) على Coolify عبر Nixpacks، مع PostgreSQL، متغيرات بيئية، نشر تلقائي من Git، وHTTPS تلقائي.
أهمية الاستضافة السريعة للمطورين
بالنسبة للمطورين الذين يعملون على إطارات عمل بايثون مثل Flask، فإن الانتقال من بيئة التطوير المحلية (Localhost) إلى بيئة الإنتاج المباشرة قد يكون محفوفاً بالتعقيدات التقنية (إعداد خوادم Nginx، وتكوين شهادات SSL). هنا يأتي دور Coolify كأداة مجانية مفتوحة المصدر (بديل لـ Heroku)، تتيح لك نشر تطبيقاتك مباشرة من مستودعات Git بخطوات بسيطة.
ما ستحتاجه قبل البدء
- خادم افتراضي مثبت عليه Coolify مسبقاً.
- مستودع (Repository) على GitHub يحتوي على تطبيق Flask الخاص بك مع ملف
requirements.txtويفضل ملفProcfile. - نطاق (Domain) أو نطاق فرعي (Subdomain) مسجل وموجه (A Record) إلى IP الخادم الخاص بك.
خطوات النشر (Deployment) في 15 دقيقة
1. ربط مستودع GitHub
افتح لوحة تحكم Coolify واذهب إلى New Resource ثم اختر Application.
- اختر مصدر الكود الخاص بك (GitHub, GitLab, أو مستودع عام).
- إذا كان المستودع خاصاً (Private)، سيطلب منك Coolify تثبيت تطبيق GitHub الخاص به لإعطائه الصلاحيات اللازمة لقراءة الكود.
- اختر المستودع والفرع (Branch) الذي تود نشره (غالباً
main).
2. إعداد بيئة بناء Nixpacks
بدلاً من كتابة ملف Dockerfile معقد، يستخدم Coolify تقنية Nixpacks التي تتعرف تلقائياً على لغة البرمجة.
- بمجرد اختيار المستودع، سيتعرف Coolify على وجود
requirements.txtويعتبره تطبيق Python. - في إعدادات البناء (Build Settings)، تأكد من أن أمر التشغيل الأساسي (Start Command) مضبوط بشكل صحيح. لتطبيقات Flask الموجهة للإنتاج، يُنصح باستخدام
gunicorn. مثلاً:gunicorn app:app -b 0.0.0.0:8000.
3. إعداد المتغيرات البيئية (Environment Variables)
تطبيقات Flask تحتاج عادة لمتغيرات بيئة مخفية (مثل مفاتيح الـ API أو تفاصيل الاتصال بقاعدة البيانات):
- انتقل إلى تبويب Environment Variables في لوحة تحكم تطبيقك على Coolify.
- أضف المتغيرات اللازمة. لا تنسَ تعيين
FLASK_ENV=productionلضمان توقف وضع التنقيح (Debug mode).
4. إعداد النطاق وتفعيل SSL
الخطوة الأهم لجعل تطبيقك متاحاً بشكل آمن:
- في إعدادات التطبيق، ابحث عن حقل (Domains).
- أدخل النطاق الخاص بك (مثلاً:
https://api.myproject.com). ملاحظة: كتابةhttps://ستخبر Coolify تلقائياً بطلب شهادة أمان (Let’s Encrypt). - تأكد من أن المنفذ الداخلي (Port) مضبوط على نفس المنفذ الذي حددته في أمر
gunicorn(وهو 8000 في حالتنا).
5. إطلاق التطبيق (Deploy)
الآن اضغط على زر Deploy الكبير. ستبدأ واجهة Coolify بعرض سجلات البناء (Build Logs). سيقوم النظام بتنزيل كود بايثون، تثبيت المكتبات من requirements.txt، إعداد خادم الويب الداخلي، وإصدار شهادة SSL.
الخلاصة
خلال دقائق، استطعت تحويل كود Flask محلي إلى تطبيق حي موثوق بشهادة SSL جاهز للعمل. بفضل Coolify، يحصل المطورون على راحة منصات البلاتفورم كخدمة (PaaS) مع احتفاظهم بالسيادة التامة على بياناتهم وخوادمهم الخاصة.