هر بار که تغییری را به گیت می‌فرستید، باید SSH بزنید، git pull کنید و کانتینر را دستی از نو بسازید؟ کولیفای (Coolify) و داک‌پلوی (Dokploy) این چرخه را به یک push می‌سپارند: پنلی روی سرور مجازی خودتان نسخه تازه را می‌سازد و بالا می‌آورد. فرقشان در منابع، لایسنس و رجیستری‌هایی است که اسکریپت نصب از آن ایمیج می‌گیرد.

در یک نگاه؛ هر اولویت به کدام پنل نزدیک‌تر است

  • ✅ اگر لایسنس Apache 2.0 برای تمام کد بیشتر برایتان مهم است، کولیفای.
  • ✅ اگر انتخاب بین Traefik، Caddy یا پراکسی خودتان را می‌خواهید، کولیفای.
  • ✅ اگر Stack روی Docker Swarm لازم دارید، داک‌پلوی؛ کولیفای Swarm را منسوخ کرده است.
  • ✅ اگر پشته کم‌جزء و اسکریپتی که اول پورت‌ها را می‌سنجد برایتان مهم‌تر است، داک‌پلوی.

💡 ایمیج‌های نصب از Docker Hub می‌آیند

پلتفرم PaaS خودمیزبان یعنی پنلی روی سرور خودتان که کد گیت را خودکار می‌سازد و اجرا می‌کند.
✅ هر دو در دقیقه اول نصب سراغ Docker Hub می‌روند.
✅ سروری که آن دقیقه را با 403 تمام می‌کند، با رفع تحریم داکر روی سرور ایران برای نصب پنل آماده می‌شود.

بیشتر مقایسه‌ها از رابط کاربری شروع می‌کنند. روی سرور ایران، معیاری که کمتر دیده می‌شود تصمیم را می‌گیرد: اسکریپت نصب در دقیقه اول از کدام رجیستری ایمیج می‌کشد. اگر آن رجیستری بسته باشد، نصب نیمه‌کاره می‌ماند.

نمودار جریان push از مخزن گیت تا کانتینر روی سرور لینوکس، coolify

پلتفرم استقرار شخصی؛ چه کاری را از دوش شما برمی‌دارد

پلتفرم استقرار شخصی ساخت ایمیج از روی کد، اجرای کانتینر، اتصال دامنه و تمدید گواهی HTTPS را به یک پنل می‌سپارد. تجربه شبیه Heroku است، ولی روی سرور خودتان.

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

کارهای تکراری که از فهرست شما حذف می‌شود

طبق صفحه معرفی مستندات، Coolify با SSH به سرور وصل می‌شود و ساخت، استقرار، دامنه و HTTPS را هماهنگ می‌کند. داک‌پلوی هم Traefik را برای دامنه و گواهی کنار خودش نصب می‌کند. دیگر برای هر سایت پیکربندی nginx نمی‌نویسید.

کارهایی که همچنان با خودتان است

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

کولیفای و داک‌پلوی کنار هم؛ منابع، لایسنس و منبع دانلود

جدول از مستندات و اسکریپت‌های نصب در 4 نوامبر 2026 است (کولیفای پایدار 4.6.0).

معیارکولیفایداک‌پلوی
حداقل در مستندات۲ هسته، ۲ گیگابایت رم، ۱۰ گیگابایت دیسک آزاد۲ گیگابایت رم، ۳۰ گیگابایت دیسک
هشدار یا توقف اسکریپتزیر ۳۰ گیگابایت دیسک کل یا ۲۰ آزاد هشدار می‌دهد و ادامه می‌دهدبا اشغال بودن پورت 80، 443 یا 3000 متوقف می‌شود
لایسنستمام مخزن زیر Apache 2.0زیر Apache 2.0، جز پوشه‌های /proprietary با لایسنس DSAL
ایمیج‌های نصب و پراکسیایمیج docker.io/coollabsio/coolify و helper، postgres:15-alpine، redis:7-alpine و پراکسی traefik:v3.7ایمیج dokploy/dokploy، postgres:16 و traefik:v3.6.25
تغییر رجیستریمتغیر REGISTRY_URL، فقط برای ایمیج پنل و helperگزینه‌ای در اسکریپت نیست
بستر اجرای برنامهکانتینرهای معمولی Dockerروش Compose با docker compose؛ Application و Stack روی Swarm
پراکسی معکوسپیش‌فرض Traefik؛ Caddy یا حالت None هم هستTraefik

حداقل منابع؛ عدد مستندات و عدد اسکریپت

صفحه نصب کولیفای می‌گوید اگر هزینه مهم است، با ۱ هسته و ۱ گیگابایت رم شروع کنید و بعد ارتقا دهید؛ ۵۱۲ مگابایت را توصیه نمی‌کند. مستندات نصب داک‌پلوی عددی کمتر از ۲ گیگابایت نمی‌دهد. این عددها سهم خود پنل است و ساخت ایمیج رم جداگانه می‌خواهد.

