Operations 6 min read

How to Build and Deploy a Lightweight Domain & SSL Monitoring Platform with Python and Vue3

Domain Admin is a lightweight Python‑Flask and Vue3 monitoring tool that tracks domain and SSL certificate expiration, supports multiple notification channels, and can be installed via pip, Docker, or source code, providing cross‑platform deployment for reliable service uptime.

Open Source Tech Hub
Open Source Tech Hub
Open Source Tech Hub
How to Build and Deploy a Lightweight Domain & SSL Monitoring Platform with Python and Vue3

Introduction

Domain Admin is a lightweight monitoring platform built with Python and Vue3 that tracks domain and SSL certificate expiration, sending alerts via multiple channels to avoid service disruption.

Features

Monitors domain and SSL certificate expiration, supporting single‑domain, multi‑domain, wildcard, IP and self‑signed certificates.

Deployable on single, multiple or dynamic hosts.

Notification channels: email, webhook, WeChat Work, DingTalk, Feishu, etc.

Cross‑platform support: macOS, Linux, Windows.

Optional Let’s Encrypt certificate acquisition.

Project Links

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

Gitee mirror: https://gitee.com/mouday/domain-admin

PyPI: https://pypi.org/project/domain-admin

Docker Hub: https://hub.docker.com/r/mouday/domain-admin

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

Documentation: https://mouday.github.io/domain-admin/, https://mouday.gitee.io/domain-admin/, https://domain-admin.readthedocs.io

Installation

Method 1 – pip install

Requires Python ≥2.7 or ≥3.4. Use pyenv + venv to manage versions.

$ python3 --version
Python 3.7.0

# Create virtual environment
$ python3 -m venv venv

# Activate
$ source venv/bin/activate

Linux/macOS:

# Install domain-admin
$ pip install gunicorn domain-admin

# Run
$ gunicorn --bind '127.0.0.1:8000' 'domain_admin.main:app'

Windows:

# Install domain-admin
$ pip install waitress domain-admin

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

Default access: http://127.0.0.1:8000 (admin / 123456). It is strongly recommended to change the default password after login.

Upgrade to latest version:

$ pip3 install -U domain-admin -i https://pypi.org/simple

Method 2 – Docker

Run the official image:

$ docker run -p 8000:8000 mouday/domain-admin
# Run in background
$ docker run -d -p 8000:8000 mouday/domain-admin
# Mount local folders
$ docker run \
  -v $(pwd)/database:/app/database \
  -v $(pwd)/logs:/app/logs \
  -p 8000:8000 \
  --name domain-admin \
  mouday/domain-admin:latest

Method 3 – Source code

Clone backend and frontend repositories for custom development:

# Backend
git clone https://github.com/mouday/domain-admin.git
pip install -r requirements.txt
make dev

# Frontend
git clone https://github.com/mouday/domain-admin-web.git
make dev

Demo Preview

Web version

Demo URL: https://mouday.github.io/domain-admin-web/ (frontend code open‑source).

Mobile version

Mobile demo URL (use mobile viewport): https://mouday.github.io/domain-admin-mini/ (frontend code open‑source).

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DockerPythonDeploymentFlaskVue3domain monitoringSSL certificates
Open Source Tech Hub
Written by

Open Source Tech Hub

Sharing cutting-edge internet technologies and practical AI resources.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.