用一个小容器,把 SSL 证书的申请、部署、续期、监控全流程自动化。
一、为什么是它
NAS 玩家都懂这个痛:Let’s Encrypt 证书 90 天一到期,忘了续,反向代理直接报错,所有服务跟着连不上。
Certimate 就是为终结这件事而生的——一个完全开源免费的自托管 SSL 证书 ACME 工具。它把申请、部署、续期、监控串成可视化工作流,配置一次,之后基本不用再管。
几个关键卖点:
- 自托管:所有证书和云厂商密钥都存本地,数据不出门。
- 零依赖:不用装数据库、不用装运行时,一个容器跑完。
- 低占用:常驻内存约 20 MB,对 NAS 来说几乎无感。
- 全平台:Windows / Linux / macOS,多架构都能跑。
官方文档:https://docs.certimate.me/zh-CN/docs/introduction/
二、它能干什么
| 能力 | 说明 |
|---|---|
| 证书类型 | 单域名、多域名、泛域名,甚至 IP 地址证书 |
| 私钥算法 | RSA / ECC 可选 |
| 验证方式 | DNS-01(域名解析验证)、HTTP-01(文件验证) |
| 输出格式 | PEM、PFX、JKS 等 |
| 域名托管商 | 70+,阿里云、腾讯云、AWS、Cloudflare、GoDaddy…… |
| 部署目标 | 160+,Kubernetes、CDN、WAF、负载均衡、Nginx…… |
| 通知渠道 | 邮件、钉钉、飞书、企业微信、Discord、Slack、Telegram |
| 颁发机构 | Let’s Encrypt、ZeroSSL、Google Trust Services、SSL.com…… |
一句话:上游能拿到证书,下游能把证书送出去,中间全自动。
三、在 Unraid 上部署
Certimate 目前不一定能在 Unraid 应用市场(CA)里直接搜到,所以走手动添加容器。前提是你已经搞定 DDNS、域名解析和反向代理。
方式一:界面手动添加(推荐)
进入 Unraid 的 Docker → 添加容器,切到高级视图,按下面填:
基础信息
| 字段 | 值 |
|---|---|
| 名称 | certimate |
| Repository(镜像) | certimate/certimate:latest |
| 网络类型 | Bridge |
| 特权模式 | 开启 |
| WebUI | http://[IP]:[PORT:8090] |
| 图标 | 可留空,或填官方 GitHub 头像地址 |
国内拉取 Docker Hub 困难?把镜像换成阿里云加速地址即可,内容完全一致:
registry.cn-shanghai.aliyuncs.com/certimate/certimate:latest
端口映射
| 容器端口 | 宿主端口 | 协议 |
|---|---|---|
8090 |
自定义,如 8091 |
TCP |
路径映射
| 容器路径 | 宿主路径 | 读写 |
|---|---|---|
/app/pb_data |
/mnt/user/appdata/certimate |
读写 |
/etc/localtime |
/etc/localtime |
只读 |
/etc/timezone |
/etc/timezone |
只读 |
为什么要开特权模式? Certimate 需要通过 SSH 操作本机文件(比如把证书写到反向代理目录)。开启后它就能直接读写宿主机的挂载路径,省掉一堆权限麻烦。
方式二:命令行直接跑
如果你更习惯终端,在 Unraid 的终端里执行:
docker run -d \
--name certimate \
--restart unless-stopped \
-p 8090:8090 \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /mnt/user/appdata/certimate:/app/pb_data \
certimate/certimate:latest
国内环境把最后一行替换为:
registry.cn-shanghai.aliyuncs.com/certimate/certimate:latest
方式三:Docker Compose
官方提供的 docker-compose.yml 长这样,Unraid 装了 Compose Manager 插件就能直接用:
services:
certimate:
image: certimate/certimate:latest
container_name: certimate
ports:
- 8090:8090
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./data:/app/pb_data
restart: unless-stopped
四、首次登录
容器跑起来后,浏览器访问 http://你的NAS地址:端口。
默认管理员账号:
- 账号:
admin@certimate.fun - 密码:
1234567890
登录后第一件事就是改密码。
五、上手小提示
- 先建授权:在「授权管理」里填好 DNS 服务商的 API 密钥,DNS-01 验证才能自动加 TXT 记录。
- 再编排工作流:把「申请证书 → 部署到目标 → 失败通知」串成一条流程,后续全部自动跑。
- 注意版本差异:老版本镜像
usual2970/certimate的数据目录是/data,新版本certimate/certimate是/app/pb_data。迁移时别挂错路径。
配置好之后,你基本可以把它忘掉了——证书会在过期前自动续上,失败还会主动通知你。对一个长期在线的 NAS 来说,这就是最舒服的状态。