手里有域名的看过来!NAS上安装 Domain Locker 全能型域名管理与监控系统

朋友们,今天咱们来聊聊域名的事情, 如果你手里只有一两个域名,可能永远理解不了“域名管理焦虑”这件事。 但只要你开始折腾 NAS、自建服务、博客、反代、CDN,域名一多,问题就会接踵而来。这个域名到底在哪个注册商?SSL 证书什么时候过期?这个子域名之前是不是指向过别的 IP?DNS 是我改的,还是当时测试忘了还原?最近在整理自己 NAS 上跑的基础服务时,发现了 Domain Locker 这个开源项目,说实话,它把上面这些问题一次性捋顺了。

01Domain Locker 是干什么的?

一句话总结: 把你所有域名相关的信息,集中到一个可长期运行的控制台里。你只需要把域名加进去,后面的事它会帮你自动完成:
-
分析域名注册与到期信息
-
拉取 DNS、子域名、证书、IP、服务商等数据
-
持续监控状态变化,并在关键节点提醒你
它不是“查一眼就走”的工具,而是更偏向 域名资产管理系统 ,适合长期跑在 NAS 或服务器上。


02这些功能,是真正戳中痛点的

到期与变更提醒,不再靠记忆力域名到期、证书快失效、解析发生变化,这些都可以提前提醒你。 你可以按自己的习惯设置提前多久通知,避免“临近到期才发现”的被动局面。对域名多、注册商分散的人来说,这一点非常关键。子域名与 DNS 信息自动整理Domain Locker 会自动扫描并整理你添加的域名下的子域名和 DNS 记录。 当你做安全审计、服务迁移或者排查访问异常时,不需要再手动翻配置。所有信息都在一个页面里,清清楚楚。历史记录,解决“我到底改没改过”的问题这是我个人很喜欢的一点。DNS 改过什么证书什么时候换的指向的 IP 是否发生过变化这些都会留下记录。 当你哪天遇到问题,不再是靠猜,而是能直接回看历史。分类、标签和关联资源域名可以按用途打标签,比如:
-
博客
-
项目
-
测试
-
内网服务
同时还能关联:
-
SSL 证书
-
IP 地址
-
主机和服务商
哪怕你有几十上百个域名,也能很快定位到目标。

03对 NAS / 自托管玩家非常友好

如果你和我一样,优先考虑 能不能本地部署、数据在不在自己手里 ,那 Domain Locker 是加分的。官方支持 Docker 部署项目本身就是围绕容器设计的,官方直接提供 Docker 方案,适合部署在:
-
群晖 NAS
-
飞牛 NAS
-
普通 Linux 服务器
数据库支持 PostgreSQL ,这一点对 NAS 用户来说非常友好,基本是标配。隐私和可控性这块做得很克制
-
不强制云依赖
-
不默认埋追踪
-
本地部署就是完整功能
你只是在管理自己的域名资产,而不是“顺便把数据交出去”。

04细节设计,明显是给技术用户准备的

用了一段时间,能明显感觉到这是一个 工程思维导向 的项目:
-
多主题界面,深色模式下长时间看不累
-
内置 API,可和其他自建服务联动
-
自带诊断页面,排错不靠猜
-
项目文档清晰,社区活跃,更新节奏稳定
它不是那种“看起来花哨,用起来糟心”的项目。

05哪些人特别适合用它?

如果你符合下面任意一条,都可以考虑试试:
-
手里有 10 个以上域名
-
域名分散在多个注册商
-
NAS 上已经跑了不少自建服务
-
对数据隐私和可控性有要求
-
想把域名管理这件事系统化、长期化

06部署教程

演示在飞牛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 dbmkdir 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
# 映射端口仅用于调试
# 避开 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信息,如果失败了则多次尝试/换个好的网络/手动填写,然后点击下一步。
-
这里根据你的需求进行启用,然后下拉到底部,点击下一步。
-
然后点击保存
-
现在就添加完成了。
-
点击回到首页之后就可以看到你的域名列表,你也可以继续按照相同的步骤添加你的更多域名。

07写在最后

域名是很多服务的“地基”,但管理却常常被忽视。 Domain Locker 做的事情并不花哨,但足够踏实。如果你已经在 NAS 上部署了一堆服务,不妨也给域名管理留一个位置。 把这些核心资产握在自己手里,心里会踏实很多。
-
GitHub项目地址:https://github.com/Lissy93/domain-locker
-
(顺手给个 Star 支持下开源作者!)
-
所需文件(高速网盘下载):https://pan.quark.cn/s/521511641e91?pwd=Fe8R
-
本文高清配图教程:https://www.aabcc.top
下篇干货内容你还想看什么,你来说我来写。