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.
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/activateLinux/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/simpleMethod 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:latestMethod 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 devDemo 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).
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Open Source Tech Hub
Sharing cutting-edge internet technologies and practical AI resources.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
