Certimate:单二进制自托管证书管理,从 ACME 申请到续期走可视化工作流
Certimate 是一个开源、免费、可自托管的 ACME 证书工具,把证书的签发、部署、续期、监控四个环节放进一套可视化工作流里完成,覆盖证书的完整生命周期。
- 项目地址:https://github.com/certimate-go/certimate
- 文档:https://docs.certimate.me/
它解决的是什么问题
向 CA 申请一张证书本身不难,麻烦的是后面那半段。域名一多、部署目标一散,流程就变成:到期前手工去 CA 重新签发,再逐个把 PEM/PFX 传到 Kubernetes Secret、CDN、WAF、负载均衡上,中间任何一层漏掉,线上就出现证书过期告警。
Certimate 的思路是把「申请 → 部署 → 续期 → 监控」定义成一条工作流,用可视化方式编排,到期续期和分发都由它跑。
它的定位特点:
- 自托管:私有化部署,所有数据保存在本地,证书私钥和 ACME 账号不经过第三方。
- 跨平台:支持 Windows / Linux / macOS。
- 零依赖:不需要安装数据库、运行时或任何框架,开箱即用。
- 低资源占用:运行内存约 20 MB。
- 易用:以可视化工作流完成证书管理自动化。
对运维来说,单二进制加约 20 MB 内存意味着可以把它放在一台小规格机器甚至旁路环境里长期跑,不必为它单独维护数据库和依赖栈。
能力清单
- 灵活的工作流编排,从证书申请到部署全自动。
- 支持申请单域名、多域名、泛域名证书,以及 IP 地址证书;密钥可选 RSA 或 ECC。
- 同时支持 DNS-01 和 HTTP-01 两种质询方式。
- 证书格式支持 PEM、PFX、JKS。
- 支持 70+ 域名服务商,包括 AWS、Cloudflare、GoDaddy、阿里云、腾讯云等。
- 支持 160+ 部署目标,包括 Kubernetes、CDN、WAF、负载均衡等。
- 通知渠道覆盖邮件、Discord、Slack、Telegram、钉钉、飞书、企业微信等。
- 支持多个 ACME CA:Let's Encrypt、Actalis、Google Trust Services、SSL.com、ZeroSSL 等。
部署
二进制安装
从 GitHub Releases 下载对应平台的包,解压后执行:
./certimate serve
Docker 安装
docker run -d \
--name certimate \
--restart unless-stopped \
-p 8090:8090 \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v $(pwd)/data:/app/pb_data \
certimate/certimate:latest
容器把宿主机时区和时区文件只读挂进去,数据目录落在 pb_data。这个卷需要持久化,ACME 账号、已签发的证书和任务记录都在里面,重建容器时丢了就得从头配。
启动后访问 http://127.0.0.1:8090。
默认管理员账号:
- 用户名:
admin@certimate.fun - 密码:
1234567890
一点取舍判断
多域名 / 泛域名配合多部署目标,是这类工具收益最明显的场景。按 DNS-01 一次签发泛域名,再分发到 CDN、WAF、K8s 多份,手工做一轮要花不少时间,一年还得重复几轮;工作流跑起来之后这部分只剩下改配置。代价是 DNS-01 需要对应 DNS 服务商的 API 凭据,凭据的权限范围和存放方式要按你现有的密钥管理习惯来决定。反过来,如果只有一两张证书、部署目标也只有一个,手工签发和贴证书的成本并不高,引入一套自托管服务反而多了一个要维护的组件。
项目信息
- 项目地址:https://github.com/certimate-go/certimate
- 文档:https://docs.certimate.me/ ,其中包含迁移到 v0.4、使用 CNAME 完成 ACME DNS-01 质询、Why Certimate 等文章
- 许可证:MIT