VPS-এ Cloudron বনাম CasaOS বনাম Coolify: কোনটি ভালো?
Cloudron, CasaOS ও Coolify-এর install command, TLS, backup, খরচ এবং RAM overhead তুলনা করুন। Ubuntu 24.04 VPS-এ কোন panel আপনার জন্য উপযুক্ত, তা জানুন।
আপনি যা তৈরি করছেন
আপনি শুধু একটি tool install করছেন না; একই সঙ্গে একটি tool বেছে নিচ্ছেন। তিনটি panel একটি খালি VPS-কে point-and-click app host-এ পরিণত করার প্রতিশ্রুতি দেয়: Cloudron, CasaOS, এবং Coolify। এই guide-এ প্রতিটিকে একই fresh Ubuntu 24.04 server-এ ব্যবহার করা হবে, প্রথমে একটি app install করা হবে, তারপর এমন বিষয়গুলো বিস্তারিতভাবে পরীক্ষা করা হবে যেগুলো সাধারণত screenshot-এ দেখা যায় না: TLS, backup, update, memory cost এবং পরে platform ছেড়ে বের হওয়া কতটা কঠিন। শেষে আপনি বুঝতে পারবেন কোনটি আপনার জন্য উপযুক্ত, অথবা সৎ উত্তরটি হবে: "কোনোটিই নয়, শুধু Docker Compose ব্যবহার করুন।"
এর কোনোটিই magic নয়। তিনটির নিচেই একই Docker Engine রয়েছে, যেটি আপনি হাতে পরিচালনা করতে পারেন। একটি panel আপনার কাছ থেকে অর্থ, RAM বা lock-in-এর বিনিময়ে মূলত চারটি কাজ করে দেয়: one-click app install, automatic TLS certificate, scheduled backup এবং user management। এই চারটি সুবিধার জন্য যদি অতিরিক্ত overhead গ্রহণ করা আপনার কাছে যুক্তিসঙ্গত হয়, তাহলে panel ব্যবহার করা সার্থক। আপনি যদি এক বা দুটি service চালান এবং server-এ ঠিক কী চলছে তা নিজে জানতেই পছন্দ করেন, তাহলে আগে "তিনটিই বাদ দিন" section পড়ুন এবং অপ্রয়োজনীয় ঝামেলা এড়ান।
সবার জন্য প্রয়োজনীয় পূর্বশর্ত এবং বাস্তব সীমাবদ্ধতা
তিনটিই KVM VPS ধরে নেয়, container virtualization নয়। Docker-এর জন্য একটি প্রকৃত kernel প্রয়োজন, এবং Cloudron সরাসরি OpenVZ ও LXC প্রত্যাখ্যান করে। systemd-detect-virt দিয়ে পরীক্ষা করুন: kvm অথবা qemu গ্রহণযোগ্য, কিন্তু openvz অথবা lxc গ্রহণযোগ্য নয়। KVM plan-এ command-টি kvm দেখায়, আর bare metal-এ none দেখায়; যেকোনো একটির অর্থ হলো আপনি এগিয়ে যেতে পারেন।
এর বাইরে প্রয়োজনীয়তার সংখ্যাগুলো ভিন্ন, এবং পছন্দ নির্ধারণে এটিই প্রথম বিবেচ্য বিষয়।
- RAM। CasaOS 1GB RAM-এ স্বচ্ছন্দে চলে; এটি Raspberry Pi hardware-কে লক্ষ্য করে তৈরি হয়েছে এবং হালকা থাকে। Coolify-এর ন্যূনতম প্রয়োজন 2GB RAM ও 2টি CPU core; এর মধ্যে প্রায় 600 MB Coolify নিজেই ব্যবহার করে। Cloudron-এর ন্যূনতম প্রয়োজন 2GB RAM, তবে 4GB-এ এটি প্রকৃতপক্ষে ভালো চলে, কারণ একটি app install করার আগেই এটি mail server ও database চালায়।
- আপনার নিয়ন্ত্রণাধীন একটি domain ও DNS। Cloudron এবং Coolify উভয়েরই কার্যকর DNS-সহ একটি প্রকৃত domain প্রয়োজন। Cloudron-এর ক্ষেত্রে DNS provider-এর API access থাকা আদর্শ, যাতে এটি নিজে records ও wildcard certificates তৈরি করতে পারে। CasaOS bare IP-তে চলবে, কিন্তু সে ক্ষেত্রে কোনো TLS পাবেন না।
- Ports। HTTP ও HTTPS-এর জন্য তিনটিরই 80 এবং 443 open থাকতে হবে। Coolify অতিরিক্তভাবে 8000 port-এ dashboard পরিবেশন করে এবং realtime channel-এর জন্য 6001, আর in-browser terminal-এর জন্য 6002 ব্যবহার করে। প্রতিটির জন্য SSH-এর 22 port open রাখুন।
শুরু করার আগে DNS-কে server-এর দিকে নির্দেশ করুন। যে panel নিজের hostname resolve করতে পারে না, সেটি certificate request করতে পারে না। ফলে software-এর পরিবর্তে প্রথম ঘণ্টা DNS debugging-এ ব্যয় হবে। Server IP-এর দিকে একটি A record নির্দেশ করুন। Coolify-এর জন্য একটি wildcard record (*.apps.example.com) যোগ করুন, যাতে প্রতিটি deployed app নিজের subdomain পায়।
Cloudron: পরিমার্জিত, নির্দিষ্ট মতাদর্শের appliance
এটি কী। Cloudron একটি commercial platform, যা পুরো সার্ভারকে managed appliance-এ রূপান্তর করে। এটি নিজস্ব reverse proxy, database এবং mail stack চালায়। এর সঙ্গে packaged app-এর একটি বাছাই করা App Store থাকে, যেমন Nextcloud, WordPress, Gitea, Mattermost এবং আরও অনেক কিছু। যাঁরা automatic update, automatic certificate এবং automatic backup-সহ তাঁদের app managed অবস্থায় রাখতে চান এবং এর জন্য অর্থ দিতে প্রস্তুত, Cloudron তাঁদের জন্য তৈরি।
Install। এটি একটি clean server প্রয়োজন করে এবং সার্ভারের সম্পূর্ণ নিয়ন্ত্রণ নেয়। একটি fresh Ubuntu 24.04 (Noble) server-এ নিচের command চালান। সার্ভারে অন্য কিছু থাকা যাবে না:
wget https://cloudron.io/cloudron-setup
chmod +x cloudron-setup
sudo ./cloudron-setupএই script Docker, nginx, database এবং mail stack install করে। এরপর সার্ভার reboot হয়। সার্ভার ফিরে এলে https://<your-ip> খুলুন, অস্থায়ী self-signed certificate গ্রহণ করুন এবং browser-এ setup শেষ করুন। আপনার domain নির্ধারণ করুন, DNS provider বেছে নিন, এবং Cloudron my.example.com-এ নিজস্ব dashboard তৈরি করবে।
প্রথম app যোগ করা। Dashboard-এ App Store খুলুন। উদাহরণ হিসেবে Nextcloud-এ click করুন, files.example.com subdomain বেছে নিন এবং Install চাপুন। Cloudron DNS record তৈরি করে, Let's Encrypt certificate-এর জন্য request পাঠায়, database provision করে, single sign-on সংযুক্ত করে এবং backup schedule করে। এর কোনোটির জন্য আপনাকে config file সম্পাদনা করতে হয় না। Cloudron-এর মূল সুবিধা এটাই, এবং এটি সেই সুবিধা দেয়।
TLS এবং backup। এই তিনটির মধ্যে Cloudron-এর ব্যবস্থা সবচেয়ে শক্তিশালী। প্রতিটি app subdomain স্বয়ংক্রিয়ভাবে Let's Encrypt certificate পায় এবং Cloudron সেটি আপনার হয়ে renew করে। Backup আগে থেকেই schedule করা থাকে এবং built in থাকে। এগুলো local directory, S3 বা অন্য remote storage-এ রাখা যায়। প্রতিটি app আলাদাভাবে restore করা যায়। এমনকি নতুন subdomain-এ app clone করাও one-click পদ্ধতিতে করা যায়।
খরচ ও licensing: commit করার আগে এটি পড়ুন। Cloudron একটি capped free tier-সহ paid product। Free plan-এ দুটি app চালানোর অনুমতি রয়েছে। তৃতীয় app install করলে paywall-এ পৌঁছে যাবেন। Paid subscription (Pro অথবা Max, monthly বা yearly billing, উভয় ক্ষেত্রেই unlimited apps) নিলে আরও সুবিধা unlock হয়। Cloudron সম্পর্কে এটিই সবচেয়ে গুরুত্বপূর্ণ তথ্য। এটি polished কারণ এটি একটি business। Free tier-কে বাড়তে থাকা stack-এর স্থায়ী platform-এর চেয়ে extended trial হিসেবে দেখা বেশি সঠিক।
ব্যর্থতার ধরন, clean-box rule। আগে থেকেই কোনো কিছু চলমান থাকা server-এ Cloudron install করার চেষ্টা করলে setup কোনো পরিবর্তন করার আগেই abort হয়:
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-এর নির্দিষ্ট version স্থির করে এবং এগুলোর সঙ্গে গভীরভাবে integrate করে। তাই আপনার নিজস্ব copy-গুলোর সঙ্গে এটি coexist করতে পারে না। সমাধান হলো একটি fresh Ubuntu 24.04 image এবং আর কিছু নয়। কোনো web server নয়, Docker নয়, এমনকি হাতে configure করা firewall-ও নয়। ভুল image দিয়ে boot করলে supported Ubuntu LTS ছাড়া অন্য কোনো image-ও setup গ্রহণ করবে না। x86-64-এ 22.04 বা 24.04 সমর্থিত। ARM, LXC এবং OpenVZ সরাসরি unsupported।
দ্বিতীয় ব্যর্থতার ধরন, wildcard certificate-এর জন্য DNS API প্রয়োজন। Setup-এর সময় Cloudron-কে API token না দিয়ে "Manual" DNS option বেছে নিলে এটি আপনার হয়ে record তৈরি করতে বা wildcard certificate নিতে পারবে না। এরপর প্রতিটি নতুন app-এর জন্য certificate issue করার আগে আপনাকে হাতে DNS record যোগ করতে হবে। Dashboard সেই record-এর জন্য অপেক্ষা করে থাকবে। Supported DNS provider-এ Cloudron-কে API access দিন, যেমন Cloudflare, Route 53 বা DigitalOcean। তাহলে পুরো workflow one-click হয়ে যাবে।
CasaOS: বিনামূল্যের home-lab dashboard
এটি কী। IceWhale-এর CasaOS হলো একটি বিনামূল্যের open-source dashboard, যা Docker-এর ওপর কাজ করে এবং আপনাকে একটি home screen, app store ও file manager দেয়। এটি home-server পরিবেশ থেকে তৈরি হয়েছে। তাই এর মূল লক্ষ্য home-lab: দ্রুত setup, সহজ UI এবং কম আনুষ্ঠানিকতা। যারা কাউকে অর্থ না দিয়ে Docker-এর জন্য আরও সুন্দর interface চান, এটি তাদের জন্য।
Install। একটি command-ই যথেষ্ট, এবং এটি clean box দাবি করে না:
curl -fsSL https://get.casaos.io | sudo bashInstaller একাধিক systemd service (casaos, casaos-gateway, casaos-app-management এবং অন্যান্য) যোগ করে। Browser খোলার আগে gateway চালু হয়েছে কি না নিশ্চিত করুন:
systemctl status casaos-gatewayচালু হলে dashboard পাওয়া যাবে http://<your-ip>-এ (plain HTTP, port 80)। একটি local account তৈরি করলেই ব্যবহার শুরু করতে পারবেন।
প্রথম app যোগ করা। App Store খুলে একটি app বেছে Install-এ click করুন। CasaOS আড়ালে একটি Docker Compose project তৈরি করে এবং app-টিকে host port-এ প্রকাশ করে, যেমন http://<your-ip>:8080। এর store-এ সাধারণ home-server app-গুলোর তালিকা থাকে। তাই VPS-এ Jellyfin media server অথবা self-hosted Immich photo library কয়েক click-এই চালু করা যায়। আপনি যদি এখনও photo server নির্বাচন না করে থাকেন, তাহলে PhotoPrism ও Immich-এর পার্থক্য নির্ধারণকারী RAM floor এবং phone app আগে পড়ে নিন। কারণ 1GB CasaOS box-এ এই সিদ্ধান্তেই নির্ধারিত হয় app আদৌ চলবে কি না। আপনি ইচ্ছামতো যেকোনো docker-compose.yaml-ও import করতে পারেন। এটাই এর মূল শক্তি: app-গুলো proprietary format নয়, সাধারণ container।
TLS এবং backup: দুর্বল দিক। এখানেই "free" ব্যবহারের সীমাবদ্ধতা দেখা যায়। CasaOS default হিসেবে সবকিছু plain HTTP-তে পরিবেশন করে, নিজের dashboard-সহ। এতে built-in Let's Encrypt নেই, scheduled backup-ও নেই। আপনার data /DATA-এর অধীনে Docker volume-এ থাকে। Backup নেওয়ার দায়িত্ব আপনার (cron-এ চালানো restic অথবা tar)।
ব্যর্থতার ধরন, TLS নেই এবং কোনো সতর্কতাও দেখা যায় না। কোনো error দেখা যায় না। আপনি একটি app install করে http://<your-ip>:8080 খুললে এটি কাজ করবে, তবে encrypted নয় এমন connection-এ। Browser এটিকে "Not Secure." হিসেবে চিহ্নিত করবে। Password এবং session cookie cleartext অবস্থায় network-এর মধ্য দিয়ে যাবে। আরও গুরুতর বিষয় হলো, CasaOS dashboard-এ বাস্তব remote-code-execution vulnerability ছিল (CVE-2023-37265 এবং CVE-2023-37266; একটি authentication bypass, যা chain হয়ে সম্পূর্ণ host compromise ঘটাতে পারত)। তাই ওই HTTP port সরাসরি Internet-এ প্রকাশ করা প্রকৃত নিরাপত্তাঝুঁকি, শুধু পছন্দের বিষয় নয়। সমাধান হলো CasaOS-কে কখনো সরাসরি Internet-এ প্রকাশ না করা। সামনে TLS termination করা একটি reverse proxy বসান, যেমন Certbot দিয়ে Let's Encrypt certificate-সহ nginx, Caddy অথবা Cloudflare Tunnel। তারপর local network-এর মধ্যে থাকা CasaOS-এ অনুরোধ forward করুন। মনে রাখবেন, CasaOS ইতিমধ্যে port 80-এ bind করে। তাই আগে CasaOS-কে অন্য port-এ সরানো না হলে proxy এবং CasaOS একই port ব্যবহারের জন্য পরস্পরের সঙ্গে সংঘর্ষে পড়বে।
খরচ। এটি সত্যিই বিনামূল্যে এবং স্থায়ীভাবে বিনামূল্যে, কোনো app cap নেই। তবে operations-এর দায়িত্ব আপনার: TLS, backup এবং hardening আপনাকেই পরিচালনা করতে হবে।
Coolify: self-hosted PaaS
এটি কী। Coolify একটি open-source, self-hosted platform-as-a-service। এটি আপনার নিজস্ব সার্ভারে Heroku বা Vercel-এর মতো কাজ করে। এর মূল একক হলো “এই packaged app-টি install করুন” নয়, বরং “এই Git repository-টি deploy করুন”। একটি repository সংযুক্ত করলে Coolify সেটি Nixpacks অথবা আপনার নিজস্ব Dockerfile ব্যবহার করে build ও deploy করে। প্রতিবার push হলে এটি আবার deploy হয়। এতে one-click database ও service-ও রয়েছে। যারা নিজেদের code deploy করেন এবং কোনো PaaS ভাড়া না নিয়ে push-to-deploy সুবিধা চান, Coolify তাদের জন্য তৈরি।
Install।
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashএই script Docker install করে এবং Coolify-এর নিজস্ব container stack চালু করে। পরবর্তী ধাপে যাওয়ার আগে এগুলো healthy কি না পরীক্ষা করুন:
docker ps --format 'table {{.Names}}\t{{.Status}}'coolify, coolify-db, coolify-redis, coolify-realtime এবং coolify-proxy-এর প্রতিটিতে Up দেখানো উচিত। Dashboard পাওয়া যাবে http://<your-ip>:8000-এ। অবিলম্বে আপনার admin account তৈরি করুন, কারণ প্রথম account তৈরি না হওয়া পর্যন্ত registration page খোলা থাকে। যে ব্যক্তি আগে সেখানে পৌঁছাবে, সে server নিয়ন্ত্রণ করতে পারবে। এরপর আপনার instance domain নির্ধারণ করুন এবং একটি wildcard DNS record (*.example.com অথবা *.apps.example.com) এই server-এর দিকে নির্দেশ করুন, যাতে Coolify প্রতিটি deployed app-এর জন্য আলাদা subdomain দিতে পারে।
প্রথম app যোগ করা। একটি Git source (GitHub, GitLab অথবা সাধারণ repo URL) সংযুক্ত করুন, branch নির্বাচন করুন, domain নির্ধারণ করুন এবং deploy করুন। Coolify-এর অন্তর্নির্মিত Traefik proxy subdomain-এর request route করে এবং certificate-এর জন্য অনুরোধ করে। আগে থেকে প্রস্তুত software-এর জন্য Services catalogue থেকে কয়েকটি click-এ service deploy করা যায়। একই n8n workflow-automation stack, যা অন্যথায় নিজে হাতে configure করতে হতে পারে, একটি entry হিসেবে রয়েছে। Status-page monitoring-এর জন্য Uptime Kuma-ও একইভাবে রয়েছে।
TLS এবং backup। Bundled Traefik-এর মাধ্যমে প্রতিটি app-এর জন্য স্বয়ংক্রিয় Let's Encrypt certificate তৈরি হয়। Backup-এর ক্ষেত্রে database-কে অগ্রাধিকার দেওয়া হয়। আপনি Postgres এবং MySQL dump S3-compatible storage-এ নির্ধারিত সময়সূচি অনুযায়ী সংরক্ষণ করতে পারেন। সম্পূর্ণ instance-এর backup, অর্থাৎ /data/coolify-এর অধীনে থাকা Coolify configuration, তুলনামূলকভাবে বেশি manual। তাই এটি নিজে export করে সংরক্ষণ করুন।
খরচ ও licensing। Self-hosted edition সম্পূর্ণ open-source এবং free। এতে app-এর কোনো cap নেই। ঐচ্ছিক Coolify Cloud (paid) control plane আপনার হয়ে host করে, আর আপনার app-গুলো আপনার নিজস্ব server-এ চলতে থাকে। এটি সুবিধাজনক, তবে আবশ্যক নয়।
সমস্যার ধরন: app deploy হয়, কিন্তু তার domain load হয় না। http://<ip>:8000-এ dashboard ঠিকমতো কাজ করছে, build সফল হয়েছে, কিন্তু app-এর নিজস্ব URL connection error অথবা Traefik-এর 404 page not found দেখাচ্ছে। এতে বোঝা যায় সমস্যা proxy অথবা DNS-এ, app-এ নয়। দুটি সাধারণ কারণ রয়েছে। প্রথমত, proxy start করার সময় port 80 অথবা 443 আগে থেকেই ব্যবহৃত ছিল। ফলে এর container Docker error-সহ বন্ধ হয়ে যায়:
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 card-এ "Server is not reachable" দেখা গেলে এটি ভিন্ন সমস্যা। Coolify server-এর Docker socket-এর সঙ্গে যোগাযোগ করতে পারছে না। সাধারণত Docker daemon বন্ধ থাকা অথবা SSH key নষ্ট হওয়া এর কারণ। অনুমান করার আগে log-এ প্রকৃত কারণ দেখুন:
docker logs coolify-proxy --tail 100Proxy page থেকে সমস্যাটি ঠিক করুন। Restart Proxy চাপুন, অথবা proxy configuration default-এ reset করে আবার start করুন। এরপর স্থিতিশীল হতে প্রায় দুই মিনিট অপেক্ষা করুন। Port 8000 শুধু আপনার নিজের IP থেকে reachable রাখুন। Proxy-তে সমস্যা হলে সাময়িকভাবে এটি আবার খুলতে পারেন। এটি plain HTTP-তে dashboard পরিবেশন করে, তাই সবার জন্য উন্মুক্ত রেখে দেবেন না। Coolify-এর নিজস্ব documentation অনুযায়ী dashboard তার নিজস্ব domain-এর মাধ্যমে পরিবেশন করা হলে port 8000, 6001 এবং 6002 বন্ধ রাখা যায়।
একই VPS-এ resource overhead
একই 4GB সার্ভারে কোনো বাস্তব workload deploy করার আগে idle অবস্থায় এই পরিমাপ করা হয়েছে। একটি মাত্র সংখ্যার ওপর নির্ভর না করে free -m এবং docker stats --no-stream দিয়ে নিজের সিস্টেম পরীক্ষা করুন, কারণ আপনার app mix অনুযায়ী মোট ব্যবহার পরিবর্তিত হবে।
- CasaOS সবচেয়ে হালকা। এর panel কয়েকটি ছোট Go service নিয়ে গঠিত। আপনার চালানো container-এর অতিরিক্ত প্রায় 150 থেকে 300 MB overhead ধরুন।
- Coolify নিজস্ব কয়েকটি support container চালায়—app, একটি Postgres, একটি Redis, একটি realtime service এবং Traefik। তাই কোনো কিছু deploy করার আগেই idle অবস্থায় এর ব্যবহার প্রায় 600 MB থেকে 1 GB থাকে।
- Cloudron idle অবস্থায় সবচেয়ে বেশি resource ব্যবহার করে। কারণ আপনি সেগুলো ব্যবহার না করলেও এটি নিজস্ব nginx, database, mail stack এবং monitoring চালায়। Idle অবস্থায় 1 থেকে 1.5 GB বরাদ্দ রাখুন। এ কারণেই এটি minimum 2GB চায় এবং 4GB-এ বেশি স্বাচ্ছন্দ্যে চলে।
ছোট 2GB VPS-এ CasaOS বাস্তব app চালানোর জন্য সবচেয়ে বেশি resource খালি রাখে, আর Cloudron সবচেয়ে কম রাখে। আপনার পরিকল্পনা যদি 2GB VPS নিয়ে Cloudron-এর mail server চালানো হয়, তাহলে সার্ভার upgrade করার পরিকল্পনা করুন।
আপডেট, ব্যাকআপ এবং lock-in-এর তুলনা
আপডেট। Cloudron আপনার জন্য একটি পরীক্ষিত schedule অনুযায়ী platform এবং প্রতিটি app আপডেট করে। এতে আপনার পরিশ্রম সবচেয়ে কম এবং নির্দেশিত সহায়তা সবচেয়ে বেশি। Coolify-এর নিজস্ব dashboard থেকে একটি button ব্যবহার করে নিজেকেই আপডেট করা যায়। CasaOS তার install script অথবা apt-এর মাধ্যমে panel আপডেট করে। তবে আপনি যে app-গুলো install করেছেন, সেগুলো pull করে restart করার দায়িত্ব আপনার।
Lock-in, যা দ্বিতীয় বছরে সমস্যার কারণ হয়। CasaOS-এ lock-in সবচেয়ে কম। এর app-গুলো সাধারণ Compose project। তাই docker-compose.yaml এবং /DATA-এর অধীনে থাকা volume অন্য host-এ copy করে সেখান থেকে কাজ চালিয়ে যেতে পারেন। Coolify মাঝামাঝি অবস্থানে আছে। আপনার deploy-গুলো নিজস্ব Dockerfile এবং repo ব্যবহার করে। তবে তাদের configuration Coolify-এর database-এ থাকে। তাই host পরিবর্তন করলে অন্য পাশে project-গুলো পুনরায় তৈরি করতে হয়। Cloudron-এ lock-in সবচেয়ে বেশি। app-গুলো Cloudron-packaged। আপনার data তার উন্নত backup ব্যবস্থার মাধ্যমে সহজেই সরানো যায়। কিন্তু packaging সরানো যায় না। তাই destination platform-এ পুনরায় deploy করতে হয়। Data portable, কিন্তু plumbing portable নয়।
কোনটি বেছে নেওয়া উচিত
সংক্ষেপে, তারপর বিকল্প পথের কথা। আপনি যদি তিনটির মধ্যে সবচেয়ে কম হাতে-কলমে পরিচালনা করতে হয় এমন server চান, একাধিক packaged app চালান, এবং managed TLS, backup ও update-এর জন্য বার্ষিক fee দিতে প্রস্তুত থাকেন, তাহলে Cloudron বেছে নিন। এটি যদি আপনার নিজস্ব network বা reverse proxy-এর পেছনে থাকা একটি home lab হয়, Docker ব্যবহারের জন্য সহজ interface চান, এবং কোনো খরচ করতে না চান, তাহলে CasaOS বেছে নিন। আপনি যদি Git থেকে নিজের code deploy করেন এবং hosted PaaS-এর খরচ ছাড়াই automatic TLS-সহ push-to-deploy চান, তাহলে Coolify বেছে নিন। এই তিনটির কোনোটিই আপনার প্রয়োজনের সঙ্গে না মিললে, পরের section-এ সরাসরি উত্তরটি দেওয়া হয়েছে।
শুধু তিনটিই এড়িয়ে চলুন যদি...
আপনার ব্যবহারের পরিসর সম্পর্কে বাস্তবসম্মত থাকুন। আপনি যদি মাত্র একটি বা দুটি অ্যাপ চালান, অথবা আপনার সার্ভারে ঠিক কী চলছে তা নিজে বুঝে নিয়ন্ত্রণ করতে চান, তাহলে management panel এড়িয়ে চলুন। ছোট ও স্থিতিশীল stack-এর ক্ষেত্রে অতিরিক্ত overhead এবং vendor lock-in-এর মূল্য সঙ্গত নয়। নিজে পরিচালনার পদ্ধতিতে আপনার নিজস্ব Compose file-এর সামনে একটি reverse proxy থাকে: একাধিক Docker Compose অ্যাপের সামনে automatic TLS-সহ Traefik ব্যবহার করলে panel-এর ভার ছাড়াই এক-ক্লিকের সমতুল্য HTTPS পাওয়া যায়, আর আপনি এমন একটি cron-নির্ধারিত restic job দিয়ে backup করেন, যার কাজ আপনি সত্যিই বোঝেন।
তুলনার জন্য Traefik label-যুক্ত একটি ন্যূনতম 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 অনুযায়ী অনুরোধ পাঠায় এবং certificate সংগ্রহ করে: panel যে কাজটি করে, সেটিই কয়েকটি পড়ে বোঝা যায় এমন লাইনে করা হয়।
শুধু একটি প্রধান অ্যাপের ক্ষেত্রে বিষয়টি আরও স্পষ্ট: TLS এবং নিজস্ব backup routine-সহ Docker-এ Nextcloud install করতে একটি Compose file এবং একটি certificate-ই যথেষ্ট। এটি চালানোর জন্য সম্পূর্ণ appliance স্থাপন করলে খরচ হবে, কিন্তু অতিরিক্ত কোনো সুবিধা পাওয়া যাবে না। আপনি কীভাবে চালাবেন তা ঠিক করার আগে যদি এখনও কী চালাবেন তা নির্ধারণ করছেন, তাহলে 2026 সালে self-hosting করার মতো বিষয়গুলোর guide দিয়ে শুরু করাই ভালো।
FAQ
আমার কি আদৌ self-hosting panel দরকার?
শুধু তখনই দরকার, যদি একাধিক অ্যাপের জন্য panel যে চারটি কাজ স্বয়ংক্রিয় করে সেগুলোর মূল্য আপনার কাছে থাকে: one-click install, automatic TLS, scheduled backup এবং user management। একটি বা দুটি service-এর ক্ষেত্রে Traefik-এর পেছনে সাধারণ Docker Compose ব্যবহার করলেই অনেক কম overhead এবং কোনো lock-in ছাড়াই একই TLS কাজ করা যায়। আপনি যখন অনেক অ্যাপ চালান এবং panel-এর RAM খরচের চেয়ে আপনার সময়ের মূল্য বেশি, তখন panel ব্যবহার লাভজনক হয়।
beginner-এর জন্য কোন panel সবচেয়ে ভালো?
এমন home lab-এর জন্য যা hostile Internet-এর কাছে exposed নয়, CasaOS দিয়ে শুরু করা সবচেয়ে সহজ: একটি command এবং একটি ব্যবহারবান্ধব UI, কোনো bill নেই। তবে কোনো কিছু expose করার আগে সামনে TLS-terminating reverse proxy বসাতে হবে, কারণ এটি plain HTTP ব্যবহার করে। আপনি যদি managed TLS এবং backup অন্যের ব্যবস্থাপনায় চান এবং এর জন্য অর্থ দিতে প্রস্তুত থাকেন, তাহলে Cloudron সবচেয়ে বেশি সহায়তা দেয়, তবে এর two-app free limit-এর মধ্যে।
Cloudron কি free?
আংশিকভাবে। free tier-এ two apps চালানো যায়, যা পরীক্ষা করার জন্য বা খুব ছোট setup-এর ক্ষেত্রে যথেষ্ট। এর বেশি হলে Cloudron paid subscription; মাসিক বা বার্ষিক billing হয়, এবং paid tier-এ unlimited apps থাকে। এটি capped free plan-সহ একটি commercial product, free software নয়। তাই আপনার stack বড় হলে এর জন্য budget রাখুন।
আমার existing apps-এর পাশাপাশি কি এই panel-গুলো চালাতে পারি?
Cloudron: না। এটির জন্য clean Ubuntu box প্রয়োজন এবং nginx, Docker বা Node আগে থেকেই installed থাকলে এটি abort করে, কারণ এটি পুরো machine পরিচালনা করে। CasaOS এবং Coolify তুলনামূলকভাবে বেশি উপযোগী, কারণ তারা নিজেদের Docker stack install করে এবং নীতিগতভাবে একই box share করতে পারে। তবে উভয়ই port 80 এবং 443 ব্যবহার করতে চায়, তাই আপনার চালু থাকা web server বা proxy-এর সঙ্গে conflict হবে। যে box-এ ইতিমধ্যে অন্যান্য service আছে, সেখানে panel সাধারণত সঠিক tool নয়; তার বদলে Traefik এবং Compose ব্যবহার করুন।
পরে panel বাদ দিয়ে কীভাবে কাজ চালাব?
যখন প্রয়োজন হবে তার আগে exit plan তৈরি করুন। CasaOS থেকে app-এর docker-compose.yaml এবং এর /DATA volume নতুন host-এ copy করে আবার start করুন। Coolify থেকে প্রতিটি project-এর configuration export করুন এবং destination-এ একই repo-গুলোর দিকে point করুন। Cloudron থেকে নতুন platform-এ freshly installed app-এ এর backup থেকে data restore করুন, কারণ Cloudron-এর packaging স্থানান্তর করা যায় না; শুধু data স্থানান্তর করা যায়। প্রতিটি ক্ষেত্রেই পুরোনোটি বন্ধ করার আগে একটি অস্থায়ী box-এ restore পরীক্ষা করুন।