今天给大家分享一个我开发的轻量级导航页 —— DockNav。
如果你像我一样,在 NAS 上部署了众多服务,同时拥有内网 IP 和 公网 域名(或穿透地址),那么你可能经常面临一个痛点:在家里想用内网 IP 访问(速度快),在外面想用域名访问(能连上)。
DockNav 就是为了解决这个问题而生的。它不仅仅是一个漂亮的导航页,更是一个懂你网络环境的智能路标。
✨ 核心亮点
1. 🚀 智能内外网跳转 (Smart Routing)
这是 DockNav 最核心的功能。你可以为同一个书签配置两个地址:
- URL: 填公网地址 (如
https://movie.nas.com)
- 内网 URL: 填内网地址 (如
http://192.168.50.10:8096)
当你点击书签时,DockNav 会自动检测你的来源 IP。
- 如果你在局域网内:自动跳转到内网 URL,享受满速直连。
- 如果你在外网:自动跳转到公网 URL,确保服务可达。
再也不用保存两套书签,或者手动修改地址栏了!
2. 🎨 玻璃拟态高颜值 UI
- 采用了流行的 Glassmorphism (磨砂玻璃) 设计风格。
- 支持 亮色/暗色 主题一键切换(护眼党福音)。
- 流畅的磁性流体动画和过渡效果。
- 响应式设计,手机、平板、电脑完美适配。
3. 🔒 隐私与权限管理
- 私有书签:支持设置“仅登录可见”的书签。有些羞羞的或者管理类的服务,不登录是看不到的,保护隐私。
- 访客模式:不登录也可以作为普通的公开导航页使用。
4. 🛠️ 简单易用
- 可视化编辑:直接在页面上右键即可编辑、删除书签,支持拖拽排序。
- 壁纸管理:支持上传自定义壁纸,打造你的专属桌面。
- 数据导入/导出:支持标准 Netscape 书签格式导入导出,方便迁移。
🐳 安装教程 (Docker)
DockNav 非常轻量,推荐使用 Docker 部署。
方式一:Docker Compose (推荐)
在飞牛 NAS 的 Docker 管理器中,或者使用 Portainer,创建一个新的 Stack,填入以下内容:
services:
docknav:
image: 1195864138/docknav:latest
container_name: docknav
restart: unless-stopped
# 强烈建议使用 host 模式,以便准确识别内网 IP
network_mode: "host"
volumes:
# 数据库映射,防止重启丢失数据
- ./data:/app/data
# 壁纸目录映射
- ./wallpapers:/app/uploads/wallpapers
environment:
# 默认运行端口 (Host模式下请确保端口未被占用)
- PORT=3003
# 管理员账号密码 (建议修改)
- ADMIN_USER=阿弥
- ADMIN_PASSWORD=password
方式二:Docker CLI (命令行)
如果你习惯使用 SSH,可以直接运行:
docker run -d \
--net=host \
--name docknav \
-v $(pwd)/data:/app/data \
-v $(pwd)/wallpapers:/app/uploads/wallpapers \
-e ADMIN_USER=admin \
-e ADMIN_PASSWORD=admin \
1195864138/docknav:v1.0.0
未来计划 (Roadmap)
DockNav 还在持续进化中!在接下来的版本中,我计划加入以下功能,让它真正成为你的 NAS 仪表盘:
- 🐳 本地 Docker 管理:直接在导航页上查看、启动、停止、重启 NAS 上的 Docker 容器,无需再打开 Portainer 或 SSH。
- 📊 系统状态监控:简单直观地展示 CPU、内存、硬盘使用率。
- ☁️ 更多第三方集成:通过 API 自动获取应用状态(如 Transmission 下载进度、Plex 播放状态等)。
如果你有其他好点子,也欢迎在评论区告诉我!
📸 截图预览





👨💻 关于开发者
我是 阿弥,一个热爱折腾代码和新技术的非开发者。
如果你对这个项目感兴趣,或者有任何建议,欢迎访问我的个人网站:https://161767.xyz。