Cloudron vs CasaOS vs Coolify 哪款 VPS 面板好用?
深入比較 Cloudron、CasaOS 與 Coolify 在 VPS 上的安裝指令、TLS 憑證、備份功能及資源消耗。針對 Ubuntu 24.04 環境,分析 Coolify 的 2GB RAM 門檻與 CasaOS 的低資源優勢,協助您決定是否該改用 Docker Compose。
您的建置目標
選擇工具與安裝工具同樣重要。這三款面板皆能將空的 VPS 轉換為點擊式應用程式主機:Cloudron、CasaOS 與 Coolify。本指南將在全新的 Ubuntu 24.04 環境中安裝這三款工具,並安裝第一個應用程式,接著深入分析常見的技術細節:TLS、備份、更新、記憶體消耗,以及遷移難度。完成後,您將能判斷哪款工具最適合,或者最誠實的答案是否為「都不用,直接使用 Docker Compose」。
這三者皆非魔法。這三款工具底層運行的皆是您可以手動操作的 Docker Engine。面板所提供的價值(無論是以金錢、RAM 或供應商鎖定形式呈現)在於代勞了四項任務:一鍵安裝應用程式、自動化 TLS 憑證、排程備份,以及使用者管理。若這四項功能對您而言足以抵銷額外開銷,那麼使用面板是值得的。如果您僅運行一兩個服務,且希望完全掌握主機上的內容,請先閱讀「跳過這三者」章節以節省時間。
共同先備條件與注意事項
這三款產品皆要求使用 KVM VPS,而非容器虛擬化。Docker 需要真實的 kernel,而 Cloudron 不支援 OpenVZ 與 LXC。請透過 systemd-detect-virt 確認:kvm 或 qemu 皆可,但 openvz 或 lxc 不行。在 KVM 方案上,指令會輸出 kvm;在 bare metal 上則輸出 none;兩者皆代表可以繼續進行。
除此之外,各產品的規格需求有所不同,這是選擇時的首要考量。
- RAM。CasaOS 在 1GB 環境下即可順暢執行;它針對 Raspberry Pi 硬體優化,資源佔用極低。Coolify 的最低配置要求為 2GB RAM 與 2 個 CPU cores,其中約 600 MB 為 Coolify 本身佔用。Cloudron 最少需要 2GB RAM,若有 4GB 表現會更佳,因為在安裝任何應用程式前,它就已執行了 mail server 與 database。
- 您所掌控的網域與 DNS。Cloudron 與 Coolify 皆需要具備正常運作 DNS 的真實網域。Cloudron 理想情況下需要您 DNS 提供商的 API 權限,以便自動建立紀錄與 wildcard certificates。CasaOS 可以僅使用 IP 位址執行,但這樣將無法使用 TLS。
- Ports。這三款產品都需要開啟 80 與 443 port 以支援 HTTP 與 HTTPS。Coolify 的 dashboard 使用 8000 port,其 realtime channel 使用 6001 port,瀏覽器內建 terminal 使用 6002 port。請務必為所有產品保留 22 port 以供 SSH 使用。
在開始之前,請先將 DNS 指向該主機。若控制面板無法解析自身的 hostname,就無法請求憑證,這會導致您花費大量時間進行除錯而非安裝軟體。請將 A record 指向伺服器 IP;針對 Coolify,請新增一個 wildcard record (*.apps.example.com),以便讓每個部署的 app 都能擁有專屬的 subdomain。
Cloudron:精緻且具備特定設計理念的設備
產品定義。 Cloudron 是一個商業平台,可將整台伺服器轉化為受管理的設備。它運行專屬的反向代理 (reverse proxy)、資料庫與郵件堆疊 (mail 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、資料庫與郵件堆疊,然後重新啟動。系統重啟後,請開啟 https://<your-ip>,接受暫時的自簽章憑證,並在瀏覽器中完成設定:指定您的網域、選擇 DNS 提供商,系統會在 my.example.com 建立專屬控制台。
新增第一個應用程式。 在控制台中開啟 App Store,點選(例如)Nextcloud,選擇子網域 files.example.com,然後按下 Install。Cloudron 會自動建立 DNS 紀錄、申請 Let's Encrypt 憑證、配置資料庫、設定單一登入 (SSO) 並排定備份,您完全不需要修改任何設定檔。這正是其核心價值所在。
TLS 與備份。 這是三大功能中最強大的部分。每個應用程式子網域都會獲得自動化的 Let's Encrypt 憑證並自動續期。備份功能內建且可排定,目標儲存位置可為本地目錄、S3 或其他遠端儲存空間,並支援單一應用程式還原,甚至能一鍵將應用程式複製到新的子網域。
費用與授權,請在決定前閱讀此項。 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 映像檔,且不包含任何其他內容:不得有 Web Server、Docker,甚至不能有您手動配置的防火牆。若您啟動了錯誤的映像檔,設定程序也會拒絕執行,除非是 x86-64 架構上受支援的 Ubuntu LTS (22.04 或 24.04);ARM、LXC 與 OpenVZ 皆不支援。
第二種錯誤模式:萬用字元憑證需要 DNS API。 在設定過程中,若選擇「Manual」DNS 選項而非提供 API token 給 Cloudron,系統將無法為您建立紀錄或萬用字元憑證 (wildcard certificate)。這會導致每安裝一個新應用程式,都必須手動新增 DNS 紀錄才能核發憑證,且控制台會停留在等待紀錄的狀態。若提供 Cloudron 受支援的 DNS 提供商(如 Cloudflare、Route 53、DigitalOcean 等)的 API 存取權限,整個流程即可實現一鍵完成。
CasaOS:免費的 Home-lab 控制台
產品定義。 CasaOS 由 IceWhale 開發,是一款基於 Docker 的免費開源控制台。它提供主畫面、App Store 以及檔案管理員。此產品專為 home-server 環境設計,具備快速安裝、介面友善且流程簡化的特性。它適合希望以免費方式獲得 Docker 圖形化介面的使用者。
安裝。 僅需執行單行指令,且不要求系統環境為乾淨狀態:
curl -fsSL https://get.casaos.io | sudo bash安裝程式會新增一系列 systemd 服務(包含 casaos、casaos-gateway、casaos-app-management 等)。在開啟瀏覽器前,請確認 gateway 已啟動:
systemctl status casaos-gateway啟動後,控制台位在 http://<your-ip>(使用 plain HTTP,port 80)。建立本地帳戶即可登入。
新增第一個 App。 開啟 App Store,選擇應用程式並點擊 Install。CasaOS 會在背景撰寫 Docker Compose 專案,並將應用程式對應至主機埠,例如 http://<your-ip>:8080。其商店包含常見的 home-server 軟體,例如 VPS 上的 Jellyfin 媒體伺服器 或 自行託管的 Immich 相片庫,只需點擊幾下即可完成。您也可以匯入任何 docker-compose.yaml,這是其核心優勢:應用程式皆為標準容器,而非專有格式。
TLS 與備份:弱點。 這是「免費」軟體的限制。CasaOS 預設透過 plain HTTP 提供所有服務(包含控制台本身)。系統未內建 Let's Encrypt 或排程備份功能。您的資料儲存在 /DATA 下的 Docker volumes 中,備份工作需由使用者自行負責(例如使用 cron 執行 restic 或 tar)。
失效模式:無 TLS 且無錯誤提示。 系統不會報錯。您安裝應用程式並開啟 http://<your-ip>:8080 後即可使用,但瀏覽器會將此未加密連線標記為 "Not Secure"。密碼與 session cookies 會以明文傳輸。更嚴重的問題是,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: 自託管 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}}'您應該會看到 coolify、coolify-db、coolify-redis、coolify-realtime 與 coolify-proxy 皆顯示為 Up。管理介面位於 http://<your-ip>:8000。請立即建立管理員帳戶,因為在第一個帳戶建立前,註冊頁面皆為開放狀態,任何搶先進入的人都能控制伺服器。接著,請設定您的實例網域,並將 wildcard DNS 紀錄 (*.example.com 或 *.apps.example.com) 指向該伺服器,以便 Coolify 能為每個部署的應用程式分配專屬的子網域。
新增第一個應用程式。 連接 Git 來源(GitHub、GitLab 或原始儲存庫 URL)、選擇分支、設定網域並進行部署。Coolify 內建的 Traefik proxy 會負責路由子網域並請求憑證。對於現成軟體,Services 目錄只需點擊幾下即可完成部署:例如 原本需要手動設定的 n8n 工作流自動化堆疊,以及 用於狀態頁面監控的 Uptime Kuma,皆只需一個項目即可完成。
TLS 與備份。 透過內建的 Traefik 提供每個應用程式的自動 Let's Encrypt 憑證,因此每個部署的子網域都會獲得憑證。備份以資料庫為核心:您可以排定 Postgres 與 MySQL 的 dump 任務至 S3 相容儲存空間。整個實例的備份(即位於 /data/coolify 的 Coolify 設定本身)則需手動操作,請自行匯出並儲存。
成本與授權。 自託管版本為 完全開源且免費,沒有應用程式數量限制。此外還有選購的 Coolify Cloud(付費版),它會為您代管控制平面 (control plane),而您的應用程式仍運行在您自己的伺服器上;這項服務很方便,但並非強制要求。
故障排除:應用程式已部署但網域無法載入。 若管理介面在 http://<ip>:8000 運作正常、建置狀態顯示為綠色,但應用程式的網址卻回傳連線錯誤或 Traefik 404 page not found,這代表問題出在 proxy 或 DNS,而非您的應用程式。常見原因有二:首先,當 proxy 嘗試啟動時,port 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 紀錄,導致 Traefik 永遠收不到該主機名稱的請求。如果 Coolify 中的整個伺服器卡片顯示 "Server is not reachable",則是另一種錯誤:這代表 Coolify 完全無法與伺服器的 Docker socket 通訊,通常是因為 Docker daemon 已停止或 SSH key 失效。在進行判斷前,請先查看日誌以確認真實原因:
docker logs coolify-proxy --tail 100請從 Proxy 頁面進行修復:點擊 Restart Proxy,或者將 proxy 設定重設為預設值並重新啟動,然後等待約兩分鐘待其穩定。建議將 port 8000 限制為僅限您的 IP 可連線(或僅在 proxy 異常時暫時開啟),而非對全世界開放——因為該 port 是透過 plain HTTP 提供管理介面,且 Coolify 官方文件指出,一旦管理介面透過其專屬網域提供服務後,即可關閉 port 8000、6001 與 6002。
同一台 VPS 上的資源開銷
在部署任何實際工作負載前,於同一台 4GB 機器上進行閒置狀態測試。請使用 free -m 與 docker stats --no-stream 進行檢查,不要僅依賴單一數據,因為總開銷會隨應用程式組合而變動。
- CasaOS 最輕量。控制面板由少數 Go 服務組成;在您運行的容器之外,預計會有約 150 至 300 MB 的額外開銷。
- Coolify 會運行數個自身的支援容器(包含 app、Postgres、Redis、realtime 服務與 Traefik),因此在部署任何內容前,閒置開銷約為 600 MB 至 1 GB。
- Cloudron 在靜止狀態下最重,因為無論您是否使用,它都會運行自己的 nginx、資料庫、郵件堆疊與監控服務;請預留 1 至 1.5 GB 的閒置空間。這也是為何它要求至少 2GB 記憶體,且在 4GB 環境下運行較順暢。
在 2GB 的小型 VPS 上,CasaOS 為實際應用保留的空間最多,而 Cloudron 留下的空間最少。若您的方案為 2GB 且欲運行包含郵件伺服器的 Cloudron,請考慮升級主機。
更新、備份與鎖定效應比較
更新。 Cloudron 會依照經過測試的排程,自動為您更新平台與所有 app,提供最低限度的維護成本與自動化支援。Coolify 可透過其 dashboard 中的按鈕進行單鍵更新。CasaOS 透過其 install script 或 apt 來更新控制面板,但您安裝的 app 需由您自行執行 pull 與 restart。
鎖定效應,第二年開始產生的問題。 CasaOS 的鎖定效應最低:其 app 為標準的 Compose 專案,因此您可以將 docker-compose.yaml 與 /DATA 下的 volumes 複製到任何其他 host 並繼續使用。Coolify 介於兩者之間:您的部署是您自己的 Dockerfiles 與 repos,但其配置儲存在 Coolify 的資料庫中,因此更換 host 意味著必須在另一端重新建立專案。Cloudron 的鎖定效應最高:app 採用 Cloudron 封裝,雖然您的 data 可以透過其優異的備份功能完整移出,但封裝本身無法移出,因此您必須在目標平台重新部署。資料具備可移植性,但系統配置(plumbing)不具備。
您該如何選擇
簡短結論如下。若您希望三者中維護成本最低、需執行多個套件化應用程式,並願意支付年度費用以換取託管 TLS、備份與更新服務,請選擇 Cloudron。若此環境位於您自有網路後的 Home Lab 或反向代理,且您需要一個友善的 Docker 管理介面並不打算支付任何費用,請選擇 CasaOS。若您需要從 Git 部署自有程式碼,並希望擁有自動化 TLS 的 push-to-deploy 功能,且不想支付託管 PaaS 的費用,請選擇 Coolify。若以上三者皆不符合您的需求,請參閱下一節的誠實建議。
若符合以下情況,請跳過這三項...
請誠實評估您的規模。如果您僅執行一或兩個應用程式,或者希望完全掌握並控制主機上的內容,請跳過控制面板。 對於規模小且穩定的技術棧而言,控制面板的額外開銷與廠商鎖定並不划算。DIY 的做法是在您自己的 Compose 檔案前架設一個反向代理:使用 Traefik 為多個 Docker Compose 應用程式提供自動化 TLS 能提供等同於一鍵設定的 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 會讀取這些 labels、路由主機名稱並取得憑證:這與控制面板的功能相同,但只需幾行您可以閱讀的程式碼即可完成。
對於單一核心應用程式,情況更加明確:在 Docker 上安裝具備 TLS 與獨立備份機制之 Nextcloud 僅需一個 Compose 檔案與一個憑證。為了執行它而架設整個套件(appliance)會造成成本增加卻無實質效益。如果您在決定「如何執行」之前,還在猶豫「要執行什麼」,那麼 2026 年值得自行架設的服務指南 會是更好的起點。
FAQ
我真的需要自架管理面板嗎?
除非您重視面板能為多個應用程式自動化處理的四項功能:一鍵安裝、自動 TLS、排程備份與使用者管理。若僅運行一兩個服務,使用 Traefik 後端搭配 Docker Compose 即可完成 TLS 工作,且負載更低且無廠商鎖定。當您運行大量應用程式,且您的時間價值高於其消耗的 RAM 時,使用面板才具備效益。
初學者最適合哪款面板?
若是在不對外開放的 Home Lab 環境,CasaOS 是最簡單的入門選擇:只需一個指令與友善的 UI,且無需支付費用。但若要將服務對外開放,必須先配置一個負責 TLS 終止的 Reverse Proxy,因為它僅提供 plain HTTP。如果您希望由系統處理 TLS 與備份,且願意支付費用,Cloudron 在其兩個應用程式的免費額度內,提供了最完善的引導。
Cloudron 是免費的嗎?
部分免費。免費層級允許安裝 2 個應用程式,這對於試用或極小規模的設定非常足夠。超過此限制後,Cloudron 為付費訂閱制,按月或按年計費,付費層級可安裝無限量的應用程式。這是一項設有免費額度的商業產品,而非自由軟體,若您的技術棧預計會擴張,請預留相關預算。
我可以將這些面板與現有的應用程式並行運行嗎?
Cloudron:不行。它 需要一台乾淨的 Ubuntu 主機,若系統已安裝 nginx、Docker 或 Node,安裝程序會中止,因為它會管理整台機器。CasaOS 與 Coolify 較具彈性,因為它們會安裝自己的 Docker stack,原則上可以在同一台機器運行,但兩者都需要佔用 port 80 與 443,因此會與您現有的 Web Server 或 Proxy 發生衝突。在已經運行服務的主機上,面板通常不是正確的工具;建議改用 Traefik 與 Compose。
我之後如何從面板遷移出來?
在需要遷移前就應規劃好。若從 CasaOS 遷移,請將應用程式的 docker-compose.yaml 與 /DATA volumes 複製到新主機並重新啟動。若從 Coolify 遷移,請匯出每個專案的 configuration,並將其指向目標端相同的 repos。若從 Cloudron 遷移,請將其備份中的資料還原至新平台新安裝的應用程式中,因為 Cloudron 的 packaging 無法遷移,僅資料可以。在拆除舊主機前,請務必先在測試機上測試還原流程。