لوگوی Coolify در کنار نماد ابر و شاخه‌های Git برای آموزش دیپلوی خودکار روی آرانیک

فهرست مطالب

آموزش Coolify: راهنمای راه‌اندازی و دیپلوی خودکار از Git روی سرور ابری آرانیک

پاسخ سریع:
Coolify یک پلتفرم PaaS متن‌باز و خودمیزبان است که به شما اجازه می‌دهد اپلیکیشن‌ها، دیتابیس‌ها و سرویس‌های مختلف را روی سرور خودتان اجرا و مدیریت کنید. با راه‌اندازی Coolify روی سرور ابری آرانیک، می‌توانید پروژه‌های فرانت‌اند و بک‌اند خود را به Git متصل کنید و با هر git push فرایند Build و Deploy را به‌صورت خودکار انجام دهید. همچنین امکان اتصال دامنه و استفاده از SSL برای سرویس‌های شما وجود دارد.

اگر برای اجرای یک پروژه وب به‌جای درگیری مداوم با SSH، Docker، Nginx و تنظیمات سرور به یک پنل ساده نیاز دارید، Coolify می‌تواند گزینه مناسبی باشد.

در این راهنما ابتدا با Coolify و کاربرد آن آشنا می‌شویم، سپس نحوه راه‌اندازی آن روی سرور ابری آرانیک، اتصال Git، تنظیم دامنه و SSL و در نهایت مدیریت منابع و سرویس‌ها را بررسی می‌کنیم.

۱. Coolify چیست؟

Coolify یک PaaS متن‌باز و Self-hosted است که روی زیرساختی که خودتان انتخاب می‌کنید اجرا می‌شود.

به‌جای اینکه برای هر پروژه به‌صورت دستی سرور را پیکربندی کنید، می‌توانید بسیاری از مراحل Deploy را از طریق پنل Coolify مدیریت کنید.

با Coolify می‌توان سرویس‌هایی مانند موارد زیر را مدیریت کرد:

اپلیکیشن‌های Node.js

Next.js

React

Vue

PHP

Python

پروژه‌های Docker

Docker Compose

دیتابیس‌هایی مانند PostgreSQL و Redis

سرویس‌های مختلف مبتنی بر Container

یکی از مهم‌ترین ویژگی‌های Coolify اتصال به Git است. به این ترتیب می‌توانید Repository پروژه را به Coolify متصل کنید و فرایند Deploy را به‌صورت خودکار انجام دهید.

چرا Coolify برای توسعه‌دهندگان فرانت‌اند مناسب است؟

در یک فرایند سنتی، اجرای یک پروژه روی سرور ممکن است شامل مراحل مختلفی باشد:

Git

↓

SSH

↓

Server Configuration

↓

Docker / Node.js

↓

Nginx

↓

SSL

↓

Deploy

Coolify بخش زیادی از این فرایند را از طریق یک رابط گرافیکی مدیریت می‌کند.

در نتیجه توسعه‌دهنده می‌تواند بیشتر روی کد و محصول تمرکز کند و کمتر درگیر تنظیمات تکراری زیرساخت شود.

این موضوع برای توسعه‌دهندگانی که از ابزارهای هوش مصنوعی برای تولید کد استفاده می‌کنند نیز کاربردی است؛ زیرا پس از آماده شدن پروژه می‌توان Repository را به Coolify متصل کرد و فرایند Deploy را مدیریت کرد.

Coolify چه تفاوتی با پلتفرم‌های ابری مدیریت‌شده دارد؟

Coolify از نظر تجربه کاربری بخشی از مزایای PaaSها را ارائه می‌دهد، اما تفاوت مهم آن این است که روی زیرساختی که خودتان انتخاب می‌کنید اجرا می‌شود.

