SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 更新于 2026-08-13

Cloudron、CasaOS 和 Coolify VPS 面板怎么选

对比 Cloudron、CasaOS 和 Coolify 在 Ubuntu 24.04 VPS 上的安装命令、TLS、备份、费用与资源占用,包含 1GB、2GB 内存要求及端口差异,帮助您选对自托管面板。

正在构建的内容

您选择的不只是安装工具,也是在选择管理方式。三个面板都承诺将一台空白 VPS 变成可通过点选操作的应用主机:CloudronCasaOSCoolify。本指南会在同一台全新的 Ubuntu 24.04 服务器上分别安装它们,部署第一个应用,然后重点检查通常不会出现在截图中的部分:TLS、备份、更新、内存开销,以及迁移离开的难度。读完后,您将知道哪个工具适合自己,也会知道是否应该诚实地选择“一个都不用,直接使用 Docker Compose”。

这些工具都不是魔法。三者底层使用的都是您可以手动操作的同一个 Docker Engine。面板以费用、RAM 占用或锁定成本换来的,是代为完成以下四项工作:一键安装应用、自动申请 TLS 证书、计划备份和用户管理。 如果这四项功能值得您承担实际的额外开销,使用面板就是值得的。如果您只运行一两个服务,并且希望确切了解服务器上的所有内容,请先阅读“跳过这三个工具”一节,以免增加不必要的麻烦。

共享前提和需要正视的问题

这三种方案都要求使用 KVM VPS,而不是容器虚拟化。Docker 需要真正的内核,Cloudron 也明确拒绝 OpenVZ 和 LXC。使用 systemd-detect-virt 检查:kvmqemu 表示可以,openvzlxc 则不可以。在 KVM 方案上,该命令会输出 kvm;在裸机上会输出 none。两者都表示可以继续。

除此之外,资源要求各不相同。这是影响选择的首要因素。

  • 内存。 CasaOS 在 1GB 内存上即可稳定运行;它源自 Raspberry Pi 硬件,资源占用较低。Coolify 至少需要 2GB 内存和 2 个 CPU 核心,其中约 600 MB 由 Coolify 本身使用。Cloudron 至少需要 2GB 内存,但使用 4GB 时会明显更稳定,因为即使尚未安装任何应用,它也会运行邮件服务器和数据库。
  • 您可以控制的域名和 DNS。 Cloudron 和 Coolify 都需要真实域名,并且 DNS 必须正常工作。理想情况下,Cloudron 还需要访问 DNS 提供商的 API,以便自行创建记录和通配符证书。CasaOS 可以使用裸 IP 运行,但这样完全无法使用 TLS。
  • 端口。 三者都需要开放 80 和 443,用于 HTTP 和 HTTPS。Coolify 还会在 8000 端口提供控制面板,并使用 6001 作为实时通信通道、6002 作为浏览器内终端。三种方案都应保持 22 端口开放,以便使用 SSH。

开始前,先将 DNS 指向服务器。无法解析自身主机名的控制面板无法申请证书,您会在第一个小时里一直排查这个问题,而不是配置软件。将 A 记录指向服务器 IP;对于 Coolify,还应添加通配符记录(*.apps.example.com),这样每个部署的应用都能获得自己的子域名。

Cloudron:精致且有明确取舍的设备化平台

它是什么。 Cloudron 是一个商业平台,可将整台服务器转换为受管设备。它会运行自己的反向代理、数据库和邮件堆栈,并提供包含打包应用的精选 App Store(Nextcloud、WordPress、Gitea、Mattermost 等)。它面向希望应用得到统一管理,并接受自动更新、自动证书和自动备份的用户;这类用户需要付费。

安装。 Cloudron 要求服务器是干净的,并会完全接管服务器。在全新的 Ubuntu 24.04 (Noble) 服务器上运行以下命令,不要预先安装其他组件:

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

该脚本会安装 Docker、nginx、数据库和邮件堆栈,然后重启服务器。服务器恢复后,打开 https://<your-ip>,接受临时自签名证书,并在浏览器中完成设置:指定域名,选择 DNS 提供商,然后 Cloudron 会在 my.example.com 部署自己的控制面板。

