SSD Nodes Learn Hosting plans →
راهنماها Matt Connorتوسط Matt Connor

مقایسه Cloudron و CasaOS و Coolify برای VPS

مقایسه دقیق Cloudron، CasaOS و Coolify برای میزبانی روی VPS. بررسی میزان مصرف RAM، مدیریت گواهی TLS، تنظیمات پشتیبان‌گیری و هزینه نهایی برای انتخاب بهترین پنل مدیریت سرور.

آنچه می‌سازید

شما در حال انتخاب یک ابزار هستید، نه فقط نصب آن. سه پنل وعده می‌دهند که یک VPS خام را به یک میزبان برنامه با قابلیت کلیک و اجرا تبدیل کنند: Cloudron، CasaOS و Coolify. این راهنما هر کدام را روی یک سرور تازه با Ubuntu 24.04 نصب می‌کند، اولین برنامه را راه‌اندازی کرده و سپس به بخش‌هایی نگاه دقیق‌تری می‌اندازد که هیچ‌کس از آن‌ها اسکرین‌شات نمی‌گیرد: TLS، پشتیبان‌گیری، به‌روزرسانی‌ها، هزینه حافظه و میزان دشواریِ خروج از سیستم. در پایان، خواهید دانست کدام‌یک مناسب شماست، یا پاسخ صادقانه این است که «هیچ‌کدام، فقط از Docker Compose استفاده کنید».

هیچ‌کدام از این‌ها جادو نیستند. زیر هر سه، همان Docker Engine قرار دارد که خودتان هم می‌توانید به‌صورت دستی با آن کار کنید. آنچه یک پنل به شما می‌فروشد—چه با پول، چه با مصرف RAM یا ایجاد وابستگی (lock-in)—انجام چهار وظیفه برای شماست: نصب برنامه‌ها با یک کلیک، گواهی‌های TLS خودکار، پشتیبان‌گیری زمان‌بندی‌شده و مدیریت کاربران. اگر این چهار مورد برای شما ارزش سربارِ واقعی را دارند، پنل ارزش استفاده را دارد. اگر یک یا دو سرویس را اجرا می‌کنید و دوست دارید دقیقاً بدانید چه چیزی روی سرور شماست، ابتدا بخش «از هر سه صرف‌نظر کنید» را بخوانید و خود را از دردسر نجات دهید.

پیش‌نیازهای مشترک و نکات مهم

هر سه مورد فرض را بر استفاده از VPS با تکنولوژی KVM می‌گذارند، نه مجازی‌سازی کانتینری. Docker به یک هسته (kernel) واقعی نیاز دارد و Cloudron به‌طور صریح OpenVZ و LXC را رد می‌کند. وضعیت را با systemd-detect-virt بررسی کنید: kvm یا qemu مناسب هستند، اما openvz یا lxc خیر. در یک پلن KVM، این دستور kvm را چاپ می‌کند و روی سخت‌افزار اختصاصی (bare metal) خروجی none خواهد بود؛ هر کدام از این دو به این معنی است که می‌توانید ادامه دهید.

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

  • حافظه رم (RAM). سیستم CasaOS به‌راحتی روی 1GB رم اجرا می‌شود؛ این سیستم روی سخت‌افزار Raspberry Pi رشد کرده و سبک باقی مانده است. Coolify حداقل به 2GB رم و دو هسته CPU نیاز دارد که حدود 600 MB از آن صرف خودِ Coolify می‌شود. Cloudron حداقل به 2GB رم نیاز دارد و در 4GB عملکرد بسیار بهتری دارد، زیرا پیش از آنکه حتی یک برنامه نصب کنید، یک سرور ایمیل و یک دیتابیس را اجرا می‌کند.
  • دامنه و DNS تحت کنترل شما. Cloudron و Coolify هر دو به یک دامنه واقعی با DNS فعال نیاز دارند. Cloudron در حالت ایده‌آل به دسترسی API به سرویس‌دهنده DNS شما نیاز دارد تا بتواند رکوردها و گواهی‌های wildcard را خودش ایجاد کند. CasaOS روی یک IP خام هم اجرا می‌شود، اما در این صورت هیچ TLS نخواهید داشت.
  • پورت‌ها. Cloudron و Coolify برای HTTP و HTTPS به پورت‌های 80 و 443 باز نیاز دارند. CasaOS داشبورد خود را روی HTTP معمولی ارائه می‌دهد، بنابراین فقط به پورت 80 نیاز دارد. Coolify علاوه بر این، داشبورد خود را روی پورت 8000 ارائه می‌دهد و از پورت 6001 برای کانال‌های بلادرنگ و از 6002 برای ترمینال درون‌مرورگر استفاده می‌کند. پورت 22 را برای SSH در همه آن‌ها باز نگه دارید.