لایسنس؛ جایی که دو پروژه از هم جدا می‌شوند

مخزن کولیفای یکسره Apache 2.0 است. طبق فایل لایسنس داک‌پلوی، پوشه‌های /proprietary زیر DSAL قرار دارند؛ این لایسنس استفاده عملیاتی را به قرارداد تجاری مشروط می‌کند و توسعه و تست را آزاد می‌گذارد. مستندات Enterprise آن هم قابلیت‌هایی مثل SSO، نقش سفارشی و لاگ ممیزی را به کلید لایسنس گره می‌زند.

ایمیج‌ها از کجا دانلود می‌شوند

در اسکریپت کولیفای، REGISTRY_URL فقط ایمیج پنل و helper را جابه‌جا می‌کند؛ postgres، redis و Traefik بدون نام رجیستری نوشته شده‌اند و از Docker Hub می‌آیند. داک‌پلوی هم هر سه ایمیجش را از Docker Hub می‌گیرد. برای گرفتن ایمیج پنل از ghcr.io، متغیر را جلوی bash بگذارید نه curl: | REGISTRY_URL=ghcr.io bash.

🔸 هر دو اسکریپت Docker را هم از اینترنت نصب می‌کنند

هر دو اسکریپت Docker را در صورت نبودن از get.docker.com نصب می‌کنند. روی سرور ایران، اول دریافت ایمیج را با تحریم داکر و تنظیم میرور رجیستری درست کنید و یک docker pull postgres:16 آزمایشی بگیرید. برای نصب دستی Docker، راه‌اندازی Docker Engine روی Ubuntu 24.04 را ببینید.

کولیفای و داک‌پلوی کنار هم؛ منابع، لایسنس و منبع دانلود

نصب، اتصال به گیت و اولین استقرار با Push

هر دو پنل با یک دستور رسمی و دسترسی root روی سرور تازه نصب می‌شوند و به مخزن وصل می‌شوند. رکورد A دامنه را از قبل به IP سرور ببرید؛ گواهی Let’s Encrypt از راه پورت 80 صادر می‌شود.

نصب کولیفای

داشبورد بعد از نصب روی پورت 8000 است. حساب مدیر را بی‌معطلی بسازید، چون به گفته مستندات هر کسی زودتر ثبت‌نام کند مدیر و صاحب دسترسی root می‌شود؛ اسکریپت هم برای این کار ۱۰ دقیقه وقت می‌دهد. راه امن‌تر، ساختن حساب هنگام نصب با ROOT_USERNAME، ROOT_USER_EMAIL و ROOT_USER_PASSWORD است. از فایل .env نصب (حاوی APP_KEY) هم پشتیبان بگیرید.

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

نصب داک‌پلوی

این اسکریپت سرور را با docker swarm leave --force از هر Swarm قبلی بیرون می‌برد، اگر Docker نباشد نسخه 28.5.0 را نصب و با apt-mark hold قفل می‌کند و به /etc/dokploy مجوز 777 می‌دهد. پس فقط روی سرور تازه اجرا کنید و وصله امنیتی Docker را دستی دنبال کنید.

curl -sSL https://dokploy.com/install.sh | sh

داشبورد روی پورت 3000 با صفحه ساخت حساب مدیر باز می‌شود؛ این صفحه را هم همان لحظه پر کنید.

⚠️ پورت‌های 80 و 443 در اختیار کیست

پراکسی معکوس هر دو پنل صاحب پورت‌های 80 و 443 است و nginx جدا نباید روی آن‌ها باشد. راهنمای فایروال کولیفای بستن 8000، 6001 و 6002 را بعد از رساندن داشبورد به دامنه مجاز می‌داند. داک‌پلوی برای بستن 3000 دستور docker service update --publish-rm "published=3000,target=3000,mode=host" dokploy را داده است. ufw این پورت‌ها را نمی‌بندد، چون به گفته مستندات Docker بسته‌ها پیش از قوانین فایروال مسیریابی می‌شوند؛ از فایروال میزبان یا ufw-docker کمک بگیرید.

اتصال مخزن و اولین استقرار

در کولیفای، از منوی Sources با New source یک GitHub App بسازید. در پروژه با + New گزینه Private Repository (with GitHub App) را بزنید، مخزن، شاخه، Build pack و پورت داخلی را تعیین کنید و با تعریف دامنه مستقر کنید. از آن پس هر push به آن شاخه، با گزینه Deploy on push (webhooks) در Advanced و Deployment، استقرار تازه می‌سازد. مخزن عمومی یا deploy key Webhook دستی می‌خواهد.

در داک‌پلوی، از بخش Git با Create Github App اپ را بسازید و روی مخزن‌ها نصب کنید، بعد مخزن را در یک Application انتخاب و دامنه را در تب Domains تعریف کنید. به گفته مستندات، این مسیر بدون تنظیم اضافه با هر push به شاخه انتخاب‌شده مستقر می‌کند. برای GitLab، Bitbucket و Gitea:

  1. در تب General، گزینه Auto Deploy را روشن کنید.
  2. آدرس Webhook URL را از لاگ استقرار در Webhooks مخزن بگذارید.
  3. شاخه push باید همان شاخه پنل باشد؛ وگرنه خطای Branch Not Match می‌آید.

