Coolify logoCoolify

为 Coolify 做出贡献

“首先,感谢您考虑为我的项目做出贡献。这真的意义重大!” - @andrasbacsai

您可以在我们的 Discord 社区服务器#contribute 频道随时寻求指导。

要了解技术栈,请参阅 技术栈 文档。

目录

  1. 设置开发环境
  2. 验证安装
  3. Fork 并设置本地仓库
  4. 设置环境变量
  5. 启动 Coolify
  6. 开始开发
  7. 创建拉取请求
  8. 开发说明
  9. 重置开发环境
  10. 其他贡献指南

1. 设置开发环境

请根据您的操作系统执行以下步骤:

2. 验证安装(可选)

安装 Docker(或 Orbstack)和 Spin 后,验证安装:

  1. 打开终端或命令提示符
  2. 运行以下命令:
    docker --version
    spin --version
    您应该会看到 Docker 和 Spin 的版本信息。

3. Fork 并设置本地仓库

  1. Coolify 仓库 Fork 到您的 GitHub 账户。

  2. 在您的机器上安装代码编辑器(选择一个):

    编辑器平台下载链接
    Visual Studio Code(推荐免费)Windows/macOS/Linux下载
    Cursor(推荐但付费)Windows/macOS/Linux下载
    Zed(非常快)Windows/macOS/Linux下载
  3. 从您的 Fork 克隆 Coolify 仓库到本地机器

    • 在命令行中使用 git clone,或者
    • 使用 GitHub Desktop(推荐):
      • https://desktop.github.com/ 下载并安装
      • 打开 GitHub Desktop 并使用您的 GitHub 账户登录
      • 点击 File -> Clone Repository,选择 github.com 作为仓库位置,然后选择您 Fork 的 Coolify 仓库,选择本地路径然后点击 Clone
  4. 在您选择的代码编辑器中打开克隆的 Coolify 仓库。

4. 设置环境变量

  1. 在代码编辑器中,在本地 Coolify 仓库的根目录中找到 .env.development.example 文件。
  2. 复制 .env.development.example 文件并将副本重命名为 .env
  3. 打开新的 .env 文件并查看其内容。根据您的开发设置调整任何环境变量。
  4. 如果在数据库迁移期间遇到错误,请更新 .env 文件中的数据库连接设置。使用您的 PostgreSQL 数据库容器的 IP 地址或主机名。您可以在执行 spin up 后运行 docker ps 找到此信息。
  5. 保存对 .env 文件的更改。

5. 启动 Coolify

  1. 在本地 Coolify 目录中打开终端。
  2. 在终端中运行以下命令(保持该终端打开):
    spin up

注意:

您可能会看到一些错误,但不用担心这是预期的。

  1. 如果遇到权限错误,特别是在 macOS 上,请使用:
    sudo spin up

注意:

如果之后更改了环境变量或任何内容似乎损坏,请按 Ctrl + C 停止进程并再次运行 spin up

6. 开始开发

  1. 访问您的 Coolify 实例:

    • URL:http://localhost:8000
    • 登录:test@example.com
    • 密码:password
  2. 其他开发工具:

工具URL注意
Laravel Horizon(调度器)http://localhost:8000/horizon仅当以 root 用户登录时可访问
Mailpit(邮件捕获器)http://localhost:8025
Telescope(调试工具)http://localhost:8000/telescope默认禁用

提示:

要启用 Telescope,请在您的 .env 文件中添加以下内容:

TELESCOPE_ENABLED=true

7. 创建拉取请求

  1. 进行更改或添加新服务后:

    • 将您的更改提交到 Fork 的仓库。
    • 将更改推送到您的 GitHub 账户。
  2. 创建拉取请求 (PR):

    • 导航到 GitHub 上的主 Coolify 仓库。
    • 点击 "Pull requests" 标签。
    • 点击绿色的 "New pull request" 按钮。
    • 选择您的 Fork 和分支作为比较分支。
    • 点击 "Create pull request"。
  3. 填写 PR 详细信息:

    • 为您的 PR 起一个描述性的标题。
    • 使用提供的 Pull Request 模板并填写详细信息。

重要

始终将 PR 的基础分支设置为 Coolify 仓库的 next 分支,而不是 v4.x 分支。

  1. 提交您的 PR:
    • 最后一次检查您的更改。
    • 点击 "Create pull request" 提交。

注意:

确保您的 PR 在准备好进行审查时立即脱离草稿模式。长时间处于草稿模式的 PR 可能会被维护者关闭。

提交后,维护者将审查您的 PR 并可能要求更改或提供反馈。

开发说明

在处理 Coolify 时,请记住以下几点:

  1. 数据库迁移:切换分支或对数据库结构进行更改后,始终运行迁移:
docker exec -it coolify php artisan migrate
  1. 重置开发设置:将您的开发设置重置为具有默认值的新数据库:
docker exec -it coolify php artisan migrate:fresh --seed
  1. 故障排除:如果遇到意外行为,请确保您的数据库与最新的迁移保持同步,如果可能,重置开发设置以消除任何特定于环境的问题。

重要:

忘记迁移数据库可能会导致问题,因此养成在拉取更改或切换分支后运行迁移的习惯。

重置开发环境

如果遇到错误或破坏了数据库或其他内容,请按照以下步骤从头开始(适用于 v4.0.0-beta.342 及更高版本):

  1. 停止所有正在运行的容器 ctrl + c

  2. 删除所有 Coolify 容器:

docker rm coolify coolify-db coolify-redis coolify-realtime coolify-testing-host coolify-minio coolify-vite-1 coolify-mail
  1. 删除 Coolify 卷(您的机器上的卷可能没有 coolify 前缀,在这种情况下,从命令中删除前缀):
docker volume rm coolify_dev_backups_data coolify_dev_postgres_data coolify_dev_redis_data coolify_dev_coolify_data coolify_dev_minio_data
  1. 删除未使用的镜像:
docker image prune -a
  1. 再次启动 Coolify:
spin up
  1. 运行数据库迁移和种子:
docker exec -it coolify php artisan migrate:fresh --seed

完成这些步骤后,您将拥有一个全新的开发设置。

重要

始终在切换分支或拉取更新后运行数据库迁移和种子,以确保您的本地数据库结构与当前代码库匹配并包含必要的种子数据。

其他贡献指南

贡献新服务

要向 Coolify 添加新服务,请参阅我们的文档:添加新服务

贡献文档

要为 Coolify 文档做出贡献,请参阅此指南:为 Coolify 文档做出贡献

On this page