手里有域名的看过来!NAS上安装 Domain Locker 全能型域名管理与监控系统
如果你手里只有一两个域名,可能永远理解不了“域名管理焦虑”这件事。
但只要你开始折腾 NAS、自建服务、博客、反代、CDN,域名一多,问题就会接踵而来。
这个域名到底在哪个注册商?
SSL 证书什么时候过期?
这个子域名之前是不是指向过别的 IP?
DNS 是我改的,还是当时测试忘了还原?
最近在整理自己 NAS 上跑的基础服务时,发现了 Domain Locker 这个项目,说实话,它把上面这些问题一次性捋顺了。
Domain Locker 是干什么的?
一句话总结:
把你所有域名相关的信息,集中到一个可长期运行的控制台里。
你只需要把域名加进去,后面的事它会帮你自动完成:
分析域名注册与到期信息
拉取 DNS、子域名、证书、IP、服务商等数据
持续监控状态变化,并在关键节点提醒你
它不是“查一眼就走”的工具,而是更偏向 域名资产管理系统,适合长期跑在 NAS 或服务器上。
这些功能,是真正戳中痛点的
到期与变更提醒,不再靠记忆力
域名到期、证书快失效、解析发生变化,这些都可以提前提醒你。
你可以按自己的习惯设置提前多久通知,避免“临近到期才发现”的被动局面。
对域名多、注册商分散的人来说,这一点非常关键。
子域名与 DNS 信息自动整理
Domain Locker 会自动扫描并整理你添加的域名下的子域名和 DNS 记录。
当你做安全审计、服务迁移或者排查访问异常时,不需要再手动翻配置。
所有信息都在一个页面里,清清楚楚。
历史记录,解决“我到底改没改过”的问题
这是我个人很喜欢的一点。
DNS 改过什么
证书什么时候换的
指向的 IP 是否发生过变化
这些都会留下记录。
当你哪天遇到问题,不再是靠猜,而是能直接回看历史。
分类、标签和关联资源
域名可以按用途打标签,比如:
博客
项目
测试
内网服务
同时还能关联:
SSL 证书
IP 地址
主机和服务商
哪怕你有几十上百个域名,也能很快定位到目标。
对 NAS / 自托管玩家非常友好
如果你和我一样,优先考虑 能不能本地部署、数据在不在自己手里,那 Domain Locker 是加分的。
官方支持 Docker 部署
项目本身就是围绕容器设计的,官方直接提供 Docker 方案,适合部署在:
群晖 NAS
飞牛 NAS
普通 Linux 服务器
数据库支持 PostgreSQL,这一点对 NAS 用户来说非常友好,基本是标配。
数据完全本地持久化,不依赖第三方服务。
隐私和可控性这块做得很克制
不强制云依赖
不默认埋追踪
本地部署就是完整功能
你只是在管理自己的域名资产,而不是“顺便把数据交出去”。
细节设计,明显是给技术用户准备的
用了一段时间,能明显感觉到这是一个工程思维导向的项目:
多主题界面,深色模式下长时间看不累
内置 API,可和其他自建服务联动
自带诊断页面,排错不靠猜
项目文档清晰,社区活跃,更新节奏稳定
它不是那种“看起来花哨,用起来糟心”的项目。
哪些人特别适合用它?
如果你符合下面任意一条,都可以考虑试试:
手里有 10 个以上域名
域名分散在多个注册商
NAS 上已经跑了不少自建服务
对数据隐私和可控性有要求
想把域名管理这件事系统化、长期化
部署教程
演示在飞牛NAS上部署,其他系统请安装好Docker和docker compose
打开飞牛NAS的系统设置--SSH--SSH功能--启用

使用终端软件通过SSH连接到NAS,并切换到root状态下。
演示在飞牛NAS上创建一个docker文件夹,作为部署所有项目的总文件夹(其他NAS系统可自行创建一个docker文件夹)
打开飞牛的文件管理,点击docker文件夹--右键详细信息--常规--位置,复制该文件夹原始路径。

