Coolify - 一個開源的自託管 Heroku - Netlify 替代方案

Coolify 是一種可自我託管的綜合解決方案,只需單擊幾下即可託管你的應用、數據庫或其他開源服務。它是 HerokuNetlify 的一個替代方案。

通過 Coolify 可以部署很多應用、數據庫、服務等。

安裝

要安裝 Coolify,需要滿足以下資源的最低要求,Coolify 在本地爲應用程序構建鏡像,這是一個 CPU 密集型的動作,所以需要更多的 CPU 資源。

其他資源取決於應用的要求,例如,WordPress 與 Redis 數據庫需要不同的 CPU / 內存。另外目前,只支持 Ubuntu 服務器。

要安裝 Coolify 最簡單的方式就是直接執行下面的命令即可一鍵安裝:

wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; sudo bash ./install.sh -f

如果想手動安裝則需要首先在你的服務器上安裝 Docker Engine v20.10+ 版本,然後需要在 .env 文件中定義需要的一些環境變量。Coolify 需要提前設置以下環境變量。(使用自動安裝腳本會自動完成的。)

COOLIFY_APP_ID=   # 一個隨機的 UUID,用於區分已安裝的實例。
COOLIFY_SECRET_KEY=  # 用於加密各種私人數據,長度必須爲 32 個字符。
COOLIFY_DATABASE_URL=file:../db/prod.db  # SQLite 數據庫 URL,必須在 ../db 下。
COOLIFY_SENTRY_DSN=https://9e7a74326f29422584d2d0bebdc8b7d3@o1082494.ingest.sentry.io/6091062  # Sentry 錯誤報告的 DSN 地址,不是強制性的。
COOLIFY_IS_ON=docker  # Coolify 部署的位置,目前,僅支持 docker。
COOLIFY_WHITE_LABELED=false  # 會刪除 Coolify 實例的“商標”。
COOLIFY_WHITE_LABELED_ICON=  # 登錄/註冊頁面上要替換的圖標。
COOLIFY_AUTO_UPDATE=false  # 它會在後臺自動更新你的 Coolify 實例。

配置完成後可以使用 Docker 進行一鍵啓動:

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"

使用

安裝後,第一個註冊用戶是 Coolify 實例的 root/admin 用戶,它將可以查看 / 更改所有部署的資源、訪問系統範圍的配置、一鍵更新過程等。其他用戶都不會訪問系統範圍的配置,只能看到他們團隊的資源。

此外每個註冊用戶都會自動擁有自己的團隊,每個團隊只能訪問自己的資源。你可以註冊任意數量的團隊並邀請任意數量的用戶加入。

然後 Git Sources 定義了可以在哪裏獲取 / 拉取你的應用代碼。這些來源可以用於:

無論你託管什麼服務,都可以將其部署在任何地方,本地 Docker 引擎、遠程 Docker 引擎或 Kubernetes。

要想創建應用就需要先去管理 Git Source,如果要創建一個數據庫實例,可以直接選擇想要部署的數據庫類型:

然後要配置一個部署的目的地,比如本地 Docker:

然後根據自己的需求配置數據庫:

配置完過後點擊右上角的 Start Database 即可,如果想要通過公網進行訪問,記得勾選 Set it public,然後我們就可以通過上面的數據庫地址去訪問這個服務了。

最後要創建 Service 也是一樣的操作,直接點擊添加按鈕,選擇需要的服務,然後進行配置啓動即可:

比如我這裏部署一個 Uptime Kuma 的應用,只需要點擊下這個應用,即可:

這個服務啓動後我們就可以通過 http://cl3mj6djx00003g6amc3izaze.demo.coolify.io 進行訪問了:

關於 Coolify 的更多使用可以參考官方網站 https://coolify.io/ 瞭解更多信息。

Git 倉庫:https://github.com/coollabsio/coolify

Github 愛好者 我們是一羣 Github 愛好者,專注分享有價值、有趣的開源項目和學習資料,包括 Python、Golang、Java、Rust、AI、前端、運維、數據分析、大數據、雲計算、Kubernetes、Service Mesh 等領域資源。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/5RKYlUTLFLrs5RUEhr85_g