Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

golangle/configable-auto-cert

Repository files navigation

一、域名证书自动化申请服务和续期

  • 这是一个启动docker容器,即可自动完成域名证书自动化申请服务和续期。

  • 非常适合自动化部署。

1、使用 golang 自带的 autocert 开发的自动签名和续期应用

  • 1、只需 1个配置文件

只需要把需要签名的域名填写到 conf/domains.txt 文件中,启动docker就可以完成自动签名和续期的工作。

  • 2、配置文件说明

domains.txt 支持一行单个域名和多个域名,多个域名之间可以用一个或多个空格间隔。

如需定制,可以将config.conf.example 改名为 config.conf,并参考 config.conf.example 的说明进行修改。

配置文件保存在 /conf 路径下,需要把自己的 domains.txt 保存在 /conf 中并挂载到容器上。 签名的结果保存在 /cert-cache 路径下,如需要持久保存,也需要一个路径挂载到容器上。

2、直接使用

docker run -p 80:80 -p 443:443 -v /data/volumes/configable-auto-cert/cert-cache:/cert-cache -v /data/volumes/configable-auto-cert/conf:/conf -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --label description="自动签名续期" --label 启动日期="2025-11-29"  -d --name conf-auto-cert  configable-auto-cert

3、使用脚本启动

进入含有 cert-cache 和 conf 文件夹的路径,执行下面的脚本。

#!/bin/bash
INSTANCE_NAME="conf-auto-cert"
IMAGE_NAME="configable-auto-cert"
BASE_PATH=$(pwd)
docker run -p 80:80 -p 443:443 -v  ${BASE_PATH}/cert-cache:/cert-cache -v ${BASE_PATH}/conf:/conf -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --label description="自动签名续期" --label 启动日期="2025-11-29"  -d --name ${INSTANCE_NAME}  ${IMAGE_NAME}

4、在域名列表保持不变的情况下,构建包含自己域名数据的docker镜像

FROM configable-auto-cert:latest
COPY conf /conf

5、构建定制域名的docker镜像

docker build -t my-custom-autocert .

6、启动镜像

docker run -p 80:80 -p 443:443 -v /data/volumes/configable-auto-cert/cert-cache:/cert-cache -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --label description="自动签名续期" --label 启动日期="2025-11-29"  -d --name my-cert my-custom-autocert  

7、构建自己docker镜像的好处

  • 把域名列表保存在git服务器的项目中,修改域名列表的时候,提交到 git上,同时触发jenkins git push 事件,实现docker镜像的重新构建并重新部署。

  • 只有域名没有变化,镜像可以长期的重复使用。

About

configable auto cert base golang auto cert.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages