本文将使用最新版群晖和Docker来进行。
🍟准备
-
有一个已注好的域名
-
已经在群晖安装好Docker
-
已注册好 Cloudflare 帐户 https://dash.cloudflare.com/
-
Cloudflare帐户申请API
🧁群晖Docker 安装 acme.sh 免费申请*泛域名
🔦安装acme.sh Docker脚本工具
- 注册表 » 搜索 acme.sh » 选择 nellpang/acme.sh 。点击下载 弹出窗口选择 latest 最新版。
- 开启 acme.sh 容器 为后续命令规划,容量名一定要重命名为acme.sh
- acme.sh 容量映射文件夹
- 在共享文件夹(控制面板)中创建一个 docker 文件夹,然后创建一个子文件夹 acme 。
- 结构为 docker/acme
- 在 高级设置 » 存储空间 指定这个文件夹 本地目录
docker/acme
,容量装载目录/acme.sh
- 在 高级设置 » 网络 使用host (重要,网络结构很重要)
- 在 高级设置 » 网络 使用host (重要,网络结构很重要)
-
在 高级设置 » 环境 新增可变配置 (重要),命令填
daemon
,应用后开始 运行。-
SYNO_Port 群晖的访问端口,http的默认为5000,如果改动过就用改过之后的
-
SYNO_Certificate 要添加的证书的名字,空字符串("")是替代默认证书,一般使用空字符串,除非有多个证书
-
SYNO_Create 证书名不存在就自动创建,多证书使用,(这里无需添加)
-
SYNO_Username 和 SYNO_Password 为群晖的用户名及密码(管理员级别)
-
SYNO_DID 群晖开启二步验证需要加did值,没开不加。
获取方法:chome 打开群晖内网,按:F12 - 开发者工具 » 选择 “网络”;按 Windows: Ctrl+ 🆁 / macos: ⌘ + 🆁; 然后查找:群晖 ip » 标头» cookie » did ( 复制 did cookie 的内容)
-
DNS 证书的变量,具体参数可参照配置文件或acme.sh官方文档
-
cloudflare
CF_Key “cloudflare 中查看你的 key” CF_Email “你的 cloudflare 邮箱”
-
阿里云
Ali_Key Ali_Secret
-
DNSPOD
DP_Id
DP_Key
-
-
安装成功,去日志查看是否运行成功。
💾配置acme并自动同步域名SSL
🧀创建脚本
将以下代码copy至 文本编辑器,保存成txt文件 utf-8模式。然后将扩展名和文件名改为 cert-up-docker.sh
原理,使用群晖webhook脚本替换所有的证书。从此不再手动替换。
- 将cert-up-docker.sh到 docker/acme 目录
letsencrypt 版本脚本:
|
|
🍖群晖运行脚本
打开 控制面板 » 任务计划 » 新增 计划的任务 - 用户定义的脚本
对应下图将三个tab 都配好再确定
- 常规 帐号要先 root
- 计划 每月一次
- 任务设置 下面代码copy
|
|
查看是否成功
Filestation 前往 docker/acme 文件夹看有没有 证书文件。有就是成功。
后期看有没有自动续签。查看一下文件更新时间
结语
感谢前作者和爱好者不断的优化。