Initial vault setup
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
---
|
||||
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](https://domain-locker.com) |
|
||||
| **GitHub** | [Lissy93/domain-locker](https://github.com/Lissy93/domain-locker) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | TypeScript (Angular) + Node.js |
|
||||
| **Étoiles** | 1 060 ⭐ |
|
||||
| **Dernière MAJ** | 2026-05-22 |
|
||||
| **Catégorie** | [[cat-networking\|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é)
|
||||
|
||||
```yaml
|
||||
# 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)
|
||||
|
||||
```yaml
|
||||
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
|
||||
|
||||
```bash
|
||||
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) :
|
||||
|
||||
```yaml
|
||||
# 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_dump` quotidien (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
|
||||
|
||||
- [Site officiel](https://domain-locker.com)
|
||||
- [Documentation](https://domain-locker.com/docs)
|
||||
- [GitHub](https://github.com/Lissy93/domain-locker)
|
||||
- [Démo live](https://demo.domain-locker.com)
|
||||
- [Blog de l'auteure](https://aliciasykes.com)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-networking|Networking]] — Catégorie parente
|
||||
- [[cat-dns|DNS]] — Catégorie cousine (résolveurs)
|
||||
- [[app-netbox]] — DCIM / IPAM (vue infrastructure)
|
||||
- [[app-pihole|pi-hole]] ou [[app-adguard-home|AdGuard Home]] — DNS filtrants
|
||||
- [[app-caddy]] — Reverse-proxy TLS
|
||||
- [[recettes-docker-compose|Recettes Docker Compose]]
|
||||
- [[gestion-registrars|Stratégie multi-registrars]]
|
||||
Reference in New Issue
Block a user