太TM折腾了,网上找了许多教程都失败了,翻了1个都小时官方wiki总算是让老子成功了。
记录一下吧。
或许也能帮帮其他使用的朋友们。
1、群晖打开container manager 搜索acme下载第一个|或者使用Xshell等工具连接SSH 使用以下命令拉去镜像docker pull neilpang/acme.sh
ps.先在docker目录下建立一个acme.sh文件夹
2、运行acme.sh镜像 docker容器名设置为acme,当然你也可以更改,但是后续的脚本也需要做相应的更改。
3、网络选择HOST 执行命令中填写daemon
4、以下横线内脚本代码用记事本写入,保存为文件名acme.sh
根据注释更改成自己的相关信息,这里面有不会的百度,毕竟这篇是记录文,不是一个保姆级教程。
DOMAIN='djtop.top'
CERT_SERVER='letsencrypt'
DNS="dns_cf"
SYNO_Username=''
SYNO_Password=''
SYNO_Device_Name="CertRenewal"
SYNO_DID=''
SYNO_Hostname="localhost" # Specify if not using on localhost
SYNO_Scheme="http"
SYNO_Port="5000"
SYNO_Certificate=''
DP_Id=''
DP_Key=''
Ali_Key=''
Ali_Secret=''
CF_Key=''
CF_Email=''
case $DNS in
"dns_dp")
a="DP_Id=${DP_Id}"&&b="DP_Key=${DP_Key}"
;;
"dns_ali")
a="Ali_Key=${Ali_Key}"&&b="Ali_Secret=${Ali_Secret}"
;;
"dns_cf")
a="CF_Key=${CF_Key}"&&b="CF_Email=${CF_Email}"
;;esac
SYNOUsername="SYNO_Username=${SYNO_Username}"
SYNOPassword="SYNO_Password=${SYNO_Password}"
SYNODeviceID="SYNO_Device_ID=${SYNO_DID}"
SYNOHostname="SYNO_Hostname=${SYNO_Hostname}"
SYNOScheme="SYNO_Scheme=${SYNO_Scheme}"
SYNOPort="SYNO_Port=${SYNO_Port}"
SYNOCertificate="SYNO_Certificate=${SYNO_Certificate}"
SYNODID="SYNO_DID=${SYNO_DID}"
SYNODeviceName="SYNO_Device_Name=${SYNO_Device_Name}"
docker exec -e ${a} -e ${b} acme acme.sh --log --server "${CERT_SERVER}" --issue -d "${DOMAIN}" -d "*.${DOMAIN}" --dns "${DNS}" >> /volume2/docker/acme.sh/log.txt 2>&1
docker exec -e ${SYNOUsername} -e ${SYNOPassword} -e ${SYNODeviceID} -e ${SYNOHostname} -e ${SYNOScheme} -e ${SYNOPort} -e ${SYNOCertificate} -e ${SYNODID} -e ${SYNODeviceName} acme acme.sh --issue -d "${DOMAIN}" -d "*.${DOMAIN}" --dns "${DNS}" --deploy --deploy-hook synology_dsm >> /volume2/docker/acme.sh/log.txt 2>&1`
5、将脚本上传到群晖里对应的acme容器目录,最好是上面所映射的目录中,并在群晖添加任务计划。
群晖:控制面板---计划任务
新建任务 :名称任意,账号root,运行脚本 里面放入如下命令。地址根据实际修改,主要是
bash /volume2/docker/acme.sh/acme.sh>>/volume2/docker/acme.sh/log.txt 2>&1
图床坏了,以后有心情再补充贴图吧。
没意外的话,你也已经成功了。
评论 (0)