1:简介
Coolify 是一种可自我托管的综合解决方案,只需单击几下即可托管你的应用、数据库或其他开源服务。它是 Heroku 和 Netlify 的一个替代方案。
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526200209426-1836733547.png)
通过 Coolify 可以部署很多应用、数据库、服务等。
1:部署 Static、NodeJS、Svelte、React、Vue、Next、Nuxt、Astro、PHP、Rust 等,可以使用自动反向代理和免费 SSL 证书轻松部署应用程序!
2:一键安装 MongoDB、MySQL、PostgreSQL、CouchDB、RedisDB 实例即可在本地或互联网上使用!
3:需要自己的 WordPress、Ghost Plausible Analytics、NocoDB、BitWarden/VaultWarden、LanguageTool、N8n、VSCode Server 等服务?没问题,只需点击一下!
4:无论你托管什么服务,都可以将其部署在任何地方,本地 Docker 引擎、远程 Docker 引擎 (WIP) 或 Kubernetes (WIP)。
2:部署
要安装 Coolify,需要满足以下资源的最低要求,Coolify 在本地为应用程序构建镜像,这是一个 CPU 密集型的动作,所以需要更多的 CPU 资源。
1:2核CPU
2:内存2G
3:30G存储
其他资源取决于应用的要求,例如,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"
# 我这里使用的是快速部署,
root@ubuntu:~# wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; sudo bash ./install.sh -f
Installing Coolify with force option!
Configuring Docker daemon.
Updating Coolify configuration.
Pulling Coolify latest image (2.8.2).
Starting Coolify.
Congratulations! Your Coolify instance is ready to use.
Please visit http://43.155.108.239:3000 to get started.
It will take a few minutes to start up, don't worry.
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d674929aa14a coollabsio/coolify:2.8.2 "docker-entrypoint.s…" 15 seconds ago Up 14 seconds 3000/tcp wonderful_allen
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526202544165-691676301.png)
3:使用
安装后,第一个注册用户是 Coolify 实例的 root/admin 用户,它将可以查看/更改所有部署的资源、访问系统范围的配置、一键更新过程等。其他用户都不会访问系统范围的配置,只能看到他们团队的资源。
此外每个注册用户都会自动拥有自己的团队,每个团队只能访问自己的资源。你可以注册任意数量的团队并邀请任意数量的用户加入。
然后 Git Sources 定义了可以在哪里获取/拉取你的应用代码。这些来源可以用于:
1:在你的 Git 提供商处创建应用(例如 GitHub App、GitLab App)
2:提供通过令牌/ssh 密钥访问你的仓库
3:克隆你的应用代码
4:为自动部署设置 webhook,等等
无论你托管什么服务,都可以将其部署在任何地方,本地 Docker 引擎、远程 Docker 引擎或 Kubernetes。
要想创建应用就需要先去管理 Git Source,如果要创建一个数据库实例,可以直接选择想要部署的数据库类型:
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526202915154-1177523993.png)
然后要配置一个部署的目的地,比如本地 Docker:
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526202959674-2123902236.png)
然后根据自己的需求配置数据库:
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526203201998-65134999.png)
配置完过后点击右上角的 Start Database 即可,如果想要通过公网进行访问,记得勾选 Set it public,然后我们就可以通过上面的数据库地址去访问这个服务了。
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526203346358-111800727.png)
测试链接数据库
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526203550883-247583629.png)
最后要创建 Service 也是一样的操作,直接点击添加按钮,选择需要的服务,然后进行配置启动即可:
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526203707003-955720142.png)
比如我这里部署一个 Uptime Kuma 的应用,只需要点击下这个应用,即可:
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526204408155-734275903.png)
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526204342256-277037838.png)
![image](https://img2022.cnblogs.com/blog/2222036/202205/2222036-20220526204938547-982746869.png)
关于 Coolify 的更多使用可以参考官方网站 https://coolify.io/ 了解更多信息。