Skip to content
/ certd Public
forked from certd/certd

开源SSL证书管理工具;全自动证书申请、更新、续期;通配符证书,泛域名证书申请;证书自动化部署到阿里云、腾讯云、主机、群晖、宝塔;https证书,pfx证书,der证书,TLS证书,nginx证书自动续签自动部署

License

Notifications You must be signed in to change notification settings

Carinx/certd

 
 

Repository files navigation

Certd

Certd 是一个免费全自动申请和自动部署更新SSL证书的管理系统。
后缀d取自linux守护进程的命名风格,意为证书守护进程。

关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签、证书管理工具

一、特性

本项目不仅支持证书申请过程自动化,还可以自动化部署更新证书,让你的证书永不过期。

  • 全自动申请证书(支持所有注册商注册的域名)
  • 全自动部署更新证书(目前支持部署到主机、部署到阿里云、腾讯云等,目前已支持30+部署插件)
  • 支持通配符域名/泛域名,支持多个域名打到一个证书上
  • 邮件通知
  • 私有化部署,保障数据安全
  • 支持sqlite,postgresql数据库

二、在线体验

官方Demo地址,自助注册后体验

https://certd.handsfree.work/

注意数据将不定期清理,不定期停止定时任务,生产使用请自行部署
包含敏感信息,务必自己本地部署进行生产使用

三、使用教程

更多教程请访问文档网站 certd.docmirror.cn

本案例演示,如何配置自动申请证书,并部署到阿里云CDN,然后快要到期前自动更新证书并重新部署

演示 演示 演示 演示 演示

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
-------> 点我查看详细使用步骤演示 <--------
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

当前支持的部署插件列表 演示

四、私有化部署

由于证书、授权信息等属于高度敏感数据,请务必私有化部署,保障数据安全

4.1 宝塔面板一键部署

  1. 安装宝塔面板,前往 宝塔面板 官网,选择9.2.0以上正式版的脚本下载安装

  2. 安装后登录宝塔面板,在菜单栏中点击 Docker,首次进入会提示安装Docker服务,点击立即安装,按提示完成安装

  3. 安装完成后在应用商店中找到certd(要先点右上角更新应用),点击安装,配置域名等基本信息即可完成安装

4.2 宝塔面板容器编排部署

宝塔面板容器编排部署教程

4.3 Docker部署

1. 安装docker、docker-compose

1.1 准备一台云服务器

  • 【阿里云】云服务器2核2G,新老用户同享,99元/年,续费同价!【 立即购买
  • 【腾讯云】云服务器2核2G,新老用户同享,99元/年,续费同价!【 立即购买

1.2 安装docker

https://docs.docker.com/engine/install/
选择对应的操作系统,按照官方文档执行命令即可

2. 运行certd

docker-compose.yaml 下载

当前版本号:

# 随便创建一个目录
mkdir certd
# 进入目录
cd certd
# 下载docker-compose.yaml文件,或者手动下载放到certd目录下
wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml

# 可以根据需要修改里面的配置
# 1.修改镜像版本号【可选】
# 2.配置数据保存路径【可选】
# 3.修改端口号【可选】
vi docker-compose.yaml # 【可选】

# 启动certd
docker compose up -d

如果提示 没有compose命令,请安装docker-compose
https://docs.docker.com/compose/install/linux/

3. 镜像说明:

  • 国内镜像地址:

    • 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:armv7greper/certd:[version]-armv7
  • 镜像构建通过Actions自动执行,过程公开透明,请放心使用

4. 访问测试

http://your_server_ip:7001
默认账号密码:admin/123456
记得修改密码

4.4 源码部署

# 克隆代码
git clone https://github.com/certd/certd
git checkout v1.26.7  # 这里换成最新版本号
cd certd
# 启动服务
./start.sh  
# 数据默认保存在 ./packages/ui/certd-server/data 目录下,注意数据备份