بنابراین بهتر است Coolify را صرفاً یک «جایگزین مستقیم» برای همه سناریوهای پلتفرم‌های ابری مدیریت‌شده ندانیم. انتخاب میان این سرویس‌ها به میزان کنترل موردنیاز، نوع پروژه، بودجه و معماری شما بستگی دارد.

۲. راه‌اندازی Coolify روی آرانیک

برای راه‌اندازی Coolify به یک سرور مناسب نیاز دارید. اگر از Easy Install آرانیک استفاده می‌کنید، بخش زیادی از مراحل نصب اولیه می‌تواند از طریق پنل انجام شود.

مراحل کلی راه‌اندازی:

وارد پنل آرانیک شوید.

گزینه ساخت سرویس جدید را انتخاب کنید.

در فهرست سرویس‌ها، Coolify را انتخاب کنید.

منابع موردنیاز شامل RAM، vCPU و فضای ذخیره‌سازی را مشخص کنید.

سرویس را ایجاد کنید.

پس از آماده شدن سرور، آدرس دسترسی به Coolify را دریافت کنید.

وارد پنل Coolify شوید و تنظیمات اولیه را انجام دهید.

نکته: زمان آماده‌سازی سرویس به وضعیت زیرساخت و فرایند Provisioning بستگی دارد؛ بنابراین بهتر است زمان‌هایی مانند «کمتر از ۶۰ ثانیه» فقط زمانی در مقاله درج شوند که در سرویس واقعی آرانیک اندازه‌گیری و تأیید شده باشند.

منابع پیشنهادی برای Coolify

منابع موردنیاز به تعداد پروژه‌ها، نوع Buildها و سرویس‌هایی که روی Coolify اجرا می‌کنید بستگی دارد.

برای شروع یک پروژه کوچک می‌توان از منابع پایه استفاده کرد و در صورت افزایش مصرف، منابع سرور را ارتقا داد.

اگر قرار است هم‌زمان چند Container، دیتابیس یا Build سنگین روی سرور اجرا شود، منابع بیشتری نیاز خواهید داشت.

۳. اتصال Repository گیت به Coolify

پس از ورود به پنل Coolify، یکی از اولین کارها اتصال پروژه به Git است.

برای مثال اگر پروژه شما در GitHub قرار دارد، می‌توانید Repository را به Coolify متصل کنید.

فرایند کلی به شکل زیر است:

GitHub Repository

↓

Coolify

↓

Build

↓

Deploy

↓

Application

در Coolify ابتدا پروژه یا Resource موردنظر را ایجاد کنید و سپس Provider مربوط به Git را انتخاب کنید.

بعد از اتصال GitHub، Repository و Branch موردنظر را انتخاب کنید.

برای مثال:

Repository:

github.com/username/my-project

Branch:

main

سپس تنظیمات Build و اجرای پروژه را مشخص کنید.

بسته به نوع پروژه، Coolify می‌تواند از روش‌های مختلفی برای Build و اجرای برنامه استفاده کند؛ از جمله Dockerfile، Build Pack و Docker Compose.

دیپلوی خودکار با Git Push

یکی از قابلیت‌های مهم Coolify، امکان اجرای فرایند Deploy پس از تغییر کد در Repository است.

فرض کنید پروژه شما به Branch main متصل شده است.

هر بار که کد جدید را Push کنید:

git add .
git commit -m "Update application"
git push origin main

می‌توان فرایند Deploy را به‌صورت خودکار اجرا کرد.

فرایند کلی:

git push

↓

Webhook

↓

Coolify

↓

Build

↓

Deploy

↓

New Version

این روش باعث می‌شود برای هر تغییر کوچک نیازی به ورود دستی به سرور و اجرای دستورات Deploy نداشته باشید.

تنظیم Webhook گیت‌هاب

برای فعال شدن Deploy خودکار، Coolify باید از تغییرات Repository مطلع شود.

یکی از روش‌های رایج استفاده از Webhook است.

