diff --git a/.github/workflows/release-image.yml b/.github/workflows/release-image.yml index 110ebe918..b029d4b0e 100644 --- a/.github/workflows/release-image.yml +++ b/.github/workflows/release-image.yml @@ -105,8 +105,10 @@ jobs: tags: | registry.cn-shenzhen.aliyuncs.com/handsfree/certd:slim registry.cn-shenzhen.aliyuncs.com/handsfree/certd:${{steps.get_certd_version.outputs.result}}-slim - greper/certd:slim - greper/certd:${{steps.get_certd_version.outputs.result}}-slim + registry.cn-shenzhen.aliyuncs.com/certd/certd:slim + registry.cn-shenzhen.aliyuncs.com/certd/certd:${{steps.get_certd_version.outputs.result}}-slim + certd/certd:slim + certd/certd:${{steps.get_certd_version.outputs.result}}-slim ghcr.io/${{ github.repository }}:slim ghcr.io/${{ github.repository }}:${{steps.get_certd_version.outputs.result}}-slim @@ -119,8 +121,10 @@ jobs: tags: | registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7 registry.cn-shenzhen.aliyuncs.com/handsfree/certd:${{steps.get_certd_version.outputs.result}}-armv7 - greper/certd:armv7 - greper/certd:${{steps.get_certd_version.outputs.result}}-armv7 + registry.cn-shenzhen.aliyuncs.com/certd/certd:armv7 + registry.cn-shenzhen.aliyuncs.com/certd/certd:${{steps.get_certd_version.outputs.result}}-armv7 + certd/certd:armv7 + certd/certd:${{steps.get_certd_version.outputs.result}}-armv7 ghcr.io/${{ github.repository }}:armv7 ghcr.io/${{ github.repository }}:${{steps.get_certd_version.outputs.result}}-armv7 diff --git a/.github/workflows/stable-release.yml b/.github/workflows/stable-release.yml index c4f6d9a50..f88a7dbf8 100644 --- a/.github/workflows/stable-release.yml +++ b/.github/workflows/stable-release.yml @@ -54,8 +54,10 @@ jobs: -f Dockerfile.stable \ -t registry.cn-shenzhen.aliyuncs.com/handsfree/certd:stable \ -t registry.cn-shenzhen.aliyuncs.com/handsfree/certd:${{ inputs.version }}-stable \ - -t greper/certd:stable \ - -t greper/certd:${{ inputs.version }}-stable \ + -t registry.cn-shenzhen.aliyuncs.com/certd/certd:stable \ + -t registry.cn-shenzhen.aliyuncs.com/certd/certd:${{ inputs.version }}-stable \ + -t certd/certd:stable \ + -t certd/certd:${{ inputs.version }}-stable \ -t ghcr.io/${{ github.repository }}:stable \ -t ghcr.io/${{ github.repository }}:${{ inputs.version }}-stable \ . @@ -71,8 +73,10 @@ jobs: -f Dockerfile.slim-stable \ -t registry.cn-shenzhen.aliyuncs.com/handsfree/certd:slim-stable \ -t registry.cn-shenzhen.aliyuncs.com/handsfree/certd:${{ inputs.version }}-slim-stable \ - -t greper/certd:slim-stable \ - -t greper/certd:${{ inputs.version }}-slim-stable \ + -t registry.cn-shenzhen.aliyuncs.com/certd/certd:slim-stable \ + -t registry.cn-shenzhen.aliyuncs.com/certd/certd:${{ inputs.version }}-slim-stable \ + -t certd/certd:slim-stable \ + -t certd/certd:${{ inputs.version }}-slim-stable \ -t ghcr.io/${{ github.repository }}:slim-stable \ -t ghcr.io/${{ github.repository }}:${{ inputs.version }}-slim-stable \ . diff --git a/AGENTS.md b/AGENTS.md index 9e4bac7b4..92d02adb9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -214,15 +214,6 @@ Certd 是可私有化部署的 SSL/TLS 证书自动化管理平台,提供 Web ## 其他注意事项 - -### 换行符(LF / CRLF) - -- 本项目源码使用 **LF** 换行符。Windows 上通过 Python 写文件时,open(path, "w", encoding="utf-8") 默认使用 **CRLF**,会破坏文件格式。 -- **修复方案**:写文件时用 open(path, "w", encoding="utf-8", newline="\n") 明确指定 LF。 -- 如果已经写入 CRLF,用以下 PowerShell 修复: - `powershell - git add --renormalize . && git commit -m "fix line endings" - ` ### 旧版数据兼容 - 新增插件参数时,必须要考虑旧版数据兼容,比如新增一个deployType参数,有两种值:`default`和`custom`,需要在使用时判空,走旧版逻辑。 diff --git a/README.md b/README.md index f253c3add..49248aee1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Certd +# Certd 中文 | [English](./README_en.md) @@ -105,33 +105,56 @@ https://certd.handfree.work/ #### Docker镜像说明: -**镜像版本:** +##### 1. 镜像地址格式: + +``` +registry.cn-shenzhen.aliyuncs.com/certd/certd:[version-][system-][latest/stable] +------------ ↑ 镜像地址 ------------- ↑ 镜像名 -- ↑指定版本- ↑基础系统- ↑最新版本类型 +``` +##### 2. 版本标签: + +**最新版本标签:** + +| 版本 | 标签 | 说明 | +| --- | --- | --- | +| 最新预览版【默认】 | `certd:latest` | 指向最新开发版本,包含最新功能,但稳定性不如稳定版 | +| 最新稳定版 | `certd:stable` | 指向经过充分测试的生产就绪版本,推荐生产环境使用 | + +**系统分支版本:** + +> 根据基础镜像不同,分为如下三个分支版本,没有特殊需求选择默认的即可(他们功能是一样的) + +| 系统版本 | 版本标签 | 基础系统 | 说明 | 稳定版标签 | +| --- | --- | --- | --- | --- | +| alpine【默认】 | `certd:latest` | Alpine Linux | 默认版本,镜像体积小 | `certd:stable` | +| slim | `certd:slim` | Debian slim | 基于glibc,dns解析兼容性好 | `certd:slim-stable` | +| armv7 | `certd:armv7` | Alpine Linux | ARMv7 架构专用版本 | `certd:armv7-stable` | + +##### 2. 镜像地址: + +| 镜像仓库 | 最新预览版 | slim | armv7 | +| --- | --- | --- | --- | +| 阿里云【默认】 | `registry.cn-shenzhen.aliyuncs.com/certd/certd:latest` | `certd:slim` | `certd:armv7` | +| Docker Hub | `greper/certd:latest` | `certd:slim` | +| GitHub Packages | `ghcr.io/certd/certd:latest` | `certd:slim` | `certd:armv7` | -| 标签 | 指定版本 | 基础系统 | 说明 | -| --- | --- | --- | --- | -| `latest` | `[version]` | Alpine Linux | 默认版本,镜像体积小 | -| `slim` | `[version]-slim` | Debian slim | 基于glibc,dns解析兼容性好(可能需要配置security_opt -seccomp=unconfined) | -| `armv7` | `[version]-armv7` | Alpine Linux | ARMv7 架构专用版本 | +> 注意: +> 1. 后面的各个版本省略了镜像地址,使用时需要将镜像地址拼接完整。 +> 2. 稳定版在后面加 `-stable` 即可。 +> 3. 如需指定具体的版本号,在冒号后面加 `version-`即可,例如 `certd:1.42.1-stable`。 -**镜像地址:** - -| 镜像仓库 | latest | slim | armv7 | -| --- | --- | --- | --- | -| 阿里云 | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest` | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:slim` | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7` | -| Docker Hub | `greper/certd:latest` | `greper/certd:slim` | `greper/certd:armv7` | -| GitHub Packages | `ghcr.io/certd/certd:latest` | `ghcr.io/certd/certd:slim` | `ghcr.io/certd/certd:armv7` | - -> 带版本号的标签请将 `latest` / `slim` / `armv7` 替换为 `[version]` / `[version]-slim` / `[version]-armv7` +##### 3. 镜像构建说明: - 镜像构建通过`Actions`自动执行,过程公开透明,请放心使用 - - [点我查看镜像构建日志](https://github.com/certd/certd/actions/workflows/build-image.yml) + - [点我查看预览版构建日志](https://github.com/certd/certd/actions/workflows/release-image.yml) + - [点我查看稳定版发布日志](https://github.com/certd/certd/actions/workflows/stable-release.yml) ![](./docs/images/action/action-build.jpg) -> 注意: -> +##### 4. 安全注意事项: + > - 本应用存储的证书、授权信息等属于高度敏感数据,请做好安全防护 > - 请务必使用HTTPS协议访问本应用,避免被中间人攻击 > - 请务必使用web应用防火墙防护本应用,防止XSS、SQL注入等攻击 diff --git a/README_en.md b/README_en.md index 230a13b4b..1a7a34fce 100644 --- a/README_en.md +++ b/README_en.md @@ -1,4 +1,4 @@ -# Certd +# Certd [中文](./README.md) | English @@ -95,21 +95,44 @@ You can choose one of the following deployment methods based on your needs: #### Docker Image Information: -- Domestic Image Addresses: - - `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest` - - `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7`, `[version]-armv7` -- DockerHub Addresses: - - `https://hub.docker.com/r/greper/certd` - - `greper/certd:latest` - - `greper/certd:armv7`, `greper/certd:[version]-armv7` -- GitHub Packages Addresses: +**Release channels:** - - `ghcr.io/certd/certd:latest` - - `ghcr.io/certd/certd:armv7`, `ghcr.io/certd/certd:[version]-armv7` +| Channel | Description | +| --- | --- | +| `stable` / `slim-stable` | **Stable version**, production-ready and fully tested, recommended for production environments | +| `latest` / `slim` / `armv7` | **Preview version**, latest development build with newest features but potentially less stable | + +**Image tags:** + +| Channel | Tag | Versioned Tag | Base System | Description | +| --- | --- | --- | --- | --- | +| **Stable** | `stable` | `[version]-stable` | Alpine Linux | Recommended for production | +| | `slim-stable` | `[version]-slim-stable` | Debian slim | Better DNS resolution compatibility | +| **Preview** | `latest` | `[version]` | Alpine Linux | Default, small image size | +| | `slim` | `[version]-slim` | Debian slim | Better DNS resolution compatibility | +| | `armv7` | `[version]-armv7` | Alpine Linux | ARMv7 architecture | + +**Stable version image addresses:** + +| Registry | `stable` | `slim-stable` | +| --- | --- | --- | +| Aliyun | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:stable` | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:slim-stable` | +| Docker Hub | `greper/certd:stable` | `greper/certd:slim-stable` | +| GitHub Packages | `ghcr.io/certd/certd:stable` | `ghcr.io/certd/certd:slim-stable` | + +**Preview version image addresses:** + +| Registry | `latest` | `slim` | `armv7` | +| --- | --- | --- | --- | +| Aliyun | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest` | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:slim` | `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7` | +| Docker Hub | `greper/certd:latest` | `greper/certd:slim` | `greper/certd:armv7` | +| GitHub Packages | `ghcr.io/certd/certd:latest` | `ghcr.io/certd/certd:slim` | `ghcr.io/certd/certd:armv7` | + +> For versioned tags, replace tag name with `[version]-tag`, e.g. replace `stable` with `[version]-stable` - Images are built automatically by `Actions`, with a transparent process. Please use them with confidence. - - [Click here to view image build logs](https://github.com/certd/certd/actions/workflows/build-image.yml) - + - [Click here to view preview version build logs](https://github.com/certd/certd/actions/workflows/release-image.yml) + - [Click here to view stable version release logs](https://github.com/certd/certd/actions/workflows/stable-release.yml) ![](./docs/images/action/action-build.jpg) > Note: diff --git a/docker/run/docker-compose.yaml b/docker/run/docker-compose.yaml index 5cd9592da..1e1e0ec76 100644 --- a/docker/run/docker-compose.yaml +++ b/docker/run/docker-compose.yaml @@ -5,6 +5,10 @@ services: image: registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest # image: ghcr.io/certd/certd:latest # --------- 如果 报镜像not found,可以尝试其他镜像源 # image: greper/certd:latest + # --------- 生产建议使用稳定版, latest改成stable即可 + # image: registry.cn-shenzhen.aliyuncs.com/handsfree/certd:stable + + # security_opt: # --------- 如果slim镜像下启动报错,尝试去掉这两行注释 # - seccomp=unconfined # 解决slim镜像下WorkerThreadsTaskRunner::DelayedTaskScheduler::Start() 报错问题 container_name: certd # 容器名 diff --git a/docs/guide/install/docker/index.md b/docs/guide/install/docker/index.md index f82be38b9..e627bece4 100644 --- a/docs/guide/install/docker/index.md +++ b/docs/guide/install/docker/index.md @@ -6,13 +6,22 @@ Certd 提供多种 Docker 镜像版本,您可以根据需要选择: -| 版本标签 | 基础系统 | 说明 | -| --- | --- | --- | --- | -| `latest` / `[version]` | Alpine Linux | 默认版本,镜像体积小 | -| `slim` / `[version]-slim` | Debian slim | glibc版本,dns解析兼容性更好(可能需要配置security_opt -seccomp=unconfined)| -| `armv7` / `[version]-armv7` | Alpine Linux | ARMv7 架构专用版本 | +**最新版本:** -> 如果您不确定使用哪个版本,请使用默认的 `latest` 版本。 +| 版本 | 标签 | 说明 | +| --- | --- | --- | +| 预览版【默认】 | `certd:latest` | 指向最新开发版本,包含最新功能,但稳定性不如稳定版 | +| 稳定版 | `certd:stable` | 指向经过充分测试的生产就绪版本,推荐生产环境使用 | + +**系统版本分支:** + +| 分支版本标签 | 基础系统 | 说明 | 指定版本 | 稳定版 | +| --- | --- | --- | --- | --- | +| `certd:latest` 【默认】 | Alpine Linux | 默认版本,镜像体积小 | `certd:[version]` | `certd:[version-]stable` | +| `certd:slim` | Debian slim | glibc版本,dns解析兼容性更好(可能需要配置security_opt -seccomp=unconfined)| `certd:[version-]slim` | `certd:[version-]slim-stable` | +| `certd:armv7` | Alpine Linux | ARMv7 架构专用版本 | `certd:[version]-armv7` | `certd:[version-]armv7-ststable` | + +> 如果您不确定使用哪个版本,请使用默认的 `certd:latest` 版本。 ### 一键脚本安装(推荐)