No description
- TypeScript 95.7%
- Dockerfile 1.9%
- Shell 1.4%
- HTML 0.4%
- CSS 0.3%
- Other 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| config | ||
| data | ||
| server | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| build-stats.md | ||
| CHANGELOG.md | ||
| CloudronManifest.json | ||
| CloudronVersions.json | ||
| DESCRIPTION.md | ||
| Dockerfile | ||
| domainwatcher-logo.png | ||
| index.html | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| POSTINSTALL.md | ||
| README.md | ||
| start.sh | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.server.json | ||
| version.md | ||
| vite.config.ts | ||
DomainWatcher (Cloudron package)
A self-hosted domain asset monitoring dashboard, packaged for Cloudron.
- Backend: Node.js (Express) with the built-in
node:sqlitedriver. - Frontend: React + Vite + Tailwind CSS (TypeScript).
- Storage: SQLite in
/app/data/domainwatcher.db(backed up via a logical dump). - Scanner: RDAP (with WHOIS fallback), DNS record audit (
NS,A,AAAA,CNAME,MX,TXTincl. SPF/DMARC,SOA,CAA), DNSSECDScheck and TLS certificate expiry. - Health: per-domain DNS health score with a breakdown of deductions; incomplete scans keep the last known data and are flagged as stale.
- Alerts: Signed webhook
POSTs for domains nearing expiry. - Cloudron: optional import of app-assigned domains and app-to-domain mapping.
Configuration
Settings are read from /app/data/config.json (a default is created on first run) and can also be changed in the
app's Settings screen. DNS provider mappings can be overridden via /app/data/providers.json. See POSTINSTALL.md
for details.
Packaged by @timconsidine https://communityapps.appx.uk (full portfolio: https://myca.appx.uk)