添加第一个应用。 在控制面板中打开 App Store,点击(例如)Nextcloud,选择子域名 files.example.com,然后点击 Install。Cloudron 会创建 DNS 记录、申请 Let's Encrypt 证书、配置数据库、接入单点登录并安排备份,整个过程无需修改配置文件。这正是它的核心价值,而且确实能够实现。

TLS 和备份。 三个平台中,Cloudron 在这方面最强。每个应用子域名都会自动获得 Let's Encrypt 证书,并由 Cloudron 自动续期。备份可按计划执行,功能内置,目标位置可以是本地目录、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 服务器、Docker,甚至不要安装您手动配置的防火墙。如果启动时使用了错误的镜像,安装程序还会拒绝不受支持的 Ubuntu LTS 版本;支持的版本只有 x86-64 上的 22.04 或 24.04。ARM、LXC 和 OpenVZ 均完全不受支持。

第二种故障模式:通配符证书需要 DNS API。 在设置期间选择 "Manual" DNS 选项,而不是向 Cloudron 提供 API token,Cloudron 就无法代您创建 DNS 记录或申请通配符证书。此后,每添加一个应用,您都必须先手动添加 DNS 记录,证书才能签发;控制面板会一直等待该记录。向 Cloudron 提供受支持 DNS 提供商(Cloudflare、Route 53、DigitalOcean 等)的 API 访问权限后,整个流程就会变成一键操作。

CasaOS:免费的家庭实验室仪表板

概述。 IceWhale 推出的 CasaOS 是一个免费开源的仪表板,运行在 Docker 之上,提供主屏幕、应用商店和文件管理器。它源自家庭服务器领域,因此设计侧重家庭实验室:部署快速、界面友好、配置过程简单。它面向希望以更友好的界面管理 Docker、但不想付费购买服务的爱好者。

安装。 执行一行命令即可,不要求使用全新的系统:

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

安装程序会添加一组 systemd 服务(casaoscasaos-gatewaycasaos-app-management 等)。打开浏览器前,先确认网关已启动:

systemctl status casaos-gateway

运行后,仪表板位于 http://<your-ip>(普通 HTTP,端口 80)。创建本地账户后即可使用。

添加第一个应用。 打开应用商店,选择应用,然后点击 Install。CasaOS 会在后台创建 Docker Compose 项目,并通过主机端口暴露应用,例如 http://<your-ip>:8080。应用商店包含常见的家庭服务器应用,因此部署 VPS 上的 Jellyfin 媒体服务器自行托管的 Immich 照片库 只需几次点击。如果还没有确定使用哪个照片服务器,建议先阅读 区分 PhotoPrism 与 Immich 的内存下限和手机应用,因为在 1GB 的 CasaOS 主机上,这一选择可能决定应用能否运行。您还可以导入任意 docker-compose.yaml,这正是它的优势:这些应用都是普通容器,而不是专有格式。

TLS 和备份:薄弱环节。 这正是“免费”的限制所在。CasaOS 默认通过普通 HTTP 提供所有服务,包括自身的仪表板。它没有内置 Let's Encrypt,也没有内置的定时备份。您的数据位于 /DATA 下的 Docker 卷中,备份需要由您自行负责(通过 cron 执行的 restictar)。

故障模式:没有 TLS,但不会明确提示。 系统不会报错。您安装应用,打开 http://<your-ip>:8080,应用即可运行,但连接未加密,浏览器会标记为 “不安全”。密码和会话 Cookie 会以明文形式通过网络传输。更严重的是,CasaOS 的仪表板曾存在实际的远程代码执行漏洞(CVE-2023-37265 和 CVE-2023-37266;其中一个身份验证绕过漏洞可进一步导致整个主机被攻陷),因此直接将该 HTTP 端口暴露到互联网会带来真实风险,而不只是界面偏好问题。解决方法是不要直接暴露 CasaOS。在前面配置反向代理来终止 TLS,例如使用 通过 Certbot 配置 Let's Encrypt 证书的 nginx、Caddy 或 Cloudflare Tunnel,并且仅通过本地网络将请求转发到 CasaOS。请注意,CasaOS 已经绑定端口 80;如果不先将 CasaOS 修改为其他端口,代理和 CasaOS 会争用该端口。