پیش از شروع، DNS را به سمت سرور تنظیم کنید. پنلی که نتواند نام میزبان (hostname) خود را resolve کند، نمی‌تواند گواهی درخواست کند و شما ساعت اول را به‌جای کار با نرم‌افزار، صرف عیب‌یابی آن خواهید کرد. یک رکورد A به سمت IP سرور تنظیم کنید و برای Coolify یک رکورد wildcard (*.apps.example.com) اضافه کنید تا هر برنامه مستقرشده، زیردامنه اختصاصی خود را داشته باشد.

Cloudron: یک ابزار مدیریت‌شده و تخصصی

چیستی آن. Cloudron یک پلتفرم تجاری است که کل سرور را به یک دستگاه (appliance) مدیریت‌شده تبدیل می‌کند. این پلتفرم از reverse proxy، دیتابیس و stack ایمیل اختصاصی خود استفاده می‌کند و شامل یک App Store گلچین‌شده از برنامه‌های بسته‌بندی‌شده (مانند Nextcloud، WordPress، Gitea، Mattermost و موارد دیگر) است. این ابزار برای کسانی طراحی شده که می‌خواهند برنامه‌هایشان با به‌روزرسانی‌های خودکار، گواهی‌های خودکار و پشتیبان‌گیری خودکار مدیریت شود و بابت این خدمات هزینه پرداخت می‌کنند.

نصب. این ابزار نیازمند یک سرور کاملاً تمیز است و کنترل کامل آن را در دست می‌گیرد. این اسکریپت را فقط روی یک سرور تازه Ubuntu 24.04 (Noble) اجرا کنید که هیچ چیز دیگری روی آن نصب نباشد:

wget https://cloudron.io/cloudron-setup
chmod +x cloudron-setup
sudo ./cloudron-setup

این اسکریپت Docker، nginx، دیتابیس و stack ایمیل را نصب کرده و سپس سیستم را reboot می‌کند. پس از بالا آمدن سرور، https://<your-ip> را باز کنید، گواهی خودامضا (self-signed) موقت را بپذیرید و تنظیمات را در مرورگر به پایان برسانید: دامنه خود را وارد کنید، ارائه‌دهنده DNS خود را انتخاب کنید تا داشبورد در my.example.com آماده شود.

افزودن اولین برنامه. در داشبورد، App Store را باز کنید، روی برنامه‌ای (مثلاً Nextcloud) کلیک کنید، زیردامنه files.example.com را انتخاب کرده و دکمه Install را بزنید. Cloudron رکورد DNS را ایجاد می‌کند، گواهی Let’s Encrypt را درخواست می‌کند، دیتابیس را آماده می‌سازد، single sign-on را متصل می‌کند و پشتیبان‌گیری را زمان‌بندی می‌کند؛ همه این‌ها بدون اینکه شما حتی یک فایل پیکربندی را لمس کنید انجام می‌شود. این تمام هدف Cloudron است و به خوبی آن را اجرا می‌کند.

TLS و پشتیبان‌گیری. قوی‌ترین مورد در میان این سه گزینه است. هر زیردامنه برنامه، یک گواهی Let’s Encrypt خودکار دریافت می‌کند که برای شما تمدید می‌شود. پشتیبان‌گیری‌ها زمان‌بندی‌شده و داخلی هستند و می‌توانند روی دایرکتوری محلی، S3 یا سایر فضاهای ذخیره‌سازی راه دور انجام شوند. امکان بازیابی برای هر برنامه و حتی کلون کردن یک برنامه روی یک زیردامنه جدید با یک کلیک وجود دارد.

