71803f891d | ||
---|---|---|
.github | ||
docker/run | ||
docs | ||
packages | ||
test | ||
.gitignore | ||
.npmrc | ||
.prettierrc | ||
CHANGELOG.md | ||
LICENSE | ||
LICENSE.md | ||
README.md | ||
build-dev.trigger | ||
build.trigger | ||
deploy.js | ||
deploy.trigger | ||
index.ts | ||
init.sh | ||
lerna.json | ||
package.json | ||
pnpm-workspace.yaml | ||
publish-check.js | ||
start.sh | ||
step.md | ||
tsconfig.json |
README.md
Certd
Certd 是一个免费全自动申请和自动部署更新SSL证书的管理系统。
后缀d取自linux守护进程的命名风格,意为证书守护进程。
关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签、证书管理工具
一、特性
本项目不仅支持证书申请过程自动化,还可以自动化部署更新证书,让你的证书永不过期。
- 全自动申请证书(支持所有注册商注册的域名)
- 全自动部署更新证书(目前支持部署到主机、阿里云、腾讯云等,目前已支持40+部署插件)
- 支持DNS-01、HTTP-01、CNAME代理等多种域名验证方式
- 支持通配符域名/泛域名,支持多个域名打到一个证书上,支持pem、pfx、der、jks等多种证书格式
- 邮件通知、webhook通知
- 私有化部署,数据保存本地,授权信息加密存储,镜像由Github Actions构建,过程公开透明
- 支持SQLite,PostgreSQL、MySQL数据库
流水线数量现已调整为无限制,欢迎大家使用
关于证书续期:
- 实际上没有办法不改变证书文件本身情况下直接续期或者续签。
- 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。
二、在线体验
官方Demo地址,自助注册后体验
注意数据将不定期清理,不定期停止定时任务,生产使用请自行部署
包含敏感信息,务必自己本地部署进行生产使用
三、使用教程
仅需3步,让你的证书永不过期
1. 创建证书流水线
添加成功后,就可以直接运行流水线申请证书了
2. 添加部署任务
当然我们一般需要把证书部署到应用上,certd支持海量的部署插件,您可以根据自身实际情况进行选择,比如部署到Nginx、阿里云、腾讯云、K8S、CDN、宝塔、1Panel等等
如果目前的部署插件都无法满足,您也可以手动下载,然后自行部署
3. 定时运行
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
-------> 点我查看详细使用步骤演示 <--------
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
更多教程请访问文档网站 certd.docmirror.cn
四、私有化部署
由于证书、授权信息等属于高度敏感数据,请务必私有化部署,保障数据安全
您可以根据实际情况从如下方式中选择一种方式进行私有化部署:
Docker镜像说明:
-
国内镜像地址:
registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7
、[version]-armv7
-
DockerHub地址:
https://hub.docker.com/r/greper/certd
greper/certd:latest
greper/certd:armv7
、greper/certd:[version]-armv7
-
镜像构建通过
Actions
自动执行,过程公开透明,请放心使用
五、 升级
docker-compose方式部署
1. 如果使用固定版本号
- 修改
docker-compose.yaml
中的镜像版本号 - 运行
docker compose up -d
即可
2. 如果需要使用最新版本
#重新拉取镜像
docker pull registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
# 重新启动容器
docker compose down
docker compose up -d
数据默认存在
/data/certd
目录下,不用担心数据丢失
自动升级(仅限尝鲜建议非生产使用)
version: '3.3'
services:
certd:
image: registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
container_name: certd
restart: unless-stopped
volumes:
- /data/certd:/app/data
ports:
- "7001:7001"
- "7002:7002"
environment:
- certd_system_resetAdminPasswd=false
labels:
com.centurylinklabs.watchtower.enable: "true"
certd-updater: # 添加 Watchtower 服务
image: containrrr/watchtower:latest
container_name: certd-updater
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# 配置 自动更新
environment:
- WATCHTOWER_CLEANUP=true # 自动清理旧版本容器
- WATCHTOWER_INCLUDE_STOPPED=false # 不更新已停止的容器
- WATCHTOWER_LABEL_ENABLE=true # 根据容器标签进行更新
- WATCHTOWER_POLL_INTERVAL=300 # 每 5 分钟检查一次更新
其他部署方式升级方法
请参考 https://certd.docmirror.cn/guide/install/upgrade.html
更新日志:
六、一些说明
- 本项目ssl证书提供商为letencrypt/Google/ZeroSSL
- 申请过程遵循acme协议
- 证书续期:
- 实际上没有办法不改变证书文件本身情况下直接续期或者续签。
- 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。
- 免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少
- 设置每天自动运行,当证书过期前35天,会自动重新申请证书并部署
七、不同平台的设置说明
- 已迁移到新的文档网站,请到常见问题章节查看
- 最新文档站链接 https://certd.docmirror.cn
八、问题处理
7.1 忘记管理员密码
九、联系作者
如有疑问,欢迎加入群聊(请备注certd)
加群 | 微信群 | QQ群 |
---|---|---|
二维码 |
也可以加作者好友
加作者好友 | 微信 QQ |
---|---|
二维码 |
十、捐赠
支持开源,为爱发电,我已入驻爱发电
https://afdian.com/a/greper
发电权益:
- 可加入发电专属群,可以获得作者一对一技术支持
- 您的需求我们将优先实现,并且将作为专业版功能提供
- 一年期专业版激活码
- 赠送国外免费服务器部署方案(0成本使用Certd,可能需要翻墙,不过现在性能越来越差了)
专业版特权对比
功能 | 基础版 | 专业版 |
---|---|---|
免费证书申请 | 免费无限制 | 无限制 |
域名数量 | 免费无限制 | 无限制 |
证书流水线条数 | 免费无限制 | 无限制 |
站点证书监控 | 1条 | 无限制 |
自动部署插件 | 阿里云、腾讯云、七牛云、SSH | 支持群晖、宝塔、1Panel等,持续开发中 |
通知 | 邮件、webhook | server酱、企微、anpush等 |
十一、贡献代码
- 本地开发 贡献插件
- 作为贡献者,代表您同意您贡献的代码如下许可:
- 可以调整开源协议以使其更严格或更宽松。
- 可以用于商业用途。
十二、 开源许可
- 本项目遵循 GNU Affero General Public License(AGPL)开源协议。
- 允许个人和公司内部自由使用、复制、修改和分发本项目,未获得商业授权情况下禁止任何形式的商业用途
- 未获得商业授权情况下,禁止任何对logo、版权信息及授权许可相关代码的修改。
- 如需商业授权,请联系作者。
十三、我的其他项目(求Star)
项目名称 | stars | 项目描述 |
---|---|---|
袖手AI | 袖手GPT,国内可用,无需FQ,每日免费额度 | |
fast-crud | 基于vue3的crud快速开发框架 | |
dev-sidecar | 直连访问github工具,无需FQ,解决github无法访问的问题 |
十四、更新日志
更新日志:CHANGELOG