Coolify: 一款超強(qiáng)大的開(kāi)源自托管 Heroku / Netlify 替代方案
通過(guò) Coolify 可以部署很多應(yīng)用、數(shù)據(jù)庫(kù)、服務(wù)等。
- 部署 Static、NodeJS、Svelte、React、Vue、Next、Nuxt、Astro、PHP、Rust 等,可以使用自動(dòng)反向代理和免費(fèi) SSL 證書輕松部署應(yīng)用程序!
- 一鍵安裝 MongoDB、MySQL、PostgreSQL、CouchDB、RedisDB 實(shí)例即可在本地或互聯(lián)網(wǎng)上使用!
- 需要自己的 WordPress、Ghost Plausible Analytics、NocoDB、BitWarden/VaultWarden、LanguageTool、N8n、VSCode Server 等服務(wù)?沒(méi)問(wèn)題,只需點(diǎn)擊一下!
- 無(wú)論你托管什么服務(wù),都可以將其部署在任何地方,本地 Docker 引擎、遠(yuǎn)程 Docker 引擎 (WIP) 或 Kubernetes (WIP)。
安裝
要安裝 Coolify,需要滿足以下資源的最低要求,Coolify 在本地為應(yīng)用程序構(gòu)建鏡像,這是一個(gè) CPU 密集型的動(dòng)作,所以需要更多的 CPU 資源。
- 2CPU
- 2GB 內(nèi)存
- 30+GB 的鏡像存儲(chǔ)空間
其他資源取決于應(yīng)用的要求,例如,WordPress 與 Redis 數(shù)據(jù)庫(kù)需要不同的 CPU/內(nèi)存。另外目前,只支持 Ubuntu 服務(wù)器。
要安裝 Coolify 最簡(jiǎn)單的方式就是直接執(zhí)行下面的命令即可一鍵安裝:
wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; sudo bash ./install.sh -f
如果想手動(dòng)安裝則需要首先在你的服務(wù)器上安裝 Docker Engine v20.10+ 版本,然后需要在 .env 文件中定義需要的一些環(huán)境變量。Coolify 需要提前設(shè)置以下環(huán)境變量。(使用自動(dòng)安裝腳本會(huì)自動(dòng)完成的。)
COOLIFY_APP_ID= # 一個(gè)隨機(jī)的 UUID,用于區(qū)分已安裝的實(shí)例。
COOLIFY_SECRET_KEY= # 用于加密各種私人數(shù)據(jù),長(zhǎng)度必須為 32 個(gè)字符。
COOLIFY_DATABASE_URL=file:../db/prod.db # SQLite 數(shù)據(jù)庫(kù) URL,必須在 ../db 下。
COOLIFY_SENTRY_DSN=https://9e7a74326f29422584d2d
COOLIFY_IS_ON=docker # Coolify 部署的位置,目前,僅支持 docker。
COOLIFY_WHITE_LABELED=false # 會(huì)刪除 Coolify 實(shí)例的“商標(biāo)”。
COOLIFY_WHITE_LABELED_ICON= # 登錄/注冊(cè)頁(yè)面上要替換的圖標(biāo)。
COOLIFY_AUTO_UPDATE=false # 它會(huì)在后臺(tái)自動(dòng)更新你的 Coolify 實(shí)例。
配置完成后可以使用 Docker 進(jìn)行一鍵啟動(dòng):
docker run -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db-sqlite coollabsio/coolify:latest /bin/sh -c "env | grep COOLIFY > .env && docker compose up -d --force-recreate"
使用
安裝后,第一個(gè)注冊(cè)用戶是 Coolify 實(shí)例的 root/admin 用戶,它將可以查看/更改所有部署的資源、訪問(wèn)系統(tǒng)范圍的配置、一鍵更新過(guò)程等。其他用戶都不會(huì)訪問(wèn)系統(tǒng)范圍的配置,只能看到他們團(tuán)隊(duì)的資源。
此外每個(gè)注冊(cè)用戶都會(huì)自動(dòng)擁有自己的團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)只能訪問(wèn)自己的資源。你可以注冊(cè)任意數(shù)量的團(tuán)隊(duì)并邀請(qǐng)任意數(shù)量的用戶加入。
然后 Git Sources 定義了可以在哪里獲取/拉取你的應(yīng)用代碼。這些來(lái)源可以用于:
- 在你的 Git 提供商處創(chuàng)建應(yīng)用(例如 GitHub App、GitLab App)
- 提供通過(guò)令牌/ssh 密鑰訪問(wèn)你的倉(cāng)庫(kù)
- 克隆你的應(yīng)用代碼
- 為自動(dòng)部署設(shè)置 webhook,等等
無(wú)論你托管什么服務(wù),都可以將其部署在任何地方,本地 Docker 引擎、遠(yuǎn)程 Docker 引擎或 Kubernetes。
要想創(chuàng)建應(yīng)用就需要先去管理 Git Source,如果要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)實(shí)例,可以直接選擇想要部署的數(shù)據(jù)庫(kù)類型:
然后要配置一個(gè)部署的目的地,比如本地 Docker:
然后根據(jù)自己的需求配置數(shù)據(jù)庫(kù):
配置完過(guò)后點(diǎn)擊右上角的 Start Database 即可,如果想要通過(guò)公網(wǎng)進(jìn)行訪問(wèn),記得勾選 Set it public,然后我們就可以通過(guò)上面的數(shù)據(jù)庫(kù)地址去訪問(wèn)這個(gè)服務(wù)了。
最后要?jiǎng)?chuàng)建 Service 也是一樣的操作,直接點(diǎn)擊添加按鈕,選擇需要的服務(wù),然后進(jìn)行配置啟動(dòng)即可:
比如我這里部署一個(gè) Uptime Kuma 的應(yīng)用,只需要點(diǎn)擊下這個(gè)應(yīng)用,即可:
這個(gè)服務(wù)啟動(dòng)后我們就可以通過(guò) http://cl3mj6djx00003g6amc3izaze.demo.coolify.io 進(jìn)行訪問(wèn)了:
關(guān)于 Coolify 的更多使用可以參考官方網(wǎng)站 https://coolify.io/ 了解更多信息。