Pages

Sunday, 31 July 2022

Heroku / Netlify的替代方案. Coolify: 一款超强大的开源自托管

 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 引擎.

要想创建应用就需要先去管理 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

 (开源的自托管方案-Coolify

Coolify是一套开源的项目自托管方案,可用于替代 Vercel,Heroku 和 Netlify。支持反向代理、免费 SSL 证书配置、多种常用数据库配置、项目一键安装与升级等功能。项目基于PHP编写,遵守Apache 2.0开源协议。

功能特色:
    部署方便,只需单击几下即可托管应用、数据库或其他开源服务等。
    支持部署多种应用、数据库、服务,例如: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)。
    使用管理系统轻松管理团队。每个团队由一个名称空间分隔,可以创建任意数量的团队。
  源代码:https://github.com/coollabsio/coolify

官网:https://coolify.io/)

------------------------------------------------------------------------------------

An open-source & self-hostable Heroku / Netlify alternative.  coolify.io

Coolify

Live Demo

https://demo.coolify.io/

(If it is unresponsive, that means someone overloaded the server. 😄)

Feedback

If you have a new service / build pack you would like to add, raise an idea here to get feedback from the community!

How to install

Installation is automated with the following command:

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

If you would like no questions during installation:

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

For more details goto the docs.

Features

ARM support is in beta!

Git Sources

You can use the following Git Sources to be auto-deployed to your Coolifyt instance! (Self-hosted versions are also supported.)

  • Github
  • GitLab
  • Bitbucket (WIP)

Destinations

You can deploy your applications to the following destinations:

  • Local Docker Engine
  • Remote Docker Engine (WIP)
  • Kubernetes (WIP)

Applications

These are the predefined build packs, but with the Docker build pack, you can host anything that is hostable with a single Dockerfile.

  • Static sites
  • NodeJS
  • VueJS
  • NuxtJS
  • NextJS
  • React/Preact
  • Gatsby
  • Svelte
  • PHP
  • Laravel
  • Rust
  • Docker
  • Python
  • Deno

Databases

One-click database is ready to be used internally or shared over the internet:

  • MongoDB
  • MariaDB
  • MySQL
  • PostgreSQL
  • CouchDB
  • Redis

One-click services

You can host cool open-source services as well:

Migration from v1

A fresh installation is necessary. v2 and v3 are not compatible with v1.

Support

from https://github.com/coollabsio/coolify

 


 


 

 

 

No comments:

Post a Comment