Coolify — 把自家 VPS 變成 Heroku / Vercel 的 self-hosted PaaS
大部分工程師買 VPS 的原因是省錢。但最後花掉最多的不是機器費用——是搞定部署流程的時間。
你租了一台 Hetzner,每個月 20 歐元,規格比 Vercel Pro 方案能跑的東西多三倍。然後你花了一整個週末在上面裝 Nginx、搞 Let’s Encrypt、寫 Docker Compose、把 GitHub webhook 接到某個不知道從 Stack Overflow 抄來的 deploy script。跑起來了,但你從此再也不敢動那台機器的任何設定。
問題不是 VPS 太難用。問題是從「一台空機器」到「推 code 就自動上線」這段路,沒有人幫你走。
Coolify 做的就是這段路。
一行裝完,然後呢
1 | curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash |
跑完這行,打開 http://your-server-ip:8000,你會看到一個設定畫面。第一個註冊的帳號自動變 admin。
它背後做了什麼?裝 Docker、產 SSH key、拉起一組 container——Coolify 的 Web UI、排程器、資料庫(PostgreSQL 存 metadata)、Redis 當 queue。整包就是一個 Docker Compose 包起來的 PHP 應用。
最低需求:2 CPU、2 GB RAM、30 GB 硬碟。實務上跑個三五個應用程式,4 GB 起跳比較安心。Ubuntu、Debian、CentOS、Fedora 甚至 Raspberry Pi OS 都行。
裝完之後的體驗跟 Vercel 幾乎一模一樣:連 GitHub 帳號、選 repo、選 branch、按 Deploy。Coolify 幫你 clone、build image、起 container、簽 Let’s Encrypt 憑證、設好反向代理。之後每次 push,webhook 自動觸發重新部署。
差別在於:機器是你的。資料在你的硬碟上。帳單是你自己跟主機商的事。
BYOS:為什麼 SSH 是整個架構的關鍵
Coolify 的設計哲學可以用三個字母概括:BYOS——Bring Your Own Server。
它不需要你在目標機器上裝 agent。它用 SSH 連過去操作 Docker daemon,在上面拉 image、起 container、做 health check。只要一台機器能跑 Docker、能收 SSH 連線,就能變成 Coolify 的 worker node。
這件事的意義比看起來大。
想像你家的路由器。路由器不是網路——路由器連接網路。Coolify 也不是主機——Coolify 連接主機。今天你想把 Coolify 的 control plane 搬走,應用程式照樣在目標機器上跑著。沒有 agent 要移除、沒有特殊格式要轉換、沒有廠商鎖定。你的 container 就是標準的 Docker container。
所以你可以接 AWS 的 EC2、接 DigitalOcean 的 Droplet、接 Hetzner 的 VPS、接家裡那台 NUC。混合雲不是 Coolify 的行銷口號——它的架構天然就是混合雲。因為它根本不在乎底下是什麼雲,它只需要 SSH 和 Docker。
280 個一鍵部署,或者說:Zapier 月費 $29 的替代方案
Coolify 跟純 PaaS 最不一樣的地方,是它同時也是開源服務的 launchpad。
內建 280+ 個預製模板:n8n(取代 Zapier)、Plausible(取代 Google Analytics)、Ghost(取代 Substack)、Uptime Kuma(取代 Pingdom)、Vaultwarden(取代 Bitwarden Cloud)、Gitea、Mattermost、Supabase、AppWrite、MinIO⋯幾乎所有叫得出名字的 self-hosted 工具,點兩下就裝好。
資料庫也是一樣。PostgreSQL、MySQL、MariaDB、MongoDB、Redis、ClickHouse——八種一鍵部署,每一種都能設定自動備份到 S3 或 Backblaze B2。跟應用程式放在同一個 project 底下,直接用 service name 當 hostname 連線,不用把連線字串外露到環境變數裡再繞一圈。
你可能會問:這跟我自己寫 Docker Compose 有什麼差別?
差別在 Day 2。
Docker Compose 的問題從來不是「第一天裝起來」。是第三十天你要更新版本、做備份、換 domain、查 log。Coolify 把這些全包進 UI 裡——版本升級有 rollback、備份有排程、domain 有自動憑證、log 有即時串流。你不需要記住每個服務的 docker-compose.yml 放在哪裡、用了什麼 volume name、掛了哪個 network。
Build Pack 的選擇哲學
Coolify 把「原始碼變成可執行 container」這件事拆成五種路徑:
Nixpacks 是預設選項。這是 Railway 出品的開源工具,自動偵測你的語言和框架,不用寫 Dockerfile。Node.js、Python、Go、Rust、PHP、Ruby——它都認得。對 90% 的應用來說,推 code 上去就能跑,什麼都不用改。
Dockerfile 給想完全掌控 build 過程的人。你已經有 multi-stage build、有特殊的系統依賴、有不想被自動偵測搞亂的理由。
Docker Compose 給整個系統已經定義好的情境。Coolify 會處理 network 和 domain routing,你不用自己搞 Traefik 設定。
Static 給純前端專案。Docker Image 給直接拉現成 image 的情況。
這裡的設計哲學其實很清楚:不是給你一種「最佳」方式,而是讓你從「什麼都不想管」到「什麼都要控制」之間選一個點。Nixpacks 是左端,Dockerfile 是右端,大部分人待在左邊就好。
那些讓你不小心就留下來的功能
Preview Deployment:每開一個 PR,Coolify 自動起一份 staging 環境,有自己的 URL。PR merge 或 close 的時候自動拆掉。這功能以前只在 Vercel 看過。
Zero-downtime deployment:Traefik 做 rolling update,新 container 確定 healthy 了才切流量過去,舊 container 才拆。
一鍵 Rollback:上一版能跑但這版壞了?回到前一個 deployment,不需要重新 build。
團隊權限:多人協作有 RBAC。開發者只能看自己的 project,admin 看全部。
通知:部署成功、失敗推到 Discord、Slack、Telegram、Email。
API 跟 Terraform Provider:想走 IaC 的話,Coolify 也提供 REST API,社群有維護 Terraform provider。
每個單獨看都不驚人。放在一起看,就是一個完整的 PaaS 體驗——只是機器換成你自己的。
你該知道的限制
Coolify 不是 Kubernetes,也不打算成為 Kubernetes。
它是單機部署工具。一台 Coolify server 可以透過 SSH 管理多台 worker,但它不會幫你做跨機器的 scheduling、service discovery、或 auto-scaling。如果你的應用需要跨 region failover 或水平擴展到十台機器,你需要的是 K8s 或 Nomad,不是 Coolify。
Docker Swarm 支援還在 beta——文件提到可以接 Swarm cluster,但功能遠不如 BYOS 單機模式成熟。
Coolify server 本身是單點故障。應用在 worker 上繼續跑不受影響,但 control plane 掛了你就沒辦法做新部署或 rollback。所以 Coolify 自己的 data volume 要備份——它用 PostgreSQL 存所有設定,把那個 volume 打包搬走就能在另一台機器上復活。
資源監控比較陽春,只有 CPU / RAM / Disk 基本面板。要 Prometheus + Grafana 等級的 metrics 和 alert,還是得自己架。
Windows 不支援。本體跟 target server 都只能 Linux。
v3 的東西可以忽略
Coolify 在 v4 整個重寫過。後端從 Node.js 換成 Laravel,前端從 SvelteKit 換成 Livewire。v3 跟 v4 的資料格式不相容,官方也不再維護 v3。
如果你在網路上搜到的教學還在講 Svelte UI,那是 v3 的。直接略過,不用浪費時間。現在裝就裝 v4。
免費 vs 五塊錢
Self-hosted 版完全免費,功能跟付費版一模一樣。Coolify Cloud 每月 $5,差別只在它幫你維運 Coolify 本體那台 server,你只管接 worker。
$5 買的是你不用自己維護 control plane 的心理安全感。對跑十幾個 side project 的獨立開發者來說,省下來的精力可能值得。對想要百分之百掌控的人來說,self-host 就對了。
部署工具的世界其實就兩條線在拉扯:掌控感 跟 方便性。
Vercel、Netlify、Railway 站在方便性那端。你什麼都不用管,推 code 就上線。代價是每個月的帳單、資料放在別人的機器上、以及平台隨時可能漲價或改規則。
裸機 Docker Compose 站在掌控感那端。一切都是你的,但一切也都要你自己來。升級、備份、憑證、rollback、監控——沒有人幫你。
Coolify 站在中間。它給你 Vercel 等級的體驗,但機器是你的。它讓你保有掌控感,但把 Day 2 的苦差事自動化掉。
不存在完美的位置。但如果你有一台閒置的 VPS、一堆想自架的開源工具、以及不想再為了每個小專案各繳一份 SaaS 月費的念頭——Coolify 大概是目前最不折騰的選擇。
參考來源:Coolify GitHub
參考來源:Coolify 官方文件