در این حالت GitHub پس از Push تغییرات، یک درخواست به Coolify ارسال می‌کند و Coolify فرایند Build و Deploy را آغاز می‌کند.

در تنظیم Webhook باید آدرس ارائه‌شده توسط Coolify را مطابق تنظیمات پروژه وارد کنید.

نکته: URL دقیق Webhook و گزینه‌های فعال‌سازی آن ممکن است بر اساس نسخه Coolify و روش اتصال Repository متفاوت باشد؛ بنابراین از URL و تنظیمات نمایش‌داده‌شده در پنل خود استفاده کنید.

۴. تنظیم دامنه برای پروژه

بعد از Deploy پروژه، می‌توانید یک دامنه اختصاصی برای آن تنظیم کنید.

برای مثال:

app.example.com

در مرحله اول باید DNS دامنه را به IP سرور مربوط به Coolify متصل کنید.

در یک حالت ساده می‌توانید یک رکورد A ایجاد کنید:

Type: A

Name: app

Value: SERVER_IP

پس از انتشار DNS، دامنه را در تنظیمات پروژه Coolify اضافه کنید.

نکته: انتشار تغییرات DNS ممکن است بسته به DNS Provider و تنظیمات TTL زمان ببرد.

فعال‌سازی SSL

پس از اتصال دامنه، می‌توانید SSL را برای اپلیکیشن فعال کنید.

در بسیاری از سناریوها Coolify می‌تواند از Let’s Encrypt برای صدور گواهی SSL استفاده کند.

در نتیجه کاربر می‌تواند به‌جای:

http://app.example.com

از:

https://app.example.com

استفاده کند.

برای صدور موفق گواهی، معمولاً دامنه باید به IP صحیح سرور اشاره کند و سرویس نیز از طریق اینترنت قابل دسترسی باشد.

۵. اجرای پروژه با Docker

یکی از قابلیت‌های مهم Coolify امکان اجرای پروژه‌های Containerized است.

اگر پروژه شما Dockerfile داشته باشد، می‌توانید آن را به Repository اضافه کنید.

یک Dockerfile ساده برای یک پروژه Node.js می‌تواند به شکل زیر باشد:

FROM node:20-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build

EXPOSE 3000

CMD [“npm”, “start”]

پس از Push کردن Dockerfile به Repository، Coolify می‌تواند از آن برای Build کردن Image استفاده کند.

برای پروژه‌های چندسرویسی نیز می‌توان از Docker Compose استفاده کرد.

۶. اضافه کردن دیتابیس به Coolify

یکی از مزایای استفاده از Coolify این است که می‌توانید علاوه بر Application، سرویس‌های دیگری را نیز روی همان زیرساخت مدیریت کنید.

برای مثال می‌توان در معماری یک پروژه از موارد زیر استفاده کرد:

Next.js

↓

Coolify

├── PostgreSQL

├── Redis

└── Application

اگر پروژه به MongoDB، PostgreSQL، Redis یا سرویس‌های دیگر نیاز داشته باشد، باید بر اساس نیاز پروژه و روش مدیریت داده، سرویس مناسب را انتخاب و پیکربندی کنید.

برای محیط Production، Backup، امنیت شبکه، منابع و روش دسترسی به دیتابیس را حتماً در طراحی معماری در نظر بگیرید.

۷. مدیریت منابع و ارتقای سرور

مصرف منابع Coolify و پروژه‌های اجراشده روی آن به تعداد Applicationها، Buildها و سرویس‌های فعال بستگی دارد.

مواردی که بهتر است تحت نظر داشته باشید:

CPU

RAM

Disk

Network

تعداد Containerها

زمان Build

مصرف منابع دیتابیس

اگر مصرف منابع افزایش پیدا کرد، می‌توانید منابع سرور را متناسب با نیاز پروژه افزایش دهید.