نصب، اتصال به گیت و اولین استقرار با Push

کدام را انتخاب کنیم وقتی سرور در ایران است؟

با دسترسی Docker Hub حل‌شده، اگر لایسنس یکدست و ادامه کار مستند برنامه‌ها بدون پنل مهم است، Coolify را بردارید؛ اگر پشته کم‌جزء و Stack روی Swarm می‌خواهید، داک‌پلوی را.

اگر پنل از کار بیفتد

دو خانه «(استنتاج)» از معماری داک‌پلوی نتیجه گرفته شده، چون مستنداتش این حالت را شرح نداده است.

بخشکولیفایداک‌پلوی
برنامه‌های در حال اجرابه گفته مستندات کار می‌کنندموتور Docker آن‌ها را جدا از پنل اجرا می‌کند؛ احتمالاً کار می‌کنند (استنتاج)
مسیریابی دامنه و HTTPSپراکسی روی همان سرور جدا از پنل کار می‌کندکانتینر dokploy-traefik جدا از سرویس پنل است
استقرار تازه با pushمی‌ایستد تا پنل برگرددمی‌ایستد، چون Webhook به خود پنل می‌رسد (استنتاج)
پشتیبان خود پنلفایل .env نصب که APP_KEY در آن استپشتیبان Web Server از دیتابیس و /etc/dokploy روی S3، با Restore

روی سرور آزمایشی با docker service scale dokploy=0 پنل را بخوابانید، سایت را باز کنید و با =1 برگردانید.

تصمیم بر اساس وضعیت سرور شما

روی سرور کوچک، ساخت برنامه و پنل با هم رم را تنگ می‌کنند؛ ایمیج را در GitHub Actions بسازید و فقط اجرا را به پنل بسپارید.

بین این دو مانده‌اید؟ هر کدام از این هفت پرسش می‌تواند کفه ترازو را به یک سمت ببرد:

کولیفای و داک‌پلوی رایگان هستند؟

نسخه خودمیزبان هر دو بدون پرداخت نصب می‌شود. در داک‌پلوی قابلیت‌های Enterprise مثل SSO کلید لایسنس می‌خواهند. هر دو نسخه ابری هم دارند.

بله. مستندات برای صرفه‌جویی شروع با ۱ هسته و ۱ گیگابایت رم و ارتقای بعدی را پیشنهاد می‌کند؛ حداقل اصلی ۲ گیگابایت است.

نه. هر دو پورت‌های 80 و 443 را برای پراکسی خودشان می‌خواهند.

دریافت ایمیج شکست می‌خورد و پنل بالا نمی‌آید؛ REGISTRY_URL هم postgres، redis و Traefik را نجات نمی‌دهد. میرور رجیستری را روی Docker تنظیم کنید.

بله. داک‌پلوی برای GitLab، Bitbucket، Gitea و Docker Hub مسیر Webhook دارد و کولیفای اتصال GitLab را مستقیم می‌پذیرد.

نه. روش Docker Compose با Compose معمولی اجرا می‌شود و Stack روی Swarm؛ خود پنل روی Swarm تک‌نودی است.

یک docker pull postgres:16 بگیرید؛ اگر 403 برگشت، اول میرور رجیستری را تنظیم کنید.

جمع‌بندی؛ Coolify یا داک‌پلوی روی سرور ایران هر دو پنل با اپ GitHub، هر push را بدون تنظیم اضافه به استقرار تبدیل می‌کنند. کولیفای لایسنس یکدست Apache 2.0 دارد، انتخاب پراکسی را به شما می‌دهد و در مستندش آمده که برنامه‌ها بدون پنل هم اجرا می‌مانند. داک‌پلوی پشته سه‌کانتینری (پنل، PostgreSQL و Traefik) دارد، پیش از نصب پورت‌ها را می‌سنجد و قابلیت‌های سازمانی‌اش لایسنس جدا می‌خواهد. روی سرور ایران هر دو اسکریپت ایمیج پایه را از Docker Hub می‌گیرند؛ پس اول دسترسی رجیستری را با یک pull آزمایشی بسنجید و بعد پنل را روی سرور تازه نصب کنید.

🚀 مسیر دانلود ایمیج، شرط نصب هر دو پنل

نصب هر دو پنل به Docker Hub بند است؛ تشخیص خطای 403 و تنظیم میرور در راهنمای تحریم داکر قدم‌به‌قدم آمده است.

شما الان چطور منتشر می‌کنید: SSH و دستور دستی، یا یک pipeline؟ کدام‌یک از این دو را آزموده‌اید و کجا گیر کردید؟

منابع

وب داده
وب داده

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

مقاله‌ها: 260
پاسخی بگذارید

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