如果是windows,请先安装git for windows ,然后右键,选择open git bash here打开终端,再执行./start.sh命令

五、 升级

如果使用固定版本号

  1. 修改docker-compose.yaml中的镜像版本号
  2. 运行docker compose up -d 即可

如果使用latest版本

#重新拉取镜像
docker pull registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
# 重新启动容器
docker compose down
docker compose up -d

数据默认存在/data/certd目录下,不用担心数据丢失

更新日志: CHANGELOG

六、一些说明

  • 本项目ssl证书提供商为letencrypt
  • 申请过程遵循acme协议
  • 需要验证域名所有权,一般有两种方式(目前本项目仅支持dns-01)
    • http-01: 在网站根目录下放置一份txt文件
    • dns-01: 需要给域名添加txt解析记录,通配符域名只能用这种方式
  • 证书续期:
    • 实际上没有办法不改变证书文件本身情况下直接续期或者续签。
    • 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。
  • 免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少
  • 设置每天自动运行,当证书过期前20天,会自动重新申请证书并部署

七、不同平台的设置说明

八、问题处理

7.1 忘记管理员密码

解决方法如下:

  1. 修改docker-compose.yaml文件,将环境变量certd_system_resetAdminPasswd改为true
services:
  certd:
    environment: # 环境变量
      - certd_system_resetAdminPasswd=false
  1. 重启容器
docker compose up -d
docker logs -f --tail 500 certd
# 观察日志,当日志中输出“重置1号管理员用户的密码完成”,即可操作下一步
  1. 修改docker-compose.yaml,将certd_system_resetAdminPasswd改回false
  2. 再次重启容器
docker compose up -d
  1. 使用admin/123456登录系统,请及时修改管理员密码

九、联系作者

如有疑问,欢迎加入群聊(请备注certd)

  • QQ群:141236433
  • 微信群:

加作者好友

十、捐赠


支持开源,为爱发电,我已入驻爱发电
https://afdian.com/a/greper

发电权益:

  1. 可加入发电专属群,可以获得作者一对一技术支持
  2. 您的需求我们将优先实现,并且将作为专业版功能提供
  3. 一年期专业版激活码
  4. 赠送国外免费服务器部署方案(0成本使用Certd,可能需要翻墙,不过现在性能越来越差了)

专业版特权对比

功能 免费版 专业版
免费证书申请 免费无限制 免费无限制
自动部署插件 阿里云CDN、腾讯云、七牛CDN、主机部署等 支持群晖、宝塔、1Panel等,持续开发中
发邮件功能 需要配置 免配置
证书流水线条数 10条 无限制

十一、贡献代码

  1. 本地开发 贡献插件教程
  2. 作为贡献者,代表您同意您贡献的代码如下许可:
    1. 可以调整开源协议以使其更严格或更宽松。
    2. 可以用于商业用途。

十二、 开源许可

  • 本项目遵循 GNU Affero General Public License(AGPL)开源协议。
  • 允许个人和公司使用、复制、修改和分发本项目,禁止任何形式的商业用途
  • 未获得商业授权情况下,禁止任何对logo、版权信息及授权许可相关代码的修改。
  • 如需商业授权,请联系作者。

十三、我的其他项目(求Star)

  • 袖手GPT ChatGPT,国内可用,无需FQ,每日免费额度
  • fast-crud 基于vue3的crud快速开发框架
  • dev-sidecar 直连访问github工具,无需FQ,解决github无法访问的问题

十四、更新日志

更新日志:CHANGELOG

About

开源SSL证书管理工具;全自动证书申请、更新、续期;通配符证书,泛域名证书申请;证书自动化部署到阿里云、腾讯云、主机、群晖、宝塔;https证书,pfx证书,der证书,TLS证书,nginx证书自动续签自动部署

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 47.1%
  • JavaScript 29.5%
  • Vue 15.3%
  • CSS 6.7%
  • HTML 0.8%
  • Less 0.4%
  • Other 0.2%