هزینه و مجوز، پیش از اقدام بخوانید. Cloudron یک محصول پولی با یک سطح رایگان محدود است: طرح رایگان اجازه نصب دو برنامه را می‌دهد. با نصب برنامه سوم به محدودیت پرداخت می‌رسید؛ اشتراک پولی (Pro یا Max، با صورت‌حساب ماهانه یا سالانه، هر دو با تعداد نامحدود برنامه) امکانات بیشتری را باز می‌کند. این مهم‌ترین نکته درباره Cloudron است. این ابزار به این دلیل صیقل‌خورده است که یک کسب‌وکار است و سطح رایگان آن بیشتر به یک دوره آزمایشی طولانی‌مدت شباهت دارد تا مکانی برای میزبانی یک stack در حال رشد.

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

Error: Some packages like nginx/docker/nodejs are already installed. Cloudron requires
specific versions of these packages and will install them as part of its installation.
Please start with a fresh Ubuntu install and run this script again.

دلیل این امر سخت‌گیری بی‌مورد نیست. Cloudron نسخه‌های خاصی از nginx، Docker و Node را پین می‌کند و آن‌ها را عمیقاً یکپارچه می‌سازد، بنابراین نمی‌تواند در کنار نسخه‌های شخصی شما کار کند. راه‌حل، استفاده از یک ایمیج تازه Ubuntu 24.04 و هیچ چیز دیگر است: نه وب‌سرور، نه Docker و حتی نه فایروالی که دستی تنظیم کرده باشید. اگر ایمیج اشتباهی را بوت کرده باشید، نصب‌کننده هر چیزی غیر از نسخه‌های پشتیبانی‌شده Ubuntu LTS (22.04، 24.04 یا 26.04) روی x86-64 را رد می‌کند؛ معماری‌های ARM، LXC و OpenVZ اصلاً پشتیبانی نمی‌شوند. از زمان Cloudron 10 (سپتامبر 2026)، Ubuntu 26.04 پیش‌فرض نصب‌های جدید است، بنابراین اگر امروز از صفر شروع می‌کنید، این همان ایمیجی است که باید انتخاب کنید.

دومین حالت شکست، گواهی‌های wildcard نیازمند API DNS هستند. اگر در حین نصب به جای دادن توکن API به Cloudron، گزینه "Manual" برای DNS را انتخاب کنید، این ابزار نمی‌تواند رکوردها یا گواهی wildcard را برای شما ایجاد کند. در این صورت، برای هر برنامه جدید باید پیش از صدور گواهی، یک رکورد DNS را دستی اضافه کنید و داشبورد منتظر آن رکورد باقی می‌ماند. با دادن دسترسی API به Cloudron برای یک ارائه‌دهنده DNS پشتیبانی‌شده (مانند Cloudflare، Route 53، DigitalOcean و دیگران)، کل فرآیند با یک کلیک انجام می‌شود.

CasaOS: داشبورد رایگان برای home-lab

چیستی. CasaOS، محصول IceWhale، یک داشبورد متن‌باز و رایگان است که روی Docker اجرا می‌شود و یک صفحه اصلی، فروشگاه اپلیکیشن و مدیریت فایل در اختیار شما می‌گذارد. این ابزار از دنیای سرورهای خانگی برخاسته و ذاتاً برای home-lab طراحی شده است: راه‌اندازی سریع، رابط کاربری دوستانه و بدون پیچیدگی‌های اضافی. هدف آن کاربرانی است که می‌خواهند بدون پرداخت هزینه، رابط کاربری بهتری برای Docker داشته باشند.

نصب. تنها با یک خط دستور، بدون نیاز به پاک‌سازی سیستم:

curl -fsSL https://get.casaos.io | sudo bash

نصب‌کننده مجموعه‌ای از سرویس‌های systemd (شامل casaos، casaos-gateway، casaos-app-management و موارد مشابه) را اضافه می‌کند. پیش از باز کردن مرورگر، از بالا آمدن gateway مطمئن شوید:

systemctl status casaos-gateway

پس از اجرا، داشبورد در http://<your-ip> (HTTP ساده، پورت 80) در دسترس است. یک حساب کاربری محلی بسازید تا وارد شوید.

