前言
浏览器中保存的链接越来越多以后,工作资料、学习网站、在线工具和NAS应用很容易混在一起。即使建立了多个收藏夹,时间一长也会出现分类重复、名称模糊和常用网址找不到的问题。
不同设备上的书签也不一定保持一致。在电脑上刚刚整理好的链接,换到手机或平板时可能又要重新查找。相比继续扩充浏览器收藏夹,建立一个统一的网页导航入口会更方便。
OneNav是一套可以自行部署的书签导航工具。它能够把常用网址按照分类集中保存,并通过网页前台统一展示,适合作为浏览器首页或NAS应用入口。
本文将通过Docker Compose在极空间中部署OneNav,完成账号初始化、分类创建和链接添加。随后再使用cpolar为3080端口配置公网地址,让不同设备在其他网络环境中也能打开同一套收藏链接。
1.什么是OneNav?
OneNav是一个开源、轻量级的 个人书签导航网站(导航页)工具,专为整理和管理浏览器收藏的链接而设计。它让你可以把散落在各处的常用网址集中到一个简洁、可分类、可搜索的网页中,并支持在手机、电脑等设备上随时访问。
核心特点:
开源免费
- 项目托管在 GitHub,代码公开透明,无广告、无追踪。
- 适合注重隐私和数据自主的用户。
轻量易部署
- 基于 PHP + SQLite 开发,无需复杂数据库(如 MySQL)。
- 官方提供 Docker 镜像,一行命令即可运行,非常适合家庭服务器、NAS 或树莓派。
界面简洁清爽
- 默认风格类似“极简导航页”(如 hao123、Safari 起始页),支持图标、分类、搜索。
- 可自定义主题、favicon 自动抓取、暗色模式等。
数据本地存储
- 所有书签保存在本地 SQLite 数据库或 JSON 文件中,完全由你掌控。
- 可通过 Git、Syncthing、网盘等方式手动同步多设备。
支持多用户(Pro 版)
- 免费版为单用户;付费 Pro 版支持多账号、API 接口、导入导出增强等功能(非必需,基础功能已足够日常使用)。
典型使用场景
- 把工作、学习、娱乐等常用网站分门别类,替代杂乱的浏览器书签栏。
- 搭建私人“首页”,打开浏览器就看到自己整理的导航页。
- 配合 Nginx Proxy Manager 或 Cloudflare Tunnel,实现外网安全访问,手机也能用。
- 在 HomeLab 或 NAS 中作为基础服务之一,与其他自建应用(如 AList、Jellyfin)集成。
适合谁?
- 厌倦浏览器书签混乱的人
- 喜欢自建服务、掌控数据的 HomeLab 玩家
- 想要一个干净、无干扰的导航页的普通用户
OneNav不是功能最强大的书签工具,但它简单、可靠、不折腾——这正是很多人需要的。
2.前提条件
2.1ssh远程连接到极空间
- 开启【SSH 服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
sshroot@IP2.2验证docker是否开启
使用命令:
docker-vsystemctl status-v3.部署OneNav
通过Docker部署OneNav:
在开始部署之前,确保你的系统已经安装了 Docker。可以通过以下命令检查 Docker 是否已安装:
docker--version首先创建一下安装的目录并进入到该目录:
mkdir-p/docker/onenavchmod-R777/onenav创建并编辑docker-compose.yml文件:
vidocker-compose.ymlservices: onenav: container_name: onenav# 容器名称ports: -"3080:80"# 端口volumes: -'/vol1/1000/docker/data:/data/wwwroot/default/data'# 映射目录,自行修改image:'helloz/onenav'# 镜像名称restart: always network_mode: bridgevi docker-compose.yml services: onenav: container_name: onenav# 容器名称ports: -"3080:80"# 端口volumes: -'/vol1/1000/docker/data:/data/wwwroot/default/data'# 映射目录,自行修改image:'helloz/onenav'# 镜像名称restart: always network_mode: bridge启动容器:
docker-composeup-d部署完成后,在浏览器中输入http://极空间IP:3080就能看到OneNav的界面:
4.使用OneNav
第一次登录的小伙伴,先完成初始化的注册:
注册后直接登录:
成功登录到oneNav的后台管理页面!
点击“分类列表”,选择“添加分类”:
为分签起一个名字:
点击“我的链接”,分类选择“极空间”:
添加基础信息:
添加了好多链接:
点击回到“前台首页”:
可以看到我们整理好的书签:
点击任何一个链接都会自动跳转。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudocurlhttps://get.cpolar.sh|sh安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudosystemctl status cpolarCpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:onenav,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:3080
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
7.保留固定公网地址
使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是onenav,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
完成以上配置后,OneNav已经可以在极空间中运行。进入后台后,可以按照工作、学习、工具、娱乐或NAS应用等用途创建分类,再把常用网址逐个添加到对应位置。
整理完成后,前台首页会按照分类展示所有链接。相比把大量网站分散保存在不同浏览器中,OneNav更适合作为统一的书签入口,也方便后续继续补充和调整。
通过cpolar为3080端口建立公网隧道后,原本只能在家庭局域网中打开的OneNav页面,也可以从手机、平板和其他电脑访问。继续配置固定二级子域名后,导航页地址能够保持不变。
需要注意的是,OneNav只能统一保存和展示链接。如果其中添加的是极空间IP、路由器后台或其他局域网地址,人在外地打开导航页后,点击这些链接仍然可能无法访问,相关服务需要分别配置远程访问方式。
正式使用前还应修正Compose文件中的重复内容和目录路径,并避免直接使用777权限。建议为OneNav单独建立数据目录,定期备份数据库和配置文件。公网开放后,收藏内容可能暴露工作系统、管理后台和个人兴趣信息,因此应设置高强度密码,并限制固定地址的分享范围。