Domain Admin 开源的域名及证书管理平台

释放双眼,带上耳机,听听看~!
🤖 由 ChatGPT 生成的文章摘要

目前各大云厂商申请的证书只有3个月有效期,导致每次更新都需要登录各大厂商的DNS解析平台进行管理配置,域名过多会导致维护麻烦。

Domain Admin 是一个基于 Python 和 Vue3.js 技术栈实现的域名和 SSL 证书监测平台。它旨在解决不同业务域名 SSL 证书申请自不同平台,到期后无法及时收到通知,导致线上访问异常的问题。

Domain Admin是一个轻量级监控方案,占用系统资源较少。同时,Domain Admin也可以作为一个Flask 和 Vue.js前后端分离的项目模板

项目优势

  • 集中管理: 提供一个统一的平台来管理多个域名,极大地提高了管理效率。
  • 自动提醒: 支持域名到期提醒,帮助用户避免因域名过期导致的服务中断。
  • 开源灵活: 作为开源项目,用户可以根据自身需求进行定制和扩展。
  • 社区支持: 拥有活跃的社区,可以获得持续的更新和问题支持。
  • 用户友好: 界面简洁直观,容易上手。

功能描述

  • 核心功能:域名、SSL证书 和 托管证书文件 的过期监控,到期提醒
  • 支持证书:单域名证书、多域名证书、泛域名(通配符)证书、IP证书、自签名证书
  • 证书部署:单一主机部署、多主机部署、动态主机部署
  • 通知渠道:支持邮件、Webhook、企业微信、钉钉、飞书等通知方式
  • 支持平台:macOS、Linux、Windows
  • 辅助功能:Let’s Encrypt SSL证书免费申请和SSL证书自动续期
  • 多语言:支持中文、英文

效果预览

Domain Admin 开源的域名及证书管理平台

Domain Admin 开源的域名及证书管理平台

Domain Admin 开源的域名及证书管理平台

安装部署

Domain Admin支持不同方式安装,其它安装方式可以参考官方文档

宝塔
Docker
源码
1Panel
pip 链接

本次安装主要是以k8s方式部署,并且接入腾讯云DNSPOD进行纳管域名

创建ns

kubectl create tools

创建pvc

创建pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: domain-pvc
  namespace: tools
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi
  storageClassName: managed-nfs-storage

接下来创建deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: domain-admin-latest
  namespace: tools
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  selector:
    matchLabels:
      app: domain-admin
  template:
    metadata:
      labels:
        app: domain-admin
    spec:
      containers:
      - name: domain-admin
        image: mouday/domain-admin:latest
        imagePullPolicy: Always
        env:
        - name: DB_CONNECT_URL
          value: "sqlite:///database/database.db"
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /
            port: http
            scheme: HTTP
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        ports:
        - containerPort: 8000
          name: http
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /
            port: http
            scheme: HTTP
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        volumeMounts:
        - name: database-volume
          mountPath: /app/database/
      volumes:
      - name: database-volume
        persistentVolumeClaim:
          claimName: domain-pvc

创建svc

apiVersion: v1
kind: Service
metadata:
  name: domain-admin
  namespace: tools
spec:
  type: NodePort
  selector:
    app: domain-admin
  ports:
    - port: 8000
      targetPort: 8000
      nodePort: 30200  # 可以指定一个 NodePort,或者让 Kubernetes 自动分配

创建pvc并检查

root@k8s-01:~/domain# kubectl apply -f pvc.yaml
persistentvolumeclaim/domain-pvc created
root@k8s-01:~/domain#
root@k8s-01:~/domain#
root@k8s-01:~/domain# kubectl get pvc -n tools
NAME         STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS          AGE
domain-pvc   Bound    pvc-a8759bb5-492b-422b-833e-01c5e520f436   50Gi       RWO            managed-nfs-storage   4s

创建deployment

root@k8s-01:~/domain# kubectl apply -f deployment.yaml
deployment.apps/domain-admin created

访问测试
Domain Admin 开源的域名及证书管理平台

默认用户名为admin,默认密码123456

Domain Admin 开源的域名及证书管理平台

Domain Admin 开源的域名及证书管理平台

给TA打赏
共{{data.count}}人
人已打赏
Linux

Shell 监控出口公网IP是否发生变化并企微告警

2024-12-19 14:51:05

Ubuntu

ubuntu如何将网卡名称修改为eth0

2023-9-14 0:28:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索