最完整domain-admin使用指南:3分钟上手证书自动续签功能
你是否曾因SSL证书过期未及时更新导致网站访问异常?domain-admin作为一款轻量级域名SSL证书监测平台,能帮你集中管理证书生命周期,实现自动续签。本文将带你3分钟快速上手核心功能,彻底告别证书过期焦虑。
安装部署:3种快速启动方式
domain-admin提供多种安装方式,满足不同环境需求。推荐使用Docker或pip安装,最快5分钟即可完成部署。
Docker一键部署(推荐)
Docker方式无需配置Python环境,适合快速体验:
docker run \
-v $(pwd)/database:/app/database \
-v $(pwd)/logs:/app/logs \
-p 8000:8000 \
--name domain-admin \
mouday/domain-admin:latest
官方安装文档:doc/source/manual/install.md
Python pip安装
适合已有Python环境的用户:
# 创建虚拟环境
python3 -m venv venv && source venv/bin/activate
# 安装并启动
pip install gunicorn domain-admin
gunicorn --bind '0.0.0.0:8000' 'domain_admin.main:app'
源码部署(开发场景)
如需二次开发,可通过GitCode仓库获取源码:
git clone https://gitcode.com/GitHub_Trending/doma/domain-admin
cd domain-admin
python3 -m venv venv && source venv/bin/activate
pip install -r requirements/development.txt
python app.py
快速入门:3步完成证书监控配置
1. 系统登录
部署完成后访问http://localhost:8000,使用默认账号密码登录:
- 账号:admin
- 密码:123456
安全提示:首次登录后请立即修改密码,路径:用户设置 → 修改密码
2. 添加域名
登录后点击左侧菜单「域名管理」→「添加域名」,输入域名信息:
API方式添加(适合批量操作):
POST /api/addDomain
{
"domain": "example.com",
"alias": "示例网站",
"group_id": 1
}
3. 配置自动续签
在域名详情页开启「自动续签」功能,系统将通过Let's Encrypt自动申请并更新证书:
- 选择验证方式(DNS或HTTP)
- 设置续签提前天数(建议30天)
- 配置部署目标(如Nginx路径)
核心实现代码:domain_admin/service/issue_certificate_service.py
核心功能解析
多渠道通知提醒
系统支持多种证书到期通知方式,确保你不会错过任何 renewal 时间点:
- 邮件通知:domain_admin/utils/email_util.py
- 企业微信:domain_admin/utils/open_api/work_weixin_api.py
- 钉钉:domain_admin/utils/open_api/ding_talk_api.py
配置路径:系统设置 → 通知管理 → 添加通知渠道
证书批量管理
通过「导入导出」功能实现多域名批量操作:
- 批量导入:支持CSV格式导入域名列表
- 证书导出:domain_admin/templates/cert-export.csv
监控仪表盘
首页仪表盘直观展示所有域名状态,包括:
- 即将到期证书数量
- 域名分组统计
- 证书状态分布
常见问题解决
数据库配置
生产环境建议使用MySQL替换默认SQLite:
# .env文件配置
DB_CONNECT_URL=mysql://root:password@localhost:3306/domain_admin
命令执行权限
如需自动部署证书到Nginx,需配置命令白名单:
# 允许执行的命令
ALLOW_COMMANDS=/usr/sbin/nginx -s reload
总结与展望
domain-admin作为Dromara开源社区成员项目,持续迭代优化中。目前已实现域名监控、证书申请、自动续签等核心功能,未来将支持更多DNS服务商和证书类型。
通过本文指南,你已掌握domain-admin的基本使用方法。立即部署体验,让证书管理变得简单高效!
项目源码:domain_admin/
更新日志:CHANGELOG.md
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