افزودن اولین اپلیکیشن. فروشگاه اپلیکیشن را باز کنید، برنامه مورد نظر را انتخاب کرده و روی Install کلیک کنید. CasaOS در پس‌زمینه یک پروژه Docker Compose ایجاد می‌کند و برنامه را روی یک پورت میزبان، مثلاً http://<your-ip>:8080، در دسترس قرار می‌دهد. فروشگاه آن شامل مجموعه‌ای از برنامه‌های معمول سرورهای خانگی است؛ بنابراین نصب Jellyfin media server on a VPS یا self-hosted Immich photo library تنها با چند کلیک انجام می‌شود. اگر هنوز برای انتخاب سرور عکس تصمیم نگرفته‌اید، خواندن RAM floors and phone apps that separate PhotoPrism from Immich پیش از هر کاری توصیه می‌شود، زیرا در یک سیستم CasaOS با 1GB رم، این انتخاب تعیین می‌کند که آیا برنامه اصلاً اجرا می‌شود یا خیر. شما همچنین می‌توانید هر docker-compose.yaml دلخواهی را import کنید که نقطه قوت اصلی آن است: برنامه‌ها کانتینرهای معمولی هستند، نه یک فرمت اختصاصی.

TLS و پشتیبان‌گیری، نقطه ضعف. اینجا جایی است که محدودیت‌های "رایگان" نمایان می‌شود. CasaOS به‌صورت پیش‌فرض همه چیز را از طریق HTTP ساده ارائه می‌دهد، از جمله داشبورد خودش. هیچ قابلیت داخلی برای Let's Encrypt یا پشتیبان‌گیری زمان‌بندی‌شده وجود ندارد. داده‌های شما در Docker volumes تحت مسیر /DATA قرار دارند و پشتیبان‌گیری از آن‌ها وظیفه شماست (با استفاده از یک restic یا tar در cron).

حالت شکست، نبود TLS و سکوت سیستم. هیچ خطایی رخ نمی‌دهد. شما یک برنامه را نصب می‌کنید، http://<your-ip>:8080 را باز می‌کنید و برنامه از طریق یک اتصال رمزنگاری‌نشده که مرورگر آن را "Not Secure" علامت‌گذاری کرده، کار می‌کند. رمزهای عبور و کوکی‌های نشست به‌صورت متن ساده در شبکه منتقل می‌شوند. بدتر اینکه CasaOS در داشبورد خود آسیب‌پذیری‌های اجرای کد از راه دور (CVE-2023-37265 و CVE-2023-37266، یک دور زدن احراز هویت که منجر به نفوذ کامل به میزبان می‌شد) داشته است؛ بنابراین قرار دادن آن پورت HTTP مستقیماً در معرض اینترنت، یک ریسک واقعی است، نه فقط یک ایراد ظاهری. راه حل این است که هرگز CasaOS را مستقیماً در معرض اینترنت قرار ندهید. یک reverse proxy در مقابل آن قرار دهید که TLS را مدیریت کند، مانند nginx with a Let's Encrypt certificate from Certbot، Caddy یا Cloudflare Tunnel، و درخواست‌ها را فقط در شبکه محلی به CasaOS هدایت کنید. توجه داشته باشید که CasaOS از قبل پورت 80 را اشغال کرده است، بنابراین اگر ابتدا CasaOS را به پورت دیگری منتقل نکنید، proxy و CasaOS بر سر این پورت با هم تداخل خواهند داشت.

هزینه. کاملاً رایگان، برای همیشه، بدون محدودیت در تعداد اپلیکیشن‌ها. هزینه آن را با عملیات نگهداری می‌پردازید: مدیریت TLS، پشتیبان‌گیری و امن‌سازی سیستم بر عهده خودتان است.

Coolify: پلتفرم PaaS برای میزبانی شخصی