成本。 真正免费,永久免费,且不限制应用数量。您需要自行负责 TLS、备份和加固。

Coolify:自托管 PaaS

它是什么。 Coolify 是一个开源、自托管的平台即服务,类似于在自己的服务器上运行 Heroku 或 Vercel。它的基本单位不是“安装这个打包应用”,而是“部署这个 Git 仓库”:连接仓库后,Coolify 会通过 Nixpacks 或您自己的 Dockerfile 构建并发布应用,并在每次推送后重新部署。它还提供一键部署的数据库和服务。它面向部署自己代码、希望通过推送即可部署,而不想租用 PaaS 的开发者。

安装。

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

该脚本会安装 Docker,并启动 Coolify 自己的容器栈。继续操作前,请确认这些容器运行正常:

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

您应看到 coolifycoolify-dbcoolify-rediscoolify-realtimecoolify-proxy 全部报告 Up。控制面板位于 http://<your-ip>:8000请立即创建管理员账户,因为在创建第一个账户前,注册页面处于开放状态,最先访问该页面的人可以控制服务器。然后设置实例域名,并将通配符 DNS 记录*.example.com*.apps.example.com)指向该服务器,使 Coolify 能为每个已部署的应用分配独立子域名。

添加第一个应用。 连接 Git 源(GitHub、GitLab 或普通仓库 URL),选择分支,设置域名,然后部署。Coolify 内置的 Traefik 代理会路由子域名并申请证书。对于现成软件,Services 目录只需几次点击即可完成部署:您原本可能需要手动搭建的 n8n 工作流自动化栈是其中一个条目,用于状态页监控的 Uptime Kuma也是如此。

TLS 和备份。 Coolify 通过内置 Traefik 为每个应用自动申请 Let's Encrypt 证书,因此每个已部署的子域名都会获得证书。备份以数据库为主:您可以将 Postgres 和 MySQL 转储定时保存到兼容 S3 的存储。整实例备份(Coolify 配置本身位于 /data/coolify)需要更多手动操作,因此请自行导出并保存。

成本和许可。 自托管版本完全开源且免费,不限制应用数量。另有可选的Coolify Cloud(付费)服务,由它代您托管控制平面,而应用仍运行在您自己的服务器上。这种方式更方便,但不是必需的。

故障模式:应用部署成功,但域名无法加载。 控制面板在 http://<ip>:8000 上运行正常,构建也显示成功,但应用自己的 URL 返回连接错误或 Traefik 404 page not found。这说明问题位于代理或 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

第二,缺少通配符 DNS 记录,因此 Traefik 从未收到发往该主机名的请求。如果 Coolify 中整个服务器卡片显示“服务器无法访问”,则是另一类故障:Coolify 完全无法连接服务器的 Docker socket,通常是 Docker daemon 已停止或 SSH 密钥损坏。先从日志中读取实际原因,再进行判断:

docker logs coolify-proxy --tail 100

在 Proxy 页面修复此问题:点击 Restart Proxy,或将代理配置重置为默认值后再次启动,然后等待约两分钟使其稳定。仅允许您自己的 IP 访问 8000 端口(或在代理异常时临时重新开放),不要将其暴露给所有网络,因为该端口通过纯 HTTP 提供控制面板;Coolify 官方文档还说明,当控制面板通过自己的域名提供服务后,可以关闭 8000、6001 和 6002 端口。

同一 VPS 上的资源开销

