向 Coolify 添加新服务模板
Coolify 中的服务是从普通的 docker-compose 文件创建的模板,并添加了一些 Coolify 魔法。
INFO
请参阅 Coolify 的 docker-compose 规范 了解更多关于 Coolify 的魔法以及如何受益于生成的变量和存储处理。提交 PR 时,请使用这种魔法,以使合并过程更顺畅。
添加元数据
在你的
docker-compose文件顶部,添加以下元数据:yaml# documentation: https://docs.example.com/ # slogan: 你的服务的简短描述。 # tags: tag1,tag2,tag3 # logo: svgs/your-service.svg # port: 1234documentation:服务官方文档的链接slogan:服务的简短描述tags:逗号分隔的列表,用于更好的可搜索性logo:服务 logo 的路径(见步骤 3)port:服务的主入口点端口
注意
始终指定一个端口,因为 Caddy Proxy 无法自动确定服务的端口。
创建 docker-compose 文件
在元数据下方,添加你的 docker-compose 配置。在此处使用 Coolify 的环境变量魔法 链接。
示例:
yamlservices: app: image: your-service-image:tag environment: - DATABASE_URL=${COOLIFY_DATABASE_URL} volumes: - ${COOLIFY_VOLUME_APP}:/data使用必需的环境变量: 创建服务模板时,将关键配置标记为必需,以改善用户体验:
yamlservices: app: image: your-service:latest environment: # 必需 - 必须由用户设置的关键配置 - DATABASE_URL=${DATABASE_URL:?} - API_KEY=${API_KEY:?} # 必需且有合理默认值 - 提高可用性 - PORT=${PORT:?8080} - LOG_LEVEL=${LOG_LEVEL:?info} # 可选 - 可以留空的功能 - DEBUG=${DEBUG:-false} - CACHE_TTL=${CACHE_TTL:-3600}这可以帮助用户了解哪些配置是必不可少的,并防止部署失败。
添加 logo
- 为你的服务创建或获取 SVG logo(强烈推荐的格式)
- 如果 SVG 不可用,请使用高质量的.webp 或 JPG 作为最后的选择
- 将 logo 文件添加到 Coolify 仓库的
svgs文件夹中 - logo 文件名应与 docker-compose 服务名称完全匹配
- 例如,如果你的服务名称是
wordpress,你的 logo 应该是wordpress.svg,最终路径是svgs/wordpress.svg,在此处的logo元数据中使用此路径。
- 例如,如果你的服务名称是
测试你的模板
使用 Coolify 中的
Docker Compose部署选项来测试你的模板。这个过程模拟了一键式服务部署。提交拉取请求
一旦你的模板正常工作:
- 打开一个 PR
- 在
/templates/compose下添加你的新<service>.yaml组合文件 - 在
svgs文件夹中包含 logo 文件
INFO
Coolify 使用模板的 解析版本 进行部署。
请求新服务
如果你希望在 Coolify 中看到某个服务模板:
- 搜索 GitHub discussions 查看是否有现有请求。
- 如果该服务已被请求,请为其投票。如果没有,请创建一个新请求。