چیستی. Coolify یک پلتفرم-به‌عنوان-سرویس (PaaS) متن‌باز و قابل میزبانی شخصی است که عملکردی مشابه Heroku یا Vercel روی سرور اختصاصی شما دارد. واحد اصلی آن «نصب یک بسته نرم‌افزاری» نیست، بلکه «استقرار یک مخزن Git» است: با اتصال یک مخزن، Coolify آن را (از طریق Nixpacks یا Dockerfile اختصاصی شما) بیلد کرده و منتشر می‌کند و با هر push، آن را مجدداً مستقر می‌سازد. این ابزار همچنین امکان راه‌اندازی دیتابیس‌ها و سرویس‌های مختلف را با یک کلیک فراهم می‌کند. مخاطب این ابزار توسعه‌دهندگانی هستند که کدهای خود را مستقر می‌کنند و بدون نیاز به اجاره یک سرویس PaaS، خواهان قابلیت push-to-deploy هستند.

نصب.

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

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

docker ps --format 'table {{.Names}}\t{{.Status}}'

شما باید وضعیت Up را برای تمامی موارد coolify، coolify-db، coolify-redis، coolify-realtime و coolify-proxy مشاهده کنید. داشبورد در آدرس http://<your-ip>:8000 در دسترس است. بلافاصله حساب کاربری مدیر خود را ایجاد کنید، زیرا صفحه ثبت‌نام تا زمان ایجاد اولین حساب باز می‌ماند و هر کسی که زودتر به آن دسترسی پیدا کند، کنترل سرور را در دست خواهد گرفت. سپس دامنه نمونه خود را تنظیم کرده و یک رکورد DNS از نوع wildcard (*.example.com یا *.apps.example.com) را به سمت سرور هدایت کنید تا Coolify بتواند برای هر برنامه مستقرشده، یک زیردامنه اختصاصی ایجاد کند.

افزودن اولین برنامه. یک منبع Git (GitHub، GitLab یا آدرس مستقیم مخزن) را متصل کنید، یک شاخه (branch) انتخاب کنید، دامنه را تنظیم کرده و مستقر کنید. پروکسی داخلی Traefik در Coolify، زیردامنه را مسیریابی کرده و گواهی TLS را درخواست می‌کند. برای نرم‌افزارهای آماده، کاتالوگ سرویس‌ها امکان استقرار با چند کلیک را فراهم می‌کند: همان استک اتوماسیون گردش‌کار n8n که ممکن است به‌صورت دستی پیکربندی کنید یک ورودی واحد است، و همین‌طور Uptime Kuma برای مانیتورینگ صفحه وضعیت.

TLS و پشتیبان‌گیری. گواهی Let's Encrypt به‌صورت خودکار برای هر برنامه از طریق Traefik بسته‌بندی‌شده اعمال می‌شود، بنابراین هر زیردامنه مستقرشده یک گواهی دریافت می‌کند. پشتیبان‌گیری بر پایه دیتابیس است: می‌توانید dumpهای Postgres و MySQL را برای ذخیره‌سازی در فضای سازگار با S3 زمان‌بندی کنید. پشتیبان‌گیری از کل نمونه (تنظیمات خود Coolify که در مسیر /data/coolify قرار دارد) بیشتر به‌صورت دستی است، بنابراین آن را صادر و ذخیره کنید.

هزینه و مجوز. نسخه قابل میزبانی شخصی کاملاً متن‌باز و رایگان است و محدودیتی در تعداد برنامه‌ها ندارد. یک سرویس اختیاری به نام Coolify Cloud (پولی) وجود دارد که کنترل پنل را برای شما میزبانی می‌کند در حالی که برنامه‌های شما همچنان روی سرورهای خودتان اجرا می‌شوند؛ این گزینه راحت است اما اجباری نیست.

حالت خطا، برنامه مستقر می‌شود اما دامنه آن بارگذاری نمی‌شود. داشبورد در http://<ip>:8000 به‌خوبی کار می‌کند، بیلد موفقیت‌آمیز است، اما آدرس URL برنامه خطای اتصال یا خطای 404 page not found در Traefik برمی‌گرداند. این مشکل به پروکسی یا DNS مربوط است، نه به برنامه شما. دو دلیل رایج وجود دارد. اول، پورت‌های 80 یا 443 هنگام تلاش پروکسی برای شروع کار اشغال بوده‌اند، بنابراین کانتینر آن با خطای Docker متوقف شده است:

Error response from daemon: driver failed programming external connectivity on endpoint coolify-proxy: Bind for 0.0.0.0:443 failed: port is already allocated