قبل از ارتقا بهتر است مشخص کنید مشکل اصلی از کدام منبع ناشی می‌شود. برای مثال افزایش RAM همیشه راه‌حل مناسب برای یک مشکل CPU یا I/O نیست.

۸. بک‌آپ‌گیری

اجرای Coolify روی سرور به این معنی نیست که تمام داده‌های شما به‌صورت خودکار و بدون تنظیمات اضافی Backup می‌شوند.

برای Production باید یک سیاست Backup مشخص داشته باشید.

موارد مهم شامل:

Backup دیتابیس

Backup فایل‌های مهم

نگهداری نسخه‌های متعدد

ذخیره Backup در محل جداگانه

تست دوره‌ای Restore

تعیین مدت نگهداری Backup

Backup زمانی ارزشمند است که بتوانید در صورت بروز مشکل واقعاً آن را Restore کنید؛ بنابراین تست بازیابی را نیز در برنامه نگهداری سرویس قرار دهید.

۹. آیا Coolify برای پروژه من مناسب است؟

Coolify گزینه مناسبی است اگر:

می‌خواهید کنترل بیشتری روی زیرساخت داشته باشید.

پروژه‌های مختلف را از یک پنل مدیریت کنید.

به Deploy خودکار از Git نیاز دارید.

می‌خواهید از Docker استفاده کنید.

می‌خواهید دامنه و SSL پروژه‌ها را مدیریت کنید.

ترجیح می‌دهید زیرساخت را روی سرور انتخابی خودتان اجرا کنید.

اما اگر نمی‌خواهید هیچ بخشی از زیرساخت را مدیریت کنید و ترجیح می‌دهید همه مسئولیت‌های سرور توسط یک سرویس مدیریت‌شده انجام شود، ممکن است یک PaaS کاملاً مدیریت‌شده گزینه ساده‌تری باشد.

سوالات متداول

آیا برای استفاده از Coolify باید لینوکس بلد باشم؟

برای استفاده روزمره از بخش زیادی از امکانات Coolify، نیازی به دانش عمیق لینوکس ندارید. با این حال، آشنایی پایه با Linux، Docker، DNS و شبکه برای عیب‌یابی و مدیریت پروژه‌های Production بسیار مفید است.

آیا می‌توان Coolify را روی سرور ابری آرانیک اجرا کرد؟

بله، در صورتی که سرویس Coolify در کاتالوگ Easy Install آرانیک ارائه شود، می‌توانید آن را از طریق پنل انتخاب و روی زیرساخت موردنظر اجرا کنید.

آیا امکان Deploy خودکار از GitHub وجود دارد؟

بله. می‌توانید Repository را به Coolify متصل کنید و با استفاده از Webhook، فرایند Build و Deploy را پس از Push تغییرات خودکار کنید.

آیا Coolify از Docker پشتیبانی می‌کند؟

بله. Docker یکی از بخش‌های مهم اکوسیستم Coolify است و می‌توان Applicationها و سرویس‌های Containerized را با آن مدیریت کرد.

آیا می‌توان برای پروژه دامنه اختصاصی تنظیم کرد؟

بله. پس از تنظیم DNS می‌توانید دامنه موردنظر را به Application متصل کنید.

آیا امکان استفاده از SSL وجود دارد؟

بله. در سناریوهای پشتیبانی‌شده می‌توان برای دامنه Application گواهی SSL دریافت و HTTPS را فعال کرد.

آیا Coolify جایگزین یک پلتفرم ابری مدیریت‌شده یا یک پلتفرم ابری مدیریت‌شده است؟

Coolify می‌تواند در بسیاری از سناریوها جایگزین Self-hosted مناسبی برای PaaSهایی مانند یک پلتفرم ابری مدیریت‌شده باشد، اما از نظر مدل مدیریت، مسئولیت زیرساخت و امکانات دقیق با سرویس‌هایی مانند یک پلتفرم ابری مدیریت‌شده یا یک پلتفرم ابری مدیریت‌شده تفاوت دارد.