在同一台 4GB 服务器上、部署任何实际工作负载之前测得的空闲状态数据。请使用 free -mdocker stats --no-stream 检查您自己的环境,不要只相信某一个数值,因为总开销会随应用组合变化。

  • CasaOS 的开销最低。其面板由少量 Go 服务组成;除您运行的容器外,预计额外占用约 150 到 300 MB
  • Coolify 会运行多个自身的支持容器,包括应用、Postgres、Redis、实时服务和 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。如果这是位于您自己的网络或反向代理之后的家庭实验室,您希望以友好的界面管理 Docker,并且不愿支付任何费用,请选择 CasaOS。如果您通过 Git 部署自己的代码,希望实现推送即部署和自动 TLS,同时不想承担托管 PaaS 的费用,请选择 Coolify。如果这三种情况都不符合您,下一节会给出直接的答案。

如果……

请如实评估自己的规模。如果您只运行一两个应用,或者希望准确了解并控制服务器上的所有内容,请跳过这些面板。 对于规模较小且稳定的服务栈,面板的额外开销和厂商锁定并不值得。DIY 方案是在您自己的 Compose 文件前部署反向代理:在多个 Docker Compose 应用前使用 Traefik 自动配置 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: true

Traefik 会读取这些标签,路由主机名并获取证书:这与面板执行的任务相同,但只需几行您可以直接读懂的配置。

对于单个核心应用,结论更加明确:在 Docker 上安装带 TLS 的 Nextcloud,并配置独立的备份流程,只需一个 Compose 文件和一个证书。为了运行它而部署完整的集成设备,只会增加成本,不会带来收益。如果您还在决定运行什么,尚未决定采用什么方式,那么2026 年值得自行托管的服务指南是更好的起点。

FAQ

我是否真的需要自托管面板?

只有当您需要面板为多个应用自动完成以下四项工作时,才值得使用:一键安装、自动配置 TLS、定时备份和用户管理。对于一两个服务,在 Traefik 后使用普通 Docker Compose 就能完成同样的 TLS 工作,而且开销小得多,也不会被供应商锁定。如果您运行许多应用,并且自己的时间成本高于面板占用的 RAM,使用面板才更划算。

对初学者来说,哪个面板最好?

如果是在不会暴露给恶意公网的家庭实验室中使用,CasaOS 是最容易上手的选择:执行一条命令即可安装,并提供友好的 UI,而且无需付费。但在对外暴露任何服务前,您必须在前面部署负责 TLS 终止的反向代理,因为 CasaOS 提供的是普通 HTTP。如果您希望由服务代为管理 TLS 和备份,并且愿意付费,Cloudron 最适合希望获得全面引导的用户,但免费版最多只能运行两个应用。

Cloudron 免费吗?

部分免费。免费层允许运行 two apps,适合试用或非常小的部署。除此之外,Cloudron 是付费订阅服务,可按月或按年计费;付费层支持无限数量的应用。它是带有免费额度上限的商业产品,不是免费软件,因此如果您的技术栈会继续扩展,应提前将费用纳入预算。

我可以让这些面板与现有应用并行运行吗?

Cloudron:不可以。它 requires a clean Ubuntu box;如果系统中已经安装 nginx、Docker 或 Node,安装程序会中止,因为它会管理整台机器。CasaOS 和 Coolify 更容易与现有环境共存,因为它们会安装自己的 Docker 技术栈,原则上可以共享同一台服务器。但两者都需要使用 80 和 443 端口,因此会与您已经运行的 Web 服务器或代理发生冲突。对于已经承载其他服务的服务器,面板通常不是合适的工具;应改用 Traefik 和 Compose。

以后如何迁移离开面板?

请在真正需要迁移前规划退出方案。从 CasaOS 迁移时,将应用的 docker-compose.yaml 及其 /DATA 卷复制到新主机,然后重新启动应用。从 Coolify 迁移时,导出每个项目的配置,并让目标主机使用相同的代码仓库。从 Cloudron 迁移时,将备份中的数据恢复到新平台上刚安装的应用中,因为 Cloudron 的打包方式无法迁移,只有数据可以迁移。无论使用哪种面板,都应先在临时服务器上测试恢复流程,再拆除旧服务器。