دوم، نام میزبان به سرور ترجمه نمی‌شود: یا برنامه از زیردامنه تولیدشده توسط wildcard استفاده می‌کند و رکورد DNS مربوطه وجود ندارد، یا از یک دامنه سفارشی استفاده می‌کند که رکورد DNS مستقلی برای اشاره به سرور ندارد، بنابراین Traefik هرگز درخواستی برای آن نام میزبان دریافت نمی‌کند. اگر در عوض، کارت کل سرور در Coolify وضعیت "Server is not reachable" را نشان می‌دهد، خطا متفاوت است: Coolify اصلاً نمی‌تواند با سوکت Docker سرور ارتباط برقرار کند، که معمولاً به دلیل متوقف بودن Docker daemon یا خرابی کلید SSH است. پیش از حدس زدن، دلیل واقعی را در لاگ‌ها بخوانید:

docker logs coolify-proxy --tail 100

مشکل را از صفحه Proxy برطرف کنید: گزینه Restart Proxy را بزنید یا پیکربندی پروکسی را به حالت پیش‌فرض بازگردانده و دوباره آن را شروع کنید، سپس حدود دو دقیقه صبر کنید تا وضعیت تثبیت شود. پورت 8000 را فقط برای IP خودتان در دسترس قرار دهید (یا هنگام بروز مشکل در پروکسی، موقتاً آن را باز کنید) و از باز گذاشتن آن برای عموم خودداری کنید؛ این پورت داشبورد را از طریق HTTP ساده ارائه می‌دهد و طبق مستندات خود Coolify، پس از اینکه داشبورد از طریق دامنه اختصاصی‌اش در دسترس قرار گرفت، می‌توان پورت‌های 8000، 6001 و 6002 را بست.

سربار منابع روی یک VPS مشابه

این مقادیر در حالت idle روی یک سرور 4GB و پیش از استقرار هرگونه بار کاری واقعی اندازه‌گیری شده‌اند. به جای اعتماد به یک عدد واحد، وضعیت خود را با free -m و docker stats --no-stream بررسی کنید، زیرا مجموع مصرف با تغییر ترکیب برنامه‌های شما تغییر می‌کند.

  • CasaOS سبک‌ترین گزینه است. پنل آن مجموعه‌ای کوچک از سرویس‌های Go است؛ انتظار داشته باشید علاوه بر کانتینرهایی که اجرا می‌کنید، حدود 150 تا 300 MB سربار داشته باشد.
  • Coolify چندین کانتینر پشتیبان اختصاصی (برنامه اصلی، یک Postgres، یک Redis، یک سرویس realtime و Traefik) را اجرا می‌کند، بنابراین پیش از استقرار هر چیزی، در حالت idle حدود 600 MB تا 1 GB رم اشغال می‌کند.
  • Cloudron سنگین‌ترین گزینه در حالت استراحت است، زیرا nginx، دیتابیس، پشته ایمیل و سیستم مانیتورینگ اختصاصی خود را فارغ از اینکه از آن‌ها استفاده کنید یا نه، اجرا می‌کند؛ برای آن 1 تا 1.5 GB رم در حالت idle در نظر بگیرید. به همین دلیل است که حداقل 2GB رم درخواست می‌کند و در 4GB عملکرد بسیار بهتری دارد.

روی یک VPS کوچک 2GB، گزینه CasaOS بیشترین فضا را برای برنامه‌های واقعی باقی می‌گذارد و Cloudron کمترین فضا را. اگر پلن شما 2GB است و می‌خواهید Cloudron را به همراه سرور ایمیل آن اجرا کنید، برای ارتقای سرور برنامه‌ریزی کنید.

مقایسه به‌روزرسانی‌ها، پشتیبان‌گیری و وابستگی به پلتفرم (Lock-in)

به‌روزرسانی‌ها. Cloudron پلتفرم و تمامی برنامه‌ها را طبق زمان‌بندی تست‌شده برای شما به‌روزرسانی می‌کند: این روش کمترین زحمت را دارد و بیشترین پشتیبانی را ارائه می‌دهد. Coolify از طریق داشبورد خود و با یک دکمه به‌روزرسانی می‌شود. CasaOS پنل را از طریق اسکریپت نصب یا apt به‌روزرسانی می‌کند، اما مسئولیت pull کردن و راه‌اندازی مجدد برنامه‌هایی که نصب کرده‌اید، با خود شماست.

