Domain Admin

基于Python + Vue3.js 技术栈实现的域名SSL证书监测平台

核心功能:到期自动邮件提醒

用于解决,不同业务域名SSL证书,申请自不同的平台,到期后不能及时收到通知,导致线上访问异常,被老板责骂的问题

支持平台:macOS、Linux、Windows

网页版:

web
web

桌面版:

desktop
desktop

安装

方式一:pip安装

运行环境:

  • Python 3.7.0
$ pip install domain_admin

# 升级到最新版本,可选
$ pip3 install -U domain-admin -i https://pypi.org/simple

# 启动运行
$ gunicorn 'domain_admin.main:app'

访问地址:http://127.0.0.1:8000

默认的管理员账号:admin 密码:123456

强烈建议:登录系统后修改默认密码

方式二:docker启动

$ docker run -p 8000:8000 mouday/domain-admin

方式三:克隆源码运行

git clone https://github.com/mouday/domain-admin.git

# 安装依赖
pip install -r requirements.txt

# 启动生产服务
make pro

# 启动开发服务
make dev

项目简介

问题

1、暂不支持多进程方式启动

使用 master + 多worker 方式启动应用,会启动多个定时任务Scheduler,导致多次执行任务

如果小规模使用,启动一个进程即可

如果是需要支持并发访问,可自行改进应用

将定时器独立出来,单独一个进程控制,行成 scheduler + Flask(master + 多worker)

2、为什么外网访问不到?

# 启动运行
$ gunicorn 'domain_admin.main:app'

# 支持外网可访问,云服务器(阿里云或腾讯云)需要设置安全组 
# 默认内网访问 --bind 127.0.0.1:8000
$ gunicorn --bind '0.0.0.0:8000' domain_admin.main:app'

更多设置,可参考gunicorn

3、Windows平台启动报错,找不到模块 fcntl

gunicorn不支持Windows,可以使用waitress 替换

$ pip install waitress

$ waitress-serve --listen=127.0.0.1:8000 domain_admin.main:app

参考:https://stackoverflow.com/questions/45228395/error-no-module-named-fcntl

4、添加域名数据后系统异常

可按如下步骤删除异常数据

docker 启动方式

# 查看容器的运行信息
$ docker ps

# 进入容器
$ docker exec -it <容器id> /bin/sh

# 安装依赖
$ apk add sqlite

# 进入sqlite3
$ sqlite3

sqlite> .open /app/database/database.db

sqlite> .tables
log_scheduler  tb_group       tb_system      tb_version
tb_domain      tb_notify      tb_user

# 查看数据
sqlite> select * from tb_domain;

# 删除数据
sqlite> DELETE FROM tb_domain WHERE id = 1;

# 退出
sqlite> .quit

5、邮件发送失败

可尝试更换端口25465

https://github.com/mouday/domain-admin