6.2 KiB
title: Domain Locker created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, networking, domain-management, dns, whois, portfolio, typescript] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=networking, https://github.com/lissy93/domain-locker]
🌐 Domain Locker
Portfolio de noms de domaine self-hosted : centralisez tous vos domaines (tous registrars confondus), surveillez dates d'expiration, certificats SSL, et modifications DNS. L'alternative moderne aux tableurs oubliés et aux emails de rappel perdus.
| Métadonnée | Valeur |
|---|---|
| Site web | domain-locker.com |
| GitHub | Lissy93/domain-locker |
| License | MIT |
| Langage | TypeScript (Angular) + Node.js |
| Étoiles | 1 060 ⭐ |
| Dernière MAJ | 2026-05-22 |
| Catégorie | cat-networking |
Description
Domain Locker est un gestionnaire de portfolio de domaines auto-hébergé, conçu pour les particuliers et petites organisations qui possèdent des domaines dispersés chez 5, 10, parfois 20 registrars différents (Namecheap, Porkbun, OVH, Gandi, Cloudflare Registrar, GoDaddy…). Le problème classique : on oublie qu'un domaine expire dans 15 jours, on rate la fenêtre de récupération, et un squatter le rafle. Domain Locker résout ça en offrant une vue unifiée avec alertes intelligentes.
Les fonctionnalités clés : suivi des dates d'expiration avec alertes par email/webhook (90, 30, 7, 1 jour(s) avant), statut WHOIS en temps réel, vérification des certificats SSL/TLS (qui expire ? dans combien de jours ?), historique des nameservers (un domaine qui change de NS sans votre accord = compromission), coût annuel agrégé, et notes / tags / catégories pour organiser le portfolio. L'application supporte plusieurs bases de données (SQLite pour l'homelab, PostgreSQL pour la prod).
L'auteur est Lissy93 (Alicia Sykes), prolifique mainteneuse d'outils privacy-first (who-dat, breach-directory, web-check…). Le code est auditable, l'app est concue pour fonctionner sans aucune télémétrie.
Installation
Docker Compose (recommandé)
# docker-compose.yml
services:
domain-locker:
image: lissy93/domain-locker:latest
container_name: domain-locker
restart: unless-stopped
ports:
- "8484:8080"
environment:
- NODE_ENV=production
- DB_TYPE=sqlite # ou postgres
- DB_PATH=/data/locker.db
- SMTP_HOST=smtp.example.com
- SMTP_PORT=587
- SMTP_USER=alerts@example.com
- SMTP_PASS=*** - SMTP_FROM=Domain Locker <alerts@example.com>
- TZ=Europe/Paris
volumes:
- dl-data:/data
volumes:
dl-data:
Avec PostgreSQL (production)
domain-locker-db:
image: postgres:16-alpine
container_name: domain-locker-db
restart: unless-stopped
environment:
- POSTGRES_DB=domainlocker
- POSTGRES_USER=locker
- POSTGRES_PASSWORD=***
volumes:
- dl-pgdata:/var/lib/postgresql/data
Installation manuelle
git clone https://github.com/Lissy93/domain-locker.git
cd domain-locker
npm ci
npm run build
npm start # http://localhost:8080
Configuration
Premier lancement : créer un compte admin, puis ajouter les domaines un par un (FQDN, registrar, date d'expiration, coût annuel, notes). Domain Locker peut interroger le WHOIS automatiquement à l'ajout et mettre à jour les champs vides.
Alertes configurables dans Settings → Notifications :
- Email à J-90, J-30, J-7, J-1
- Webhook Discord/Slack/Ntfy
- Browser push (PWA)
Cron de vérification (par défaut quotidien) :
# docker-compose, override
domain-locker-cron:
image: lissy93/domain-locker-cron
depends_on:
- domain-locker
environment:
- LOCKER_API_URL=http://domain-locker:8080
- LOCKER_API_KEY=***
Alternatives
Open Source
- DomainMOD — PHP, plus ancien, plus complexe (vise l'entreprise)
- Domain-Manager (Mike-Amki) — scripts CLI
- Octopoly / Domstock — divers forks, faible maintenance
- Vaultwarden + custom field — pour 1-2 domaines
- handy-man-notes — tableur self-hosted (sheetable/cellware)
- Netbox (en partie) — track les DNS records, mais pas l'expiration registrar
Propriétaire (ce que Domain Locker remplace)
- Domain Monitor (Savy) — SaaS, 50$/an
- DomainScan — abandonné
- Spreadsheets manuels — risques d'oubli, pas d'alerte
- Emails de registrar — facilement noyés sous le spam
- Hover / Gandi dashboards — limités à leurs propres TLDs
- Porkbun / Namecheap alerts — uniquement leurs domaines
Sécurité
- API keys registrar : si vous voulez que Domain Locker interroge les APIs (optionnel), stocker les clés de manière chiffrée. Sinon, le WHOIS public suffit pour 90% du suivi.
- HTTPS obligatoire : l'app révèle vos domaines et leurs coûts. Mettre derrière app-caddy ou Traefik avec TLS.
- 2FA natif : activer dès la création du compte admin.
- Backup de la base :
pg_dumpquotidien (si PostgreSQL) ou simple copie du fichier SQLite. - Rate-limiting WHOIS : certains TLDs limitent les requêtes ; Domain Locker a un cache mais restez raisonnable.
- Audit des changements DNS : activez les notifications, ça peut indiquer une compromission.
- Pas d'email d'alerte en clair : Domain Locker supporte PGP, recommandé si les emails passent par des serveurs tiers.
- Update des deps : suivre les release GitHub, mise à jour mensuelle conseillée.
Ressources
Pages Liées
- cat-networking — Catégorie parente
- cat-dns — Catégorie cousine (résolveurs)
- app-netbox — DCIM / IPAM (vue infrastructure)
- app-pihole ou app-adguard-home — DNS filtrants
- app-caddy — Reverse-proxy TLS
- recettes-docker-compose
- gestion-registrars