在终端软件内进入该文件夹位置
# 将 /vol1/1000/docker 换成你实际的文件夹路径 cd /vol1/1000/docker创建并进入项目文件夹
mkdir domain-locker && cd domain-locker创建项目子文件夹
mkdir db mkdir postgres/data在线拉取所需的数据库结构文件(你也可以手动下载了放入到db文件夹内,点此处高速网盘下载。)
wget https://raw.githubusercontent.com/Lissy93/domain-locker/main/db/schema.sql -O db/schema.sql编辑 docker-compose.yml 文件
vi docker-compose.yml按字母
i键进入编辑模式,复制并粘贴下面的模板代码,按Esc键退出编辑模式,输入:wq保存并退出。services: domain-locker: image: lissy93/domain-locker:latest container_name: domain-locker restart: unless-stopped # 加载 .env 环境变量 env_file: - .env # 官方默认 Web 端口是 3000 # NAS 上避免端口冲突就通过 3010 访问 ports: - "3010:3000" # 确保数据库先启动 depends_on: - postgres networks: - domainlocker-net postgres: image: postgres:15 container_name: domain-locker-postgres restart: unless-stopped # 初始化数据库账号和库 environment: POSTGRES_USER: domainlocker POSTGRES_PASSWORD: domainlocker_pass POSTGRES_DB: domainlocker TZ: Asia/Shanghai # 数据持久化 volumes: - ./postgres/data:/var/lib/postgresql/data # 可将 ./postgres/data 换成完整的文件夹路径 # 映射端口仅用于调试 # 避开 NAS 本地 5432 端口冲突 ports: - "55432:5432" networks: - domainlocker-net networks: domainlocker-net: driver: bridge编辑
.env文件vi .env按字母
i键进入编辑模式,复制并粘贴下面的模板代码,按Esc键退出编辑模式,输入:wq保存并退出。######################################## # Domain Locker 运行环境 ######################################## # 环境类型 # 官方支持:selfHosted / dev / demo DL_ENV_TYPE=selfHosted ######################################## # 访问地址(用于前端 / API / 回调) ######################################## # 对外访问地址 BASE_URL=http://192.168.2.200:3010 # 将IP地址换成你的NAS地址 DL_BASE_URL=http://192.168.2.200:3010 # 将IP地址换成你的NAS地址 ######################################## # PostgreSQL 数据库配置 # 只要存在这些变量,Domain Locker 就会自动启用 Postgres ######################################## # 数据库主机名(Docker 内部使用服务名) DL_PG_HOST=postgres # 数据库端口(容器内部固定 5432) DL_PG_PORT=5432 # 数据库用户名 DL_PG_USER=domainlocker # 数据库密码 DL_PG_PASSWORD=domainlocker_pass # 数据库名称 DL_PG_NAME=domainlocker ######################################## # 其他基础配置 ######################################## # 时区(日志 / 定时任务) TZ=Asia/Shanghai执行命令拉取docker镜像
docker compose pull执行命令启动数据库容器
docker compose up -d postgres初始化数据库结构
docker exec -i domain-locker-postgres \ psql -U domainlocker -d domainlocker < db/schema.sql执行之后出现“
role "postgres" does not exist”,属于官方 schema 的已知问题,可忽略。启动项目容器
docker compose up -d查看项目容器的实时日志,按
Ctrl+C中断查看。docker compose logs -f
访问Domain Locker
打开浏览器,以你NAS的IP地址+设置的端口进行访问
以本机为例:http://192.168.2.200:3010点击开始(默认英文,无中文,需要自行打开浏览器翻译)

输入你想监控的域名之后点击下一步(这里注意只点一下即可,后台需要时间检索信息)

系统会在后台查询WHOIS信息,如果失败了则多次尝试/换个好的网络/手动填写,然后点击下一步。

这里根据你的需求进行启用,然后下拉到底部,点击下一步。

然后点击保存

现在就添加完成了

点击回到首页之后就可以看到你的域名列表,你也可以继续按照相同的步骤添加你的更多域名。

写在最后
域名是很多服务的“地基”,但管理却常常被忽视。
Domain Locker 做的事情并不花哨,但足够踏实。
如果你已经在 NAS 上部署了一堆服务,不妨也给域名管理留一个位置。
把这些核心资产握在自己手里,心里会踏实很多。
项目地址:https://github.com/Lissy93/domain-locker
(顺手给个 Star 支持下开源作者!)
所需文件(高速网盘下载):https://pan.quark.cn/s/521511641e91?pwd=Fe8R
- 感谢你赐予我前进的力量

