Coolify 是一种可自我托管的综合解决方案,只需单击几下即可托管你的应用、数据库或其他开源服务。它是 Heroku 和 Netlify 的一个替代方案。
通过 Coolify 可以部署很多应用、数据库、服务等。
- 部署 Static、NodeJS、Svelte、React、Vue、Next、Nuxt、Astro、PHP、Rust 等,可以使用自动反向代理和免费 SSL 证书轻松部署应用程序!
- 一键安装 MongoDB、MySQL、PostgreSQL、CouchDB、RedisDB 实例即可在本地或互联网上使用!
- 需要自己的 WordPress、Ghost Plausible Analytics、NocoDB、BitWarden/VaultWarden、LanguageTool、N8n、VSCode Server 等服务?没问题,只需点击一下!
- 无论你托管什么服务,都可以将其部署在任何地方,本地 Docker 引擎、远程 Docker 引擎 (WIP) 或 Kubernetes (WIP)。
安装
要安装 Coolify,需要满足以下资源的最低要求,Coolify 在本地为应用程序构建镜像,这是一个 CPU 密集型的动作,所以需要更多的 CPU 资源。
- 2CPU
- 2GB 内存
- 30+GB 的镜像存储空间
其他资源取决于应用的要求,例如,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 定义了可以在哪里获取/拉取你的应用代码。这些来源可以用于:
- 在你的 Git 提供商处创建应用(例如 GitHub App、GitLab App)。
- 提供通过令牌/ssh 密钥访问你的仓库。
- 克隆你的应用代码。
- 为自动部署设置 webhook,等等。
无论你托管什么服务,都可以将其部署在任何地方,本地 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。