وابستگی به پلتفرم (Lock-in)، بخشی که در سال دوم دردسرساز می‌شود. CasaOS کمترین میزان وابستگی را دارد: برنامه‌های آن پروژه‌های معمولی Compose هستند، بنابراین می‌توانید docker-compose.yaml و volumeها را در مسیر /DATA به هر میزبان دیگری کپی کرده و به کار خود ادامه دهید. Coolify در وضعیت میانه قرار دارد: استقرارها (deploy) شامل Dockerfileها و مخازن خودتان است، اما پیکربندی آن‌ها در دیتابیس Coolify ذخیره می‌شود؛ بنابراین انتقال به میزبان دیگر به معنای ایجاد مجدد پروژه‌ها در مقصد است. Cloudron بیشترین میزان وابستگی را دارد: برنامه‌ها به‌صورت بسته‌های اختصاصی Cloudron هستند و اگرچه داده‌های شما از طریق سیستم پشتیبان‌گیری عالی آن به‌راحتی خارج می‌شوند، اما ساختار بسته‌بندی قابل انتقال نیست و باید در پلتفرم مقصد، برنامه‌ها را مجدداً مستقر کنید. داده‌های قابل حمل، زیرساخت غیرقابل حمل.

کدام گزینه را انتخاب کنید

نسخه کوتاه، سپس راه خروج. اگر می‌خواهید کمترین درگیری فنی را با سرور داشته باشید، چندین برنامه بسته‌بندی‌شده را اجرا کنید و بابت مدیریت TLS، پشتیبان‌گیری و به‌روزرسانی‌ها هزینه سالانه بپردازید، Cloudron را انتخاب کنید. اگر این یک آزمایشگاه خانگی (home lab) پشت شبکه شخصی یا یک reverse proxy است، رابط کاربری دوستانه‌ای برای Docker می‌خواهید و نمی‌خواهید هیچ هزینه‌ای بپردازید، CasaOS را انتخاب کنید. اگر کد خود را از Git مستقر می‌کنید و می‌خواهید بدون پرداخت هزینه یک PaaS میزبانی‌شده، قابلیت push-to-deploy با TLS خودکار داشته باشید، Coolify را انتخاب کنید. اگر هیچ‌کدام از این سه مورد توصیف‌کننده وضعیت شما نیست، بخش بعدی پاسخ صادقانه است.

از هر سه مورد صرف‌نظر کنید اگر...

در مورد مقیاس کاری خود صادق باشید. اگر فقط یک یا دو برنامه را اجرا می‌کنید، یا می‌خواهید دقیقاً بدانید و کنترل کنید که چه چیزی روی سرور شماست، از پنل‌های مدیریتی صرف‌نظر کنید. سربار و وابستگیِ ایجاد شده توسط این پنل‌ها برای یک استک کوچک و پایدار، ارزشش را ندارد. مسیر «انجام توسط خودتان» (DIY)، استفاده از یک reverse proxy در مقابل فایل‌های Compose شخصی است: Traefik با TLS خودکار در مقابل چندین برنامه Docker Compose همان قابلیت HTTPS با یک کلیک را بدون وزنِ اضافیِ پنل‌ها به شما می‌دهد و پشتیبان‌گیری را با یک job زمان‌بندی‌شده در restic انجام می‌دهید که دقیقاً از نحوه کارکردش آگاه هستید.

یک سرویس با برچسب‌گذاری حداقلی Traefik، برای مقایسه
services:
  whoami:
    image: traefik/whoami
    labels:
      - traefik.enable=true
      - traefik.http.routers.whoami.rule=Host(`whoami.example.com`)
      - traefik.http.routers.whoami.tls.certresolver=le
    networks: [web]
networks:
  web:
    external: true

Traefik این برچسب‌ها را می‌خواند، نام دامنه را مسیریابی می‌کند و گواهی را دریافت می‌کند: همان کاری که یک پنل انجام می‌دهد، اما در چند خط که می‌توانید آن را بخوانید.