نکات کلیدی

Coolify یک PaaS متن‌باز و Self-hosted است.

می‌توانید آن را روی سرور ابری خود اجرا کنید.

اتصال به Git امکان Deploy خودکار پروژه را فراهم می‌کند.

Webhook می‌تواند فرایند Deploy پس از git push را آغاز کند.

پروژه‌های Docker و Docker Compose قابل مدیریت هستند.

می‌توانید برای Applicationها دامنه اختصاصی تنظیم کنید.

استفاده از SSL، در صورت فراهم بودن شرایط، امکان فعال‌سازی HTTPS را فراهم می‌کند.

برای Production باید Backup، منابع و امنیت را به‌صورت جدی مدیریت کنید.

نتیجه‌گیری

Coolify راهکاری مناسب برای توسعه‌دهندگانی است که می‌خواهند تجربه‌ای شبیه PaaS داشته باشند اما کنترل بیشتری روی زیرساخت خود حفظ کنند.

با اجرای Coolify روی سرور ابری آرانیک، می‌توانید پروژه‌های خود را از طریق Git مدیریت کنید، فرایند Build و Deploy را خودکار کنید و برای Applicationها دامنه و SSL تنظیم کنید.

برای توسعه‌دهندگان فرانت‌اند و افرادی که با ابزارهای تولید کد مبتنی بر هوش مصنوعی کار می‌کنند، این مدل می‌تواند مسیر بین «کد آماده» و «پروژه در حال اجرا روی سرور» را کوتاه‌تر کند.

اگر به یک محیط قابل‌کنترل برای اجرای پروژه‌های خود نیاز دارید، می‌توانید راه‌اندازی Coolify روی سرور ابری آرانیک را به‌عنوان یکی از گزینه‌های زیرساختی خود بررسی کنید.

همین حالا اولین سرویس خود را در آرانیک ایجاد کنید و زیرساخت اجرای پروژه را متناسب با نیاز خود انتخاب کنید.

پرسش‌های متداول

آیا Coolify برای پروژه‌های بدون Docker مناسب است؟

بله. Coolify می‌تواند بسیاری از پروژه‌ها را از روی Repository و Build Pack مناسب بسازد، هرچند داشتن Dockerfile کنترل بیشتری می‌دهد.

برای استفاده از Coolify به دامنه نیاز داریم؟

برای آزمایش اولیه همیشه الزامی نیست، اما برای سرویس عمومی، HTTPS و مدیریت قابل‌اعتماد آدرس‌ها بهتر است دامنه تنظیم شود.

اگر Deploy شکست خورد از کجا شروع کنیم؟

ابتدا Build Log، متغیرهای محیطی، پورت سرویس، دستور Build و دسترسی Repository را بررسی کنید.

منابع رسمی

قدم بعدی: برای راه‌اندازی سرویس مرتبط، وارد داشبورد آرانیک شوید و از بخش Easy Install سرویس را بسازید.

سوالات متداول

آیا Coolify برای پروژه‌های بدون Docker مناسب است؟

بله. Coolify می‌تواند بسیاری از پروژه‌ها را از روی Repository و Build Pack مناسب بسازد، هرچند داشتن Dockerfile کنترل بیشتری می‌دهد.

برای استفاده از Coolify به دامنه نیاز داریم؟

برای آزمایش اولیه همیشه الزامی نیست، اما برای سرویس عمومی، HTTPS و مدیریت قابل‌اعتماد آدرس‌ها بهتر است دامنه تنظیم شود.

اگر Deploy شکست خورد از کجا شروع کنیم؟

ابتدا Build Log، متغیرهای محیطی، پورت سرویس، دستور Build و دسترسی Repository را بررسی کنید.

گالری مقاله

برای این نوشته برچسبی وجود ندارد !

avatar

دانلود متن مقاله

نظرات کاربران

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب