Cloudron vs CasaOS vs Coolify কোনটি সেরা?
VPS-এ self-hosting এর জন্য Cloudron, CasaOS এবং Coolify এর মধ্যে তুলনা দেখুন। TLS, backups এবং resource overhead এর সঠিক তথ্য নিয়ে সঠিক প্যানেলটি বেছে নিন।
আপনি কী তৈরি করছেন
আপনি কেবল একটি টুল ইনস্টল করছেন না, বরং একটি টুল নির্বাচন করছেন। তিনটি প্যানেল একটি সাধারণ VPS-কে point-and-click অ্যাপ হোস্ট হিসেবে ব্যবহারের সুবিধা দেয়: Cloudron, CasaOS, এবং Coolify। এই গাইডটি প্রতিটি প্যানেলকে একটি নতুন Ubuntu 24.04 সার্ভারে ইনস্টল করবে, একটি প্রথম অ্যাপ ইনস্টল করবে এবং তারপর এমন বিষয়গুলো বিশ্লেষণ করবে যা সাধারণত স্ক্রিনশট দিয়ে দেখানো হয় না: TLS, backups, updates, memory cost, এবং এই সিস্টেম থেকে বের হওয়া কতটা কঠিন। শেষে আপনি বুঝতে পারবেন কোনটি আপনার জন্য উপযুক্ত, নাকি সঠিক উত্তর হলো "কোনটিই নয়, শুধু Docker Compose ব্যবহার করুন।"
এগুলোর কোনোটিই জাদুকরী নয়। এই তিনটি প্যানেলের নিচেই একই Docker Engine কাজ করে যা আপনি ম্যানুয়ালি চালাতে পারতেন। একটি প্যানেল আপনাকে টাকা, RAM বা lock-in এর বিনিময়ে চারটি কাজ সম্পন্ন করে দেয়: one-click app installs, automatic TLS certificates, scheduled backups, এবং user management। যদি এই চারটি কাজের জন্য অতিরিক্ত overhead গ্রহণ করা আপনার জন্য সাশ্রয়ী হয়, তবে একটি প্যানেল ব্যবহার করা বুদ্ধিমানের কাজ। আপনি যদি মাত্র এক বা দুটি সার্ভিস চালান এবং আপনার সার্ভারে ঠিক কী চলছে তা বিস্তারিতভাবে জানতে চান, তবে প্রথমে "Skip all three" বিভাগটি পড়ুন এবং আপনার পরিশ্রম বাঁচান।
সাধারণ পূর্বশর্ত এবং গুরুত্বপূর্ণ বিষয়সমূহ
তিনটি মাধ্যমই KVM VPS ব্যবহার করে, container virtualisation নয়। Docker-এর জন্য একটি real kernel প্রয়োজন, এবং Cloudron সরাসরি OpenVZ ও LXC প্রত্যাখ্যান করে। systemd-detect-virt দিয়ে যাচাই করুন: kvm বা qemu গ্রহণ করা হয়, কিন্তু openvz বা lxc গ্রহণ করা হয় না। KVM plan-এ কমান্ডটি kvm প্রদর্শন করে, এবং bare metal-এ এটি none প্রদর্শন করে; যেকোনো একটি পাওয়া গেলে আপনি এগিয়ে যেতে পারবেন।
এরপর থেকে প্রতিটি মাধ্যমের প্রয়োজনীয়তা ভিন্ন ভিন্ন হয়, যা আপনার পছন্দ নির্ধারণে প্রথম ধাপ।
- RAM. CasaOS 1GB RAM-এ অনায়াসেই চলে; এটি Raspberry Pi হার্ডওয়্যারের জন্য তৈরি এবং খুব হালকা। Coolify-এর জন্য সর্বনিম্ন 2GB RAM এবং দুটি CPU core প্রয়োজন, যার মধ্যে প্রায় 600 MB শুধুমাত্র Coolify-এর জন্য ব্যবহৃত হয়। Cloudron-এর জন্য সর্বনিম্ন 2GB প্রয়োজন এবং 4GB RAM থাকলে এটি আরও ভালোভাবে চলে, কারণ কোনো অ্যাপ ইনস্টল করার আগেই এটি একটি mail server এবং database চালু করে রাখে।
- একটি ডোমেইন এবং আপনার নিয়ন্ত্রণে থাকা DNS. Cloudron এবং Coolify উভয় ক্ষেত্রেই একটি real domain এবং কার্যকর DNS প্রয়োজন। Cloudron-এর জন্য আপনার DNS provider-এর API access থাকা আদর্শ, যাতে এটি নিজে থেকেই record এবং wildcard certificates তৈরি করতে পারে। CasaOS শুধুমাত্র IP দিয়ে চালানো সম্ভব, কিন্তু সেক্ষেত্রে আপনি কোনো TLS পাবেন না।
- Ports. তিনটি মাধ্যমের জন্যই HTTP এবং HTTPS-এর জন্য 80 এবং 443 port খোলা থাকতে হবে। Coolify অতিরিক্তভাবে তার dashboard-এর জন্য 8000 port ব্যবহার করে, realtime channel-এর জন্য 6001 এবং in-browser terminal-এর জন্য 6002 ব্যবহার করে। প্রতিটি মাধ্যমের জন্যই SSH-এর জন্য 22 port খোলা রাখুন।
কাজ শুরু করার আগেই DNS সার্ভারটিকে আপনার সার্ভারের সাথে যুক্ত করুন। যে প্যানেল তার নিজস্ব hostname resolve করতে পারে না, সেটি certificate রিকোয়েস্ট করতে পারে না; ফলে সফটওয়্যার ব্যবহারের বদলে আপনার প্রথম এক ঘণ্টা সেটি ডিবাগ করতে ব্যয় হবে। সার্ভার IP-তে একটি A record পয়েন্ট করুন, এবং Coolify-এর ক্ষেত্রে একটি wildcard record (*.apps.example.com) যোগ করুন যাতে প্রতিটি deployed app নিজস্ব subdomain পেতে পারে।
Cloudron: একটি পরিমার্জিত এবং সুনির্দিষ্ট অ্যাপ্লায়েন্স
এটি কী। Cloudron হলো একটি বাণিজ্যিক প্ল্যাটফর্ম যা একটি সম্পূর্ণ সার্ভারকে একটি managed appliance-এ রূপান্তরিত করে। এটি নিজস্ব reverse proxy, database এবং mail stack পরিচালনা করে। এর সাথে রয়েছে বিভিন্ন প্যাকেজ করা অ্যাপের একটি বাছাইকৃত App Store (Nextcloud, WordPress, Gitea, Mattermost, এবং আরও অনেক)। এটি তাদের জন্য তৈরি করা হয়েছে যারা তাদের অ্যাপগুলোর জন্য automatic updates, automatic certs এবং automatic backups সহ একটি managed সিস্টেম চান এবং এর জন্য অর্থ প্রদান করতে ইচ্ছুক।
ইনস্টল। এটি একটি সম্পূর্ণ পরিষ্কার (clean) সার্ভার দাবি করে এবং সার্ভারটির সম্পূর্ণ নিয়ন্ত্রণ গ্রহণ করে। শুধুমাত্র একটি নতুন Ubuntu 24.04 (Noble) সার্ভারে এটি চালান:
wget https://cloudron.io/cloudron-setup
chmod +x cloudron-setup
sudo ./cloudron-setupস্ক্রিপ্টটি Docker, nginx, একটি database এবং mail stack ইনস্টল করার পর সিস্টেমটি reboot করবে। সার্ভারটি পুনরায় চালু হলে https://<your-ip> ওপেন করুন, সাময়িক self-signed সার্টিফিকেটটি গ্রহণ করুন এবং ব্রাউজারে সেটআপ সম্পন্ন করুন: আপনার ডোমেইনটি দিন, আপনার DNS provider নির্বাচন করুন, এবং এটি my.example.com-এ নিজস্ব ড্যাশবোর্ড তৈরি করবে।
প্রথম অ্যাপ যোগ করা। ড্যাশবোর্ড থেকে App Store ওপেন করুন, উদাহরণস্বরূপ Nextcloud-এ ক্লিক করুন, subdomain files.example.com নির্বাচন করুন এবং Install বাটনে চাপ দিন। Cloudron নিজে থেকেই DNS record তৈরি করে, Let's Encrypt সার্টিফিকেট রিকোয়েস্ট করে, database প্রস্তুত করে, single sign-on সেটআপ করে এবং ব্যাকআপ শিডিউল করে; এই সবকিছুর জন্য আপনাকে কোনো config file স্পর্শ করতে হবে না। এটাই এর মূল বৈশিষ্ট্য এবং এটি সঠিকভাবে কাজ করে।
TLS এবং ব্যাকআপ। এর তিনটি প্রধান বৈশিষ্ট্যের মধ্যে এটি সবচেয়ে শক্তিশালী। প্রতিটি অ্যাপ সাবডোমেইনের জন্য একটি automatic Let's Encrypt সার্টিফিকেট পাওয়া যায়, যা আপনার হয়ে রিনিউ করা হয়। ব্যাকআপগুলো শিডিউল করা থাকে এবং এতে লোকাল ডিরেক্টরি, S3 অথবা অন্যান্য রিমোট স্টোরেজ ব্যবহার করা যায়। এতে প্রতিটি অ্যাপের জন্য আলাদাভাবে restore করা এবং একটি নতুন সাবডোমেইনে অ্যাপটি এক ক্লিকে cloning করার সুবিধা রয়েছে।
খরচ এবং লাইসেন্সিং, সিদ্ধান্ত নেওয়ার আগে এটি পড়ুন। Cloudron হলো একটি পেইড প্রোডাক্ট যার একটি সীমাবদ্ধ ফ্রি টায়ার রয়েছে: ফ্রি প্ল্যানে আপনি মাত্র দুটি অ্যাপ ব্যবহার করতে পারবেন। তৃতীয় কোনো অ্যাপ ইনস্টল করলে আপনাকে সাবস্ক্রিপশন নিতে হবে; একটি পেইড সাবস্ক্রিপশন (Pro বা Max, যা মাসিক বা বার্ষিক ভিত্তিতে নেওয়া যায় এবং উভয় ক্ষেত্রেই আনলিমিটেড অ্যাপ পাওয়া যায়) আপনাকে আরও সুবিধা দেবে। Cloudron সম্পর্কে এটিই সবচেয়ে গুরুত্বপূর্ণ তথ্য। এটি একটি ব্যবসায়িক পণ্য হিসেবে অত্যন্ত পরিমার্জিত, এবং এর ফ্রি টায়ারটি একটি ক্রমবর্ধমান স্ট্যাকের জন্য স্থায়ী সমাধানের চেয়ে একটি বর্ধিত ট্রায়াল হিসেবে বেশি কাজ করে।
ব্যর্থতার কারণ, ক্লিন-বক্স নিয়ম। যদি আপনি এমন কোনো সার্ভারে 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 it's installation.
Please start with a fresh Ubuntu install and run this script again.এর কারণ কেবল জেদ নয়। Cloudron নির্দিষ্ট ভার্সনের nginx, Docker এবং Node ব্যবহার করে এবং সেগুলোকে গভীরভাবে ইন্টিগ্রেট করে, তাই এটি আপনার সার্ভারে থাকা বিদ্যমান কপিগুলোর সাথে একসাথে চলতে পারে না। এর সমাধান হলো একটি ফ্রেশ Ubuntu 24.04 ইমেজ ব্যবহার করা: কোনো ওয়েব সার্ভার, Docker, এমনকি আপনার হাতে কনফিগার করা কোনো firewall থাকা চলবে না। আপনি যদি ভুল ইমেজ দিয়ে বুট করে থাকেন, তবে সেটআপটি refuse করবে; এটি শুধুমাত্র x86-64 আর্কিটেকচারের সমর্থিত Ubuntu LTS (22.04 বা 24.04) গ্রহণ করে; ARM, LXC এবং OpenVZ সরাসরি সমর্থিত নয়।
দ্বিতীয় ব্যর্থতার কারণ, wildcard certs-এর জন্য DNS API প্রয়োজন। সেটআপের সময় Cloudron-কে API token দেওয়ার পরিবর্তে যদি আপনি "Manual" DNS অপশনটি বেছে নেন, তবে এটি আপনার জন্য কোনো record বা wildcard certificate তৈরি করতে পারবে না। সেক্ষেত্রে প্রতিটি নতুন অ্যাপের জন্য সার্টিফিকেট ইস্যু করার আগে আপনাকে ম্যানুয়ালি একটি DNS record যোগ করতে হবে এবং ড্যাশবোর্ডটি সেই রেকর্ডের জন্য অপেক্ষা করবে। যদি আপনি Cloudron-কে কোনো সমর্থিত DNS provider (Cloudflare, Route 53, DigitalOcean, এবং অন্যান্য) এর API অ্যাক্সেস দেন, তবে পুরো প্রক্রিয়াটি মাত্র এক ক্লিকে সম্পন্ন করা সম্ভব।
CasaOS: একটি ফ্রি হোম-ল্যাব ড্যাশবোর্ড
এটি কী। IceWhale-এর তৈরি CasaOS হলো একটি ফ্রি এবং ওপেন-সোর্স ড্যাশবোর্ড যা Docker-এর ওপর ভিত্তি করে কাজ করে। এটি আপনাকে একটি হোম স্ক্রিন, একটি অ্যাপ স্টোর এবং একটি ফাইল ম্যানেজার প্রদান করে। এটি হোম-সার্ভার জগতের প্রয়োজনে তৈরি করা হয়েছে, তাই এর বৈশিষ্ট্য হলো: দ্রুত সেটআপ, সহজ UI এবং কম জটিলতা। এটি সেই সব ব্যবহারকারীদের জন্য যারা কোনো খরচ ছাড়াই Docker-এর জন্য একটি সুন্দর ইন্টারফেস চান।
ইনস্টল। মাত্র একটি লাইনে এটি ইনস্টল করা যায় এবং এর জন্য কোনো ক্লিন বক্সের প্রয়োজন নেই:
curl -fsSL https://get.casaos.io | sudo bashইনস্টলারটি কিছু systemd সার্ভিস (casaos, casaos-gateway, casaos-app-management, ইত্যাদি) যুক্ত করে। ব্রাউজার খোলার আগে গেটওয়েটি চালু হয়েছে কিনা তা নিশ্চিত করুন:
systemctl status casaos-gatewayএটি চালু থাকলে, ড্যাশবোর্ডটি http://<your-ip>-এ (plain HTTP, port 80) পাওয়া যাবে। একটি লোকাল অ্যাকাউন্ট তৈরি করলেই আপনি প্রবেশ করতে পারবেন।
প্রথম অ্যাপ যোগ করা। App Store খুলুন, একটি অ্যাপ নির্বাচন করুন এবং Install-এ ক্লিক করুন। CasaOS পর্দার আড়ালে একটি Docker Compose প্রজেক্ট তৈরি করে এবং অ্যাপটিকে একটি হোস্ট পোর্টে এক্সপোজ করে, যেমন http://<your-ip>:8080। এর স্টোরে সাধারণ হোম-সার্ভার অ্যাপগুলো পাওয়া যায়, তাই VPS-এ Jellyfin media server বা self-hosted Immich photo library সেটআপ করা মাত্র কয়েক ক্লিকেই সম্ভব। আপনি যেকোনো docker-compose.yaml ইম্পোর্ট করতে পারেন, যা এর আসল শক্তি: অ্যাপগুলো সাধারণ কন্টেইনার, কোনো প্রোপাইটারি ফরম্যাট নয়।
TLS এবং ব্যাকআপ, একটি দুর্বল দিক। এখানেই "ফ্রি" হওয়ার সীমাবদ্ধতা দেখা দেয়। CasaOS ডিফল্টভাবে সবকিছু plain HTTP-এর মাধ্যমে সার্ভ করে, যার মধ্যে এর নিজস্ব ড্যাশবোর্ডও অন্তর্ভুক্ত। এতে কোনো বিল্ট-ইন Let's Encrypt বা শিডিউলড ব্যাকআপ নেই। আপনার ডেটা /DATA-এর অধীনে Docker volumes-এ থাকে এবং ব্যাকআপ নেওয়া আপনার দায়িত্ব (যেমন: cron ব্যবহার করে restic বা tar)।
ব্যর্থতার ধরন: TLS নেই এবং কোনো সতর্কবার্তা নেই। কোনো এরর মেসেজ দেখাবে না। আপনি একটি অ্যাপ ইনস্টল করে http://<your-ip>:8080 খুললে সেটি কাজ করবে, কিন্তু আপনার ব্রাউজার অনিরাপদ সংযোগ হিসেবে এটিকে "Not Secure" হিসেবে চিহ্নিত করবে। পাসওয়ার্ড এবং সেশন কুকিগুলো প্লেইন টেক্সট হিসেবে আদান-প্রদান হবে। আরও খারাপ বিষয় হলো, CasaOS-এর ড্যাশবোর্ডে রিমোট-কোড-এক্সিকিউশন ভলনারেবিলিটি পাওয়া গেছে (CVE-2023-37265 এবং CVE-2023-37266, যা অথেন্টিকেশন বাইপাস করে পুরো হোস্ট কম্প্রোমাইজ করতে পারে)। তাই এই HTTP পোর্টটি সরাসরি ইন্টারনেটে এক্সপোজ করা একটি বড় ঝুঁকি। সমাধান হলো CasaOS-কে সরাসরি এক্সপোজ না করা। এর সামনে একটি রিভার্স প্রক্সি ব্যবহার করুন যা TLS টার্মিনেট করবে, যেমন Certbot দিয়ে Let's Encrypt সার্টিফিকেটসহ nginx, Caddy, অথবা একটি Cloudflare Tunnel, এবং শুধুমাত্র লোকাল নেটওয়ার্কে CasaOS-এ ফরওয়ার্ড করুন। মনে রাখবেন, CasaOS ইতিমধ্যে port 80 ব্যবহার করছে, তাই CasaOS-কে অন্য কোনো পোর্টে সরিয়ে না নিলে আপনার প্রক্সি এবং CasaOS-এর মধ্যে পোর্ট নিয়ে সংঘর্ষ হবে।
খরচ। এটি চিরকাল সম্পূর্ণ ফ্রি এবং অ্যাপের কোনো সীমা নেই। এর বিনিময়ে আপনাকে TLS, ব্যাকআপ এবং সিকিউরিটি ম্যানেজমেন্ট নিজে সামলাতে হবে।
Coolify: self-hosted PaaS
এটি কী। Coolify হলো একটি open-source, self-hosted platform-as-a-service, যা আপনার নিজস্ব সার্ভারে Heroku বা Vercel এর মতো কাজ করে। এর মূল কাজের পদ্ধতি "এই প্যাকেজ করা অ্যাপটি ইনস্টল করুন" নয়, বরং "এই Git repository টি deploy করুন": একটি repo কানেক্ট করুন, এবং Coolify সেটি (Nixpacks বা আপনার নিজস্ব Dockerfile এর মাধ্যমে) build করবে এবং ship করবে, এবং প্রতিবার push করার সময় পুনরায় deploy করবে। এতে এক-ক্লিকে database এবং services ব্যবহারের সুবিধাও রয়েছে। এটি সেইসব ডেভেলপারদের জন্য তৈরি যারা নিজেদের কোড deploy করতে চান এবং PaaS ভাড়া না নিয়ে সরাসরি push-to-deploy সুবিধা পেতে চান।
ইনস্টল।
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashএই script টি Docker ইনস্টল করবে এবং Coolify এর নিজস্ব container stack চালু করবে। পরবর্তী ধাপে যাওয়ার আগে এগুলো ঠিকঠাক চলছে কিনা তা পরীক্ষা করে নিন:
docker ps --format 'table {{.Names}}\t{{.Status}}'আপনি coolify, coolify-db, coolify-redis, coolify-realtime, এবং coolify-proxy সবকটিতে Up রিপোর্ট করতে দেখবেন। Dashboard টি http://<your-ip>:8000 এ পাবেন। অবিলম্বে আপনার admin account তৈরি করুন, কারণ প্রথম অ্যাকাউন্টটি তৈরি না হওয়া পর্যন্ত registration page খোলা থাকে, এবং যে কেউ এটি ব্যবহার করে সার্ভারটি নিয়ন্ত্রণ করতে পারে। এরপর আপনার instance domain সেট করুন এবং একটি wildcard DNS record (*.example.com, অথবা *.apps.example.com) সার্ভারের দিকে পয়েন্ট করুন, যাতে Coolify প্রতিটি deployed app এর জন্য নিজস্ব subdomain দিতে পারে।
প্রথম অ্যাপ যোগ করা। একটি Git source (GitHub, GitLab, অথবা একটি সাধারণ repo URL) কানেক্ট করুন, একটি branch নির্বাচন করুন, domain সেট করুন এবং deploy করুন। Coolify এর বিল্ট-ইন Traefik proxy subdomain রুট করবে এবং certificate রিকোয়েস্ট করবে। সাধারণ সফটওয়্যারের জন্য, Services catalogue মাত্র কয়েক ক্লিকেই সবকিছু deploy করতে পারে: n8n workflow-automation stack যা আপনি হাতে কনফিগার করতে পারতেন সেটি একটি এন্ট্রি মাত্র, এবং Uptime Kuma for status-page monitoring ও তাই।
TLS এবং backups। bundled Traefik এর মাধ্যমে প্রতিটি app এর জন্য স্বয়ংক্রিয় Let's Encrypt সুবিধা রয়েছে, ফলে প্রতিটি deployed subdomain একটি certificate পায়। Backup মূলত database-কেন্দ্রিক: আপনি Postgres এবং MySQL dump গুলো S3-compatible storage এ শিডিউল করতে পারেন। পুরো instance backup (Coolify এর নিজস্ব configuration, যা /data/coolify এর অধীনে থাকে) আরও ম্যানুয়ালি করতে হয়, তাই এটি নিজে এক্সপোর্ট এবং স্টোর করে রাখুন।
খরচ এবং লাইসেন্সিং। self-hosted সংস্করণটি সম্পূর্ণ open-source এবং ফ্রি, এতে অ্যাপের কোনো সীমা নেই। একটি ঐচ্ছিক Coolify Cloud (পেইড) রয়েছে যা আপনার জন্য control plane হোস্ট করে, যেখানে আপনার অ্যাপগুলো আপনার নিজস্ব সার্ভারেই চলবে; এটি সুবিধাজনক কিন্তু বাধ্যতামূলক নয়।
Failure mode, অ্যাপ deploy হয়েছে কিন্তু এর domain লোড হচ্ছে না। http://<ip>:8000 এ dashboard ঠিকঠাক কাজ করছে, build সফল হয়েছে, কিন্তু অ্যাপের নিজস্ব URL একটি connection error অথবা Traefik 404 page not found দিচ্ছে। এর মানে সমস্যাটি proxy অথবা DNS এ, আপনার অ্যাপে নয়। এর দুটি সাধারণ কারণ রয়েছে। প্রথমত, proxy চালু হওয়ার সময় port 80 অথবা 443 ইতিমধ্যে অন্য কাজে ব্যবহৃত হচ্ছিল, তাই Docker error সহ এর container বন্ধ হয়ে গেছে:
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 record নেই, তাই Traefik ওই hostname এর জন্য কোনো request পাচ্ছে না। যদি Coolify এ পুরো সার্ভার কার্ডে "Server is not reachable" লেখা থাকে, তবে সেটি ভিন্ন সমস্যা: Coolify সার্ভারের Docker socket এর সাথে যোগাযোগ করতে পারছে না, যা সাধারণত একটি বন্ধ Docker daemon অথবা একটি ত্রুটিপূর্ণ SSH key এর কারণে হয়। অনুমান করার আগে লগ (logs) থেকে আসল কারণটি পড়ুন:
docker logs coolify-proxy --tail 100Proxy page থেকে এটি ঠিক করুন: Restart Proxy চাপুন, অথবা proxy configuration ডিফল্টে রিসেট করে আবার শুরু করুন, তারপর এটি স্থিতিশীল হতে প্রায় দুই মিনিট অপেক্ষা করুন। port 8000 বিশ্বজুড়ে সবার জন্য উন্মুক্ত না রেখে শুধুমাত্র আপনার নিজস্ব IP থেকে ব্যবহারের উপযোগী রাখুন (অথবা proxy কাজ না করলে সাময়িকভাবে এটি খুলে দিন) — এটি plain HTTP এর মাধ্যমে dashboard প্রদান করে, এবং Coolify এর নিজস্ব docs অনুযায়ী, dashboard যখন নিজস্ব domain এর মাধ্যমে চলে, তখন port 8000, 6001 এবং 6002 বন্ধ করে রাখা যেতে পারে।
একই VPS-এ Resource overhead
কোনো real workload চালানোর আগে, একই 4GB বক্সের idle অবস্থায় এটি পরিমাপ করা হয়েছে। শুধুমাত্র একটি সংখ্যার ওপর নির্ভর না করে free -m এবং docker stats --no-stream দিয়ে আপনার সিস্টেম পরীক্ষা করুন, কারণ আপনার app mix অনুযায়ী মোট overhead পরিবর্তিত হয়।
- CasaOS সবচেয়ে হালকা। এর panel হলো Go services-এর একটি ছোট সেট; আপনার running containers গুলোর অতিরিক্ত প্রায় 150 to 300 MB overhead আশা করতে পারেন।
- Coolify নিজস্ব বেশ কিছু support containers (app, Postgres, Redis, realtime service, এবং Traefik) চালায়, তাই কিছু deploy করার আগে এটি idle অবস্থায় প্রায় 600 MB to 1 GB জায়গা নেয়।
- Cloudron স্থির অবস্থায় (at rest) সবচেয়ে বেশি resource ব্যবহার করে, কারণ আপনি এগুলো ব্যবহার করুন বা না করুন, এটি নিজস্ব nginx, database, mail stack এবং monitoring চালায়; idle অবস্থায় 1 to 1.5 GB বরাদ্দ রাখুন। এই কারণেই এটি সর্বনিম্ন 2GB RAM দাবি করে এবং 4GB RAM-এ আরও ভালোভাবে কাজ করে।
একটি ছোট 2GB VPS-এ, CasaOS real apps-এর জন্য সবচেয়ে বেশি জায়গা রাখে এবং Cloudron সবচেয়ে কম জায়গা রাখে। আপনার প্ল্যান যদি 2GB হয় এবং আপনি mail server সহ Cloudron ব্যবহার করতে চান, তবে বক্সটি upgrade করার পরিকল্পনা করুন।
Updates, backups, and lock-in comparison
Updates. Cloudron আপনার জন্য একটি পরীক্ষিত সময়সূচী অনুযায়ী platform এবং প্রতিটি app আপডেট করে দেয়: এতে আপনার পরিশ্রম সবচেয়ে কম হয়। Coolify একটি মাত্র button দিয়ে তার নিজস্ব dashboard থেকে নিজেকে আপডেট করে। CasaOS তার install script বা apt এর মাধ্যমে panel আপডেট করে, কিন্তু আপনি যে app গুলো ইনস্টল করেছেন সেগুলো আপনাকে নিজেই pull এবং restart করতে হবে।
Lock-in, যা দ্বিতীয় বছরে সমস্যা তৈরি করে। CasaOS সবচেয়ে কম lock-in সম্পন্ন: এর app গুলো সাধারণ Compose project, তাই আপনি docker-compose.yaml এবং /DATA এর নিচের volumes গুলো যেকোনো অন্য host-এ কপি করে ব্যবহার চালিয়ে যেতে পারেন। Coolify মাঝামাঝি অবস্থানে আছে: আপনার deploy গুলো আপনার নিজস্ব Dockerfiles এবং repos, কিন্তু সেগুলোর configuration Coolify-এর database-এ থাকে, তাই host পরিবর্তন করতে হলে আপনাকে অন্য প্রান্তে project গুলো পুনরায় তৈরি করতে হবে। Cloudron সবচেয়ে বেশি lock-in সম্পন্ন: app গুলো Cloudron-packaged, এবং যদিও আপনার data এর চমৎকার backup এর মাধ্যমে সহজেই চলে যায়, কিন্তু packaging চলে যায় না; ফলে আপনাকে গন্তব্য platform-এ পুনরায় deploy করতে হয়। Portable data, non-portable plumbing.
কোনটি আপনার জন্য সঠিক
সংক্ষেপে উত্তরটি হলো, এরপর বিস্তারিত আলোচনা করা হয়েছে। আপনি যদি তিনটি অপশনের মধ্যে সবচেয়ে কম সার্ভার ম্যানেজমেন্ট করতে চান, অনেকগুলো প্যাকেজড অ্যাপ চালাতে চান এবং managed TLS, backups ও updates এর জন্য বার্ষিক ফি দিতে রাজি থাকেন, তবে Cloudron বেছে নিন। আপনি যদি আপনার নিজস্ব নেটওয়ার্কের পেছনে একটি home lab বা reverse proxy তৈরি করতে চান, Docker এর জন্য একটি সহজ ইন্টারফেস চান এবং কোনো টাকা খরচ করতে না চান, তবে CasaOS বেছে নিন। আপনি যদি Git থেকে নিজের কোড deploy করতে চান এবং hosted PaaS এর খরচ ছাড়াই automatic TLS সহ push-to-deploy সুবিধা চান, তবে Coolify বেছে নিন। যদি এই তিনটি অপশনের কোনোটিই আপনার জন্য না হয়, তবে পরবর্তী সেকশনে তার সঠিক উত্তর দেওয়া হয়েছে।
যদি নিচের শর্তগুলো প্রযোজ্য হয়, তবে তিনটিই এড়িয়ে চলুন...
আপনার স্কেল বা পরিধি সম্পর্কে সঠিক ধারণা রাখুন। আপনি যদি মাত্র এক বা দুটি অ্যাপ চালান, অথবা আপনার সার্ভারে ঠিক কী চলছে তা নিয়ন্ত্রণ করতে চান, তবে প্যানেল ব্যবহার করবেন না। ছোট এবং স্থিতিশীল স্ট্যাকের জন্য প্যানেলের ওভারহেড এবং লক-ইন সুবিধা প্রয়োজন নেই। DIY পদ্ধতি হলো আপনার নিজস্ব Compose ফাইলগুলোর সামনে একটি reverse proxy ব্যবহার করা: Traefik with automatic TLS in front of several Docker Compose apps আপনাকে প্যানেলের জটিলতা ছাড়াই এক-ক্লিকে সমতুল্য HTTPS সুবিধা দেবে, এবং আপনি একটি cron'd restic জব দিয়ে ব্যাকআপ নিতে পারবেন যা আপনি নিজে বুঝতে পারবেন।
তুলনার জন্য একটি minimal Traefik-labelled service
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: trueTraefik এই label গুলো পড়ে, hostname রাউট করে এবং সার্টিফিকেট সংগ্রহ করে: প্যানেল যা করে, এটি ঠিক সেই কাজটিই মাত্র কয়েক লাইনের কোডের মাধ্যমে করে যা আপনি সহজেই পড়তে পারবেন।
একটি মাত্র প্রধান অ্যাপের ক্ষেত্রে বিষয়টি আরও স্পষ্ট: Nextcloud install on Docker with TLS and its own backup routine মানে হলো একটি Compose ফাইল এবং একটি সার্টিফিকেট। এটি চালানোর জন্য একটি সম্পূর্ণ অ্যাপ্লায়েন্স সেটআপ করা হবে অতিরিক্ত খরচ এবং কোনো লাভ ছাড়াই। আপনি যদি কী চালাবেন তা ঠিক করার আগেই কীভাবে চালাবেন তা নিয়ে ভাবেন, তবে guide to what is worth self-hosting in 2026 আপনার জন্য আরও ভালো শুরুর স্থান।
FAQ
আমার কি কোনো self-hosting panel প্রয়োজন?
আপনার যদি এমন চারটি কাজের অটোমেশন প্রয়োজন হয় যা একটি প্যানেল বিভিন্ন অ্যাপের জন্য করে থাকে: one-click installs, automatic TLS, scheduled backups, এবং user management; তবেই কেবল প্যানেল প্রয়োজন। মাত্র এক বা দুটি সার্ভিসের জন্য, Traefik এর মাধ্যমে plain Docker Compose ব্যবহার করা অনেক বেশি সাশ্রয়ী এবং এতে কোনো lock-in নেই। যখন আপনি অনেকগুলো অ্যাপ চালাবেন এবং আপনার সময়ের মূল্য প্যানেলের জন্য প্রয়োজনীয় RAM এর চেয়ে বেশি হবে, তখন প্যানেল ব্যবহার করা লাভজনক।
নতুনদের জন্য কোন প্যানেলটি সবচেয়ে ভালো?
যে হোম ল্যাব ইন্টারনেটের জন্য উন্মুক্ত নয়, তার জন্য CasaOS সবচেয়ে সহজ মাধ্যম: এতে কোনো খরচ নেই, একটি কমান্ড এবং একটি সহজ UI রয়েছে। তবে কোনো সার্ভিস ইন্টারনেটে উন্মুক্ত করার আগে অবশ্যই একটি TLS-terminating reverse proxy ব্যবহার করতে হবে, কারণ এটি plain HTTP প্রদান করে। আপনি যদি managed TLS এবং ব্যাকআপ সুবিধা চান এবং এর জন্য অর্থ প্রদান করতে রাজি থাকেন, তবে Cloudron সবচেয়ে সহজ সমাধান, যা এর দুই অ্যাপের ফ্রি লিমিটের মধ্যে পাওয়া যায়।
Cloudron কি ফ্রি?
আংশিকভাবে। এর ফ্রি টায়ারে দুইটি অ্যাপ ব্যবহার করা যায়, যা পরীক্ষা করার জন্য বা খুব ছোট সেটআপের জন্য যথেষ্ট। এর বাইরে Cloudron একটি পেইড সাবস্ক্রিপশন, যা মাসিক বা বার্ষিক ভিত্তিতে বিল করা হয় এবং পেইড টায়ারে আনলিমিটেড অ্যাপ ব্যবহার করা যায়। এটি একটি বাণিজ্যিক পণ্য যার একটি নির্দিষ্ট ফ্রি প্ল্যান আছে, এটি কোনো free software নয়; তাই আপনার স্ট্যাক বড় হলে এর জন্য বাজেট রাখুন।
আমি কি আমার বিদ্যমান অ্যাপগুলোর সাথে এই প্যানেলগুলো চালাতে পারি?
Cloudron: না। এর জন্য একটি clean Ubuntu box প্রয়োজন এবং যদি nginx, Docker বা Node আগে থেকেই ইনস্টল করা থাকে তবে এটি কাজ করবে না, কারণ এটি পুরো মেশিনটি পরিচালনা করে। CasaOS এবং Coolify ব্যবহার করা সহজ, কারণ তারা তাদের নিজস্ব Docker stack ইনস্টল করে এবং তাত্ত্বিকভাবে একই মেশিনে থাকতে পারে, কিন্তু উভয় প্যানেলই port 80 এবং 443 ব্যবহার করতে চায়, তাই আপনার বিদ্যমান যেকোনো web server বা proxy এর সাথে এদের সংঘর্ষ (collision) হবে। যে মেশিনে ইতিমধ্যে সার্ভিস চলছে, সেখানে প্যানেল ব্যবহার করা সাধারণত সঠিক সিদ্ধান্ত নয়; এর পরিবর্তে Traefik এবং Compose ব্যবহার করুন।
পরবর্তীতে আমি প্যানেল থেকে কীভাবে বের হব?
প্রয়োজনের আগেই প্রস্থানের পরিকল্পনা করে রাখুন। CasaOS থেকে, অ্যাপের docker-compose.yaml এবং এর /DATA volumes নতুন হোস্ট-এ কপি করুন এবং পুনরায় চালু করুন। Coolify থেকে, প্রতিটি প্রজেক্টের কনফিগারেশন এক্সপোর্ট করুন এবং গন্তব্যস্থলের একই repos-এর সাথে যুক্ত করুন। Cloudron থেকে, নতুন প্ল্যাটফর্মে নতুন করে ইনস্টল করা অ্যাপে ব্যাকআপ থেকে ডেটা রিস্টোর করুন, কারণ Cloudron packaging স্থানান্তর করা যায় না, শুধুমাত্র ডেটা স্থানান্তর করা যায়। প্রতিটি ক্ষেত্রে, পুরনো সিস্টেমটি মুছে ফেলার আগে একটি পরীক্ষামূলক (throwaway) বক্সে রিস্টোর প্রক্রিয়াটি পরীক্ষা করে নিন।