برای یک برنامه اصلی و مهم، این موضوع حتی شفاف‌تر است: یک نصب Nextcloud روی Docker با TLS و روتین پشتیبان‌گیری اختصاصی تنها شامل یک فایل Compose و یک گواهی است. راه‌اندازی یک appliance کامل برای اجرای آن، فقط هزینه است و هیچ مزیتی ندارد. اگر هنوز در حال تصمیم‌گیری هستید که چه چیزی را اجرا کنید پیش از آنکه تصمیم بگیرید چگونه، راهنمای آنچه ارزش self-hosting در سال 2026 را دارد نقطه شروع بهتری است.

FAQ

آیا اصلاً به پنل self-hosting نیاز دارم؟

تنها در صورتی که به چهار موردی که پنل‌ها در چندین برنامه خودکار می‌کنند اهمیت می‌دهید: نصب با یک کلیک، TLS خودکار، پشتیبان‌گیری زمان‌بندی‌شده و مدیریت کاربر. برای یک یا دو سرویس، استفاده از Docker Compose ساده پشت Traefik همان کار TLS را با سربار بسیار کمتر و بدون وابستگی به پلتفرم (lock-in) انجام می‌دهد. پنل‌ها زمانی ارزش خود را نشان می‌دهند که برنامه‌های زیادی را اجرا می‌کنید و زمان شما ارزشمندتر از RAM مصرفی آن‌هاست.

کدام پنل برای یک مبتدی بهترین است؟

برای یک home lab که هیچ‌چیز آن در معرض اینترنت عمومی نیست، CasaOS ملایم‌ترین شروع است: یک دستور و یک رابط کاربری دوستانه، بدون هیچ هزینه‌ای. اما پیش از در معرض قرار دادن هر چیزی، باید یک reverse proxy با قابلیت TLS termination جلوی آن قرار دهید، زیرا این پنل به‌صورت پیش‌فرض از HTTP ساده استفاده می‌کند. اگر می‌خواهید مدیریت TLS و پشتیبان‌گیری برای شما انجام شود و بابت آن هزینه پرداخت می‌کنید، Cloudron بیشترین راهنمایی را ارائه می‌دهد، البته در محدوده رایگان دو برنامه‌ای خود.

آیا Cloudron رایگان است؟

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

آیا می‌توانم این پنل‌ها را در کنار برنامه‌های فعلی‌ام اجرا کنم؟

Cloudron: خیر. این پنل نیاز به یک سیستم‌عامل Ubuntu تمیز دارد و اگر nginx، Docker یا Node از قبل نصب شده باشند، عملیات نصب را متوقف می‌کند، زیرا کل ماشین را مدیریت می‌کند. CasaOS و Coolify دوستانه‌تر هستند، زیرا stack داکر خود را نصب می‌کنند و اصولاً می‌توانند با سایر سرویس‌ها روی یک ماشین باشند؛ اما CasaOS برای داشبورد خود به پورت 80 نیاز دارد و proxy مربوط به Coolify نیز هر دو پورت 80 و 443 را می‌خواهد، بنابراین هر کدام با هر وب‌سرور یا پروکسی که از قبل این پورت‌ها را اشغال کرده باشد، تداخل پیدا می‌کنند. روی ماشینی که از قبل سرویس‌هایی را میزبانی می‌کند، پنل معمولاً ابزار مناسبی نیست؛ در عوض از Traefik و Compose استفاده کنید.

چگونه بعداً از یک پنل مهاجرت کنم؟

پیش از آنکه به خروج نیاز پیدا کنید، برای آن برنامه‌ریزی کنید. از CasaOS، فایل‌های docker-compose.yaml و volumeهای /DATA برنامه را به میزبان جدید کپی کنید و آن‌ها را دوباره اجرا کنید. از Coolify، پیکربندی هر پروژه را خروجی بگیرید و آن را به همان مخازن (repos) در مقصد اشاره دهید. از Cloudron، داده‌ها را از پشتیبان‌های آن در برنامه‌هایی که تازه روی پلتفرم جدید نصب شده‌اند بازیابی کنید، زیرا بسته‌بندی Cloudron قابل انتقال نیست و فقط داده‌ها منتقل می‌شوند. در هر صورت، پیش از حذف سیستم قدیمی، بازیابی را روی یک ماشین آزمایشی تست کنید.