Cloudron、CasaOS、Coolify VPS 比較怎麼選?
比較 Cloudron、CasaOS 與 Coolify 在 VPS 上的安裝指令、TLS、備份、費用與資源用量,涵蓋 Ubuntu 24.04、RAM 需求及 Docker Compose 替代方案。
建置內容
選擇工具和安裝工具同樣重要。Cloudron、CasaOS 與 Coolify 都宣稱能把一台全新的 VPS 變成點選操作的應用程式主機。本指南會在同一台全新的 Ubuntu 24.04 伺服器上安裝這 3 個平台,分別部署第 1 個應用程式,然後仔細檢視很少有人放進截圖的部分:TLS、備份、更新、記憶體成本,以及日後脫離平台的難易度。讀完後,你會知道哪個平台適合自己;也可能得到誠實的答案:「一個都不要,直接使用 Docker Compose。」
這些平台都不是魔法。3 者底層使用的都是相同的 Docker Engine,你也可以自行操作。平台讓你付出的代價可能是費用、RAM 或廠商綁定,換來的是代為處理 4 項工作:一鍵安裝應用程式、自動管理 TLS 憑證、排程備份,以及使用者管理。 如果這 4 項功能值得你承擔實際的額外負擔,使用平台就有價值。如果你只執行 1 或 2 個服務,而且希望確切掌握伺服器上的內容,請先閱讀「跳過這 3 個平台」一節,省下不必要的麻煩。
共用前置條件與必須正視的問題
這 3 種方案都假設使用 KVM VPS,而不是容器虛擬化。Docker 需要實際的 kernel,而 Cloudron 會直接拒絕 OpenVZ 與 LXC。使用 systemd-detect-virt 檢查:kvm 或 qemu 代表環境符合要求,openvz 或 lxc 則不符合。在 KVM 方案上,該命令會輸出 kvm;在裸機上則會輸出 none。這兩種結果都表示可以繼續。
除此之外,各方案的需求不同,這是選擇方案時首先需要考量的因素。
- RAM。 CasaOS 在 1GB RAM 上即可順暢執行;它源自 Raspberry Pi 硬體,資源需求仍然很低。Coolify 至少需要 2GB RAM 與 2 個 CPU 核心,其中約 600 MB 由 Coolify 本身使用。Cloudron 至少需要 2GB RAM,但使用 4GB 會更穩定,因為即使尚未安裝任何應用程式,它也會先執行 mail server 與 database。
- 你能控制的網域與 DNS。 Cloudron 與 Coolify 都需要具備正常 DNS 設定的實際網域。Cloudron 最好能存取 DNS provider 的 API,讓它自行建立記錄與 wildcard 憑證。CasaOS 可直接使用裸 IP 執行,但這樣完全無法使用 TLS。
- 連接埠。 這 3 種方案都需要開放 80 與 443,以提供 HTTP 與 HTTPS。Coolify 另外會在 8000 提供 dashboard,並使用 6001 作為 realtime channel、使用 6002 作為瀏覽器內 terminal。這 3 種方案都必須保留 22 供 SSH 使用。
開始前,先將 DNS 指向該伺服器。無法解析自身 hostname 的控制面板無法申請憑證,你會在第一個小時持續排查這個問題,而不是安裝軟體。建立指向伺服器 IP 的 A record;使用 Coolify 時,另外建立 wildcard record(*.apps.example.com),讓每個部署的應用程式都能使用自己的子網域。
Cloudron:精緻且具明確取向的 appliance
它是什麼。 Cloudron 是商業平台,能將整台伺服器轉變為受管理的 appliance。它會自行執行 reverse proxy、資料庫與 mail stack,並提供收錄應用程式套件的 App Store,例如 Nextcloud、WordPress、Gitea、Mattermost 等。它的目標使用者是希望由平台管理應用程式的人,包括自動更新、自動申請憑證與自動備份,並願意為此付費。
安裝。 Cloudron 要求乾淨的伺服器,並會完全接管該伺服器。在全新的 Ubuntu 24.04 (Noble) 伺服器上執行以下命令,且不要預先安裝其他元件:
wget https://cloudron.io/cloudron-setup
chmod +x cloudron-setup
sudo ./cloudron-setup此 script 會安裝 Docker、nginx、資料庫與 mail stack,然後重新開機。伺服器恢復運作後,開啟 https://<your-ip>,接受暫時的 self-signed certificate,再在瀏覽器中完成設定:指定網域、選擇 DNS provider,Cloudron 便會在 my.example.com 建立自己的 dashboard。
新增第一個應用程式。 在 dashboard 中開啟 App Store,按一下 Nextcloud,選擇子網域 files.example.com,然後按 Install。Cloudron 會建立 DNS record、申請 Let's Encrypt certificate、建立資料庫、設定 single sign-on,並排程備份,整個過程不需要修改任何設定檔。這就是它的核心訴求,而且確實能做到。
TLS 與備份。 三者之中最強。每個應用程式子網域都會自動取得 Let's Encrypt certificate,並由 Cloudron 負責續期。備份會內建排程,可儲存至本機目錄、S3 或其他遠端儲存空間,支援依應用程式還原,甚至能以一鍵將應用程式複製到新的子網域。
成本與授權,決定前請先閱讀。 Cloudron 是付費產品,提供受限的免費方案:免費方案允許2 個應用程式。安裝第 3 個應用程式後就會遇到付費牆;付費訂閱方案(Pro 或 Max,可按月或按年計費,兩者都支援 unlimited apps)則會解鎖更多功能。這是 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 image,且不要安裝其他元件:不可有 web server、Docker,甚至不能有手動設定的防火牆。如果啟動了錯誤的 image,設定程序也會拒絕任何不是受支援 Ubuntu LTS(22.04 或 24.04)的 x86-64 系統;ARM、LXC 與 OpenVZ 則完全不受支援。
第二種失敗情況,wildcard certificate 需要 DNS API。 如果在設定期間選擇「Manual」DNS 選項,而不是提供 Cloudron API token,Cloudron 就無法代為建立 record 或 wildcard certificate。之後每新增一個應用程式,都必須先手動新增 DNS record,才能核發 certificate;dashboard 也會持續等待該 record。只要授予 Cloudron 存取受支援 DNS provider 的 API 權限(例如 Cloudflare、Route 53、DigitalOcean 等),整個流程就會變成按一下即可完成。
CasaOS:免費的 home-lab 儀表板
功能介紹。 CasaOS 由 IceWhale 開發,是免費且開放原始碼的儀表板,建置在 Docker 之上,提供主畫面、應用程式商店與檔案管理器。它源自 home-server 生態,因此設計取向偏向 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)。建立本機帳號後即可登入。
新增第一個應用程式。 開啟 App Store,選擇應用程式並按一下 Install。CasaOS 會在背景建立 Docker Compose 專案,並將應用程式暴露在主機連接埠上,例如 http://<your-ip>:8080。其商店提供 home-server 常見的應用程式,因此只需幾次點擊,就能部署 VPS 上的 Jellyfin 媒體伺服器 或 自架的 Immich 相片庫。如果你尚未決定相片伺服器,建議先閱讀 區分 PhotoPrism 與 Immich 的 RAM 下限和手機應用程式,因為在 1GB 的 CasaOS 主機上,這項選擇會直接決定應用程式能否執行。你也可以匯入任何想使用的 docker-compose.yaml,這正是它的優勢:這些應用程式都是一般容器,而不是專有格式。
TLS 與備份:弱點所在。 「免費」的限制在這裡顯現。CasaOS 預設透過純 HTTP 提供所有服務,包括自身的儀表板。它沒有內建 Let's Encrypt,也沒有內建的排程備份。你的資料位於 /DATA 下的 Docker volumes,備份必須自行處理(使用 cron 排程的 restic 或 tar)。
故障模式:沒有 TLS,而且不會明確提示。 系統不會顯示錯誤。你安裝應用程式、開啟 http://<your-ip>:8080 後,服務仍可正常使用,但連線未加密,瀏覽器會標示 「不安全」。密碼與 session cookies 會以明文傳輸。更嚴重的是,CasaOS 的儀表板曾出現實際的遠端程式碼執行漏洞(CVE-2023-37265 與 CVE-2023-37266;其中一個驗證繞過漏洞可進一步取得整台主機的完整控制權),因此直接將該 HTTP 連接埠暴露在網際網路上是真實的安全風險,不是單純的風格問題。修正方式是不要直接暴露 CasaOS。在前方加入負責 TLS termination 的反向代理,例如 使用 Certbot 搭配 Let's Encrypt 憑證的 nginx、Caddy 或 Cloudflare Tunnel,並且只在本機網路中將請求轉送至 CasaOS。請注意,CasaOS 已使用連接埠 80,因此除非先將 CasaOS 移至其他連接埠,否則反向代理會與 CasaOS 爭用該連接埠。
費用。 確實完全免費,永久使用,且沒有應用程式數量上限。代價是維運工作必須自行負責,包括 TLS、備份與強化安全性。
Coolify:自架 PaaS
功能說明。 Coolify 是開放原始碼、自架的 platform-as-a-service,讓你在自己的伺服器上使用類似 Heroku 或 Vercel 的部署方式。它的基本單位不是「安裝封裝好的應用程式」,而是「部署 Git repository」:連接 repository 後,Coolify 會透過 Nixpacks 或你自己的 Dockerfile 建置並部署,且每次 push 後自動重新部署。它也提供一鍵部署的資料庫與服務。Coolify 適合部署自有程式碼、希望透過 push-to-deploy 發布應用程式,且不想租用 PaaS 的開發者。
安裝。
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash此 script 會安裝 Docker,並啟動 Coolify 自己的容器 stack。繼續之前,先確認這些容器的狀態正常:
docker ps --format 'table {{.Names}}\t{{.Status}}'你應該會看到 coolify、coolify-db、coolify-redis、coolify-realtime 和 coolify-proxy 都回報 Up。Dashboard 位於 http://<your-ip>:8000。請立即建立 admin 帳號,因為在建立第一個帳號前,註冊頁面會保持開放,任何先連上的人都能控制這台伺服器。接著設定 instance domain,並將 wildcard DNS record(*.example.com 或 *.apps.example.com)指向這台伺服器,讓 Coolify 為每個部署的應用程式配置專屬子網域。
新增第一個應用程式。 連接 Git source(GitHub、GitLab 或一般的 repository URL),選取 branch,設定 domain,然後部署。Coolify 內建的 Traefik proxy 會負責路由子網域並申請憑證。對於現成軟體,Services catalogue 可在幾個步驟內完成部署:你原本可能需要手動串接的相同 n8n 工作流程自動化 stack 是其中一個項目,用於狀態頁面監控的 Uptime Kuma 也是如此。
TLS 與備份。 Bundled Traefik 會為每個應用程式自動申請 Let’s Encrypt 憑證,因此每個已部署的子網域都會取得憑證。備份以資料庫為主:你可以將 Postgres 和 MySQL dump 排程儲存到 S3-compatible storage。整個 instance 的備份較為手動處理;Coolify 設定本身位於 /data/coolify,因此請自行匯出並儲存。
費用與授權。 自架版本 完全開放原始碼且免費,沒有應用程式數量上限。另有選用的 Coolify Cloud(付費)服務,由它代管 control plane,而你的應用程式仍執行在自有伺服器上。這種方式較為方便,但不是必要條件。
故障模式:應用程式已部署,但其 domain 無法載入。 Dashboard 在 http://<ip>:8000 上運作正常,build 也顯示成功,但應用程式自己的 URL 回傳連線錯誤或 Traefik 404 page not found。這表示問題出在 proxy 或 DNS,而不是應用程式本身。常見原因有兩個。第一,proxy 嘗試啟動時,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 record,因此 Traefik 永遠收不到該 hostname 的請求。如果 Coolify 中整台伺服器的卡片顯示 「Server is not reachable」,則是另一種故障:Coolify 完全無法連線到伺服器的 Docker socket,通常是 Docker daemon 已停止或 SSH key 損壞。先從日誌讀取實際原因,再進行判斷:
docker logs coolify-proxy --tail 100請從 Proxy 頁面修復:按下 Restart Proxy,或將 proxy 設定重設為預設值後再次啟動,然後等待約 two minutes 讓它穩定下來。請只允許你自己的 IP 存取 port 8000(或在 proxy 異常時暫時重新開放),不要將它開放給所有來源;該埠會透過 plain HTTP 提供 dashboard。Coolify 官方文件也指出,當 dashboard 已透過自己的 domain 提供服務後,可以關閉 ports 8000、6001 和 6002。
同一 VPS 上的資源額外負載
在同一台 4GB 主機上、部署任何實際工作負載前,測量閒置時的資源使用量。請使用 free -m 和 docker stats --no-stream 檢查自己的環境,不要只依賴單一數值,因為總量會隨應用程式組合而變動。
- CasaOS 最輕量。其管理面板由少量 Go 服務組成;除了所執行的容器之外,額外負載約為 150 到 300 MB。
- Coolify 會執行數個自己的支援容器(應用程式、Postgres、Redis、realtime 服務及 Traefik),因此在尚未部署任何內容時,閒置使用量約為 600 MB 到 1 GB。
- Cloudron 閒置時的負載最高,因為無論是否使用,都會執行自己的 nginx、資料庫、郵件堆疊及監控服務;請預留 1 到 1.5 GB 的閒置資源。這也是它要求至少 2GB,並且在 4GB 環境中運作較為寬裕的原因。
在小型 2GB VPS 上,CasaOS 能為實際應用程式留下最多空間,而 Cloudron 留下的最少。如果你的方案只有 2GB,且希望在 Cloudron 上執行郵件伺服器,請規劃升級主機。
更新、備份與綁定程度比較
更新。 Cloudron 會依照經過測試的排程,替你更新平台和所有應用程式:所需操作最少,也提供最多引導。Coolify 可在自己的儀表板中按一下按鈕完成更新。CasaOS 會透過安裝指令碼或 apt 更新面板,但你安裝的應用程式必須自行拉取更新並重新啟動。
綁定程度,第二年開始最容易造成問題的部分。 CasaOS 的綁定程度最低:其應用程式是一般的 Compose 專案,因此你可以將 docker-compose.yaml 和 /DATA 下的磁碟區複製到其他主機,繼續使用。Coolify 居中:部署內容是你自己的 Dockerfile 和儲存庫,但設定會儲存在 Coolify 的資料庫中,因此遷移主機時,必須在另一端重新建立專案。Cloudron 的綁定程度最高:應用程式採用 Cloudron 封裝。雖然透過其完善的備份功能,可以順利移出你的資料,但封裝本身無法移出,因此必須在目的平台重新部署。資料具可攜性,但部署機制不具可攜性。
該選哪一個
先說結論,再提供替代方案。如果你希望三者之中最少需要手動管理伺服器,會執行多個套裝應用程式,並願意支付年費以取得代管 TLS、備份與更新,請選擇 Cloudron。如果這是位於自有網路或反向代理後方的 home lab,希望以友善介面管理 Docker,且不願支付任何費用,請選擇 CasaOS。如果你會從 Git 部署自行撰寫的程式碼,希望具備自動 TLS 的 push-to-deploy,且不想支付代管 PaaS 的費用,請選擇 Coolify。如果這三種情況都不符合你,下一節才是直接的答案。
若符合以下情況,三者都跳過……
請誠實評估自己的規模。如果你只執行一或兩個應用程式,或希望確切了解並控制主機上的所有內容,請跳過這些面板。 對於小型且穩定的服務堆疊,額外負擔與綁定效應並不值得。DIY 方案是在你自己的 Compose 檔案前方配置反向代理:在多個 Docker Compose 應用程式前方使用具備自動 TLS 的 Traefik,能提供相當於一鍵設定的 HTTPS,卻不必承受面板的額外負擔;備份則使用你真正理解的 cron 排程 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: trueTraefik 會讀取這些標籤、依主機名稱轉送請求,並取得憑證:面板執行的工作,同樣可用幾行你看得懂的設定完成。
對於單一主要應用程式,理由更充分:在 Docker 上安裝具備 TLS 與專用備份程序的 Nextcloud 只需要一個 Compose 檔案與一張憑證。為了執行它而建立完整的 appliance,只會增加成本,沒有實際效益。如果你還在決定要執行什麼,尚未決定要採用哪種方式,那麼2026 年值得自行代管的服務指南會是更好的起點。
FAQ
我真的需要 self-hosting panel 嗎?
只有在你需要面板為多個應用程式自動處理以下 4 項工作時才需要:一鍵安裝、自動 TLS、排程備份及使用者管理。若只有 1 或 2 個服務,使用 Traefik 後方的純 Docker Compose 即可完成相同的 TLS 工作,額外負擔少很多,也完全沒有綁定問題。當你執行許多應用程式,而且節省的時間比面板占用的 RAM 更有價值時,面板才值得採用。
哪個面板最適合初學者?
如果是完全未暴露在危險網際網路中的 home lab,CasaOS 是最容易入門的選擇:執行 1 個命令即可安裝,並提供易用的 UI,也不需要付費。但在暴露任何服務之前,必須在前方配置負責 TLS termination 的 reverse proxy,因為它提供的是純 HTTP。如果你希望由系統代為管理 TLS 與備份,而且願意付費,Cloudron 是協助程度最高的選擇,但免費方案最多只能使用 2 個應用程式。
Cloudron 免費嗎?
部分免費。免費方案允許使用 2 個應用程式,適合試用或非常小型的環境。超過這個數量後,Cloudron 便是按月或按年計費的付費訂閱服務;付費方案可使用不限數量的應用程式。它是附帶免費方案上限的商業產品,不是 free software,因此如果你的 stack 會持續擴充,應預先編列預算。
我可以讓這些面板與現有的應用程式並行運作嗎?
Cloudron 不行。它 需要一台乾淨的 Ubuntu 主機;如果 nginx、Docker 或 Node 已經安裝,安裝程序會中止,因為它會管理整台機器。CasaOS 和 Coolify 比較容易共存,因為它們會安裝自己的 Docker stack,原則上可以共用同一台主機;但兩者都需要使用 80 和 443 埠,因此會與現有的 web server 或 proxy 發生衝突。對於已經承載其他服務的主機,面板通常不是正確工具;改用 Traefik 和 Compose。
之後要如何脫離面板?
請在需要之前先規劃退出方式。從 CasaOS 搬移時,將應用程式的 docker-compose.yaml 及其 /DATA volumes 複製到新主機,再次啟動這些應用程式。從 Coolify 搬移時,匯出每個 project 的設定,並讓目的地主機指向相同的 repository。從 Cloudron 搬移時,將資料從備份還原到新平台上重新安裝的應用程式,因為 Cloudron 的套件無法直接搬移,只有資料可以搬移。無論採用哪種方式,都應先在一次性測試主機上驗證還原結果,再拆除舊主機。