OneNav书签导航实操:极空间Docker部署、分类整理与公网访问


🔥承渊政道: 个人主页
❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法》 《C++知识内容》 《Linux系统知识》 《算法刷题指南》 《测评文章活动推广》 《大模型语言路线学习》 《MySQL数据库学习》 《Python知识内容》
✨逆境不吐心中苦,顺境不忘来时路!✨ 🎬 博主简介:

很多人的浏览器书签栏,最后都会变成一个"临时仓库".工作资料、教程链接、工具网站、后台地址、偶然看到的文章,全都顺手收藏进去,刚开始觉得方便,时间一长却越来越难找.更麻烦的是,不同设备之间的收藏经常不统一.电脑里存了一批,手机里又有一批,平板上还有一些临时链接.真正想找某个常用网址时,要么靠记忆搜索,要么在一堆文件夹里翻半天.OneNav适合解决这类链接整理问题.它不是复杂的知识库,也不是重型协作平台,而是一套轻量的私人导航页.用户可以把常用网站按工作、学习、工具、娱乐、NAS服务等分类整理起来,需要时直接从一个页面进入.把OneNav部署在极空间这类NAS上也比较合适.NAS本来就适合长期在线,OneNav负责展示和管理链接,数据保存在自己的设备里,不必把收藏内容全部交给第三方平台.对于重视隐私和自建服务的人来说,这种方式更可控.本文将从极空间开启SSH、确认Docker环境开始,演示OneNav的Docker Compose部署、初始化注册、分类创建、链接添加和前台访问效果.随后再通过 cpolar 配置公网访问地址和固定二级子域名,让这个私人导航页不只在家里能打开,外出时也能随时访问自己的常用链接.

目录

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)登录:
shell 复制代码
ssh root@IP

2.2验证docker是否开启

使用命令:

shell 复制代码
docker -v 
systemctl status -v

3.部署OneNav

通过Docker部署OneNav:

在开始部署之前,确保你的系统已经安装了Docker.可以通过以下命令检查 Docker 是否已安装:

shell 复制代码
docker --version

首先创建一下安装的目录并进入到该目录:

shell 复制代码
mkdir -p /docker/onenav
chmod -R 777 /onenav

创建并编辑 docker-compose.yml文件:

shell 复制代码
vi docker-compose.yml
shell 复制代码
services:
  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

启动容器:

shell 复制代码
docker-compose up -d

部署完成后,在浏览器中输入 http://极空间IP:3080 就能看到OneNav的界面:


4.使用OneNav

第一次登录的小伙伴,先完成初始化的注册:

注册后直接登录:

成功登录到oneNav的后台管理页面!

点击"分类列表",选择"添加分类":

为分签起一个名字:

点击"我的链接",分类选择"极空间":

添加基础信息:

添加了好多链接:

点击回到"前台首页":

可以看到我们整理好的书签:

点击任何一个链接都会自动跳转.


5.安装cpolar实现随时随地开发

5.1什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景.


5.2部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网.即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境.

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

shell 复制代码
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机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

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称.

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了.


8.总结

完成部署后,OneNav就可以作为一套运行在极空间上的私人书签导航页使用.原本散落在浏览器、手机和不同设备里的常用链接,可以被集中整理到一个页面里,按分类管理,打开时也更直观.

这套方案的价值,不只是把链接换个地方保存,而是让"收藏"重新变得可用.以前收藏以后很容易遗忘,现在可以按场景整理成工作入口、学习资料、工具集合、NAS后台和常用服务入口,用的时候直接点开.

配置 cpolar 后,OneNav可以从外部网络访问.随机域名适合临时测试,固定二级子域名更适合长期使用,方便把它设成浏览器主页,或者在手机、平板、公司电脑上随时打开.

需要注意的是,书签里可能包含内部后台、个人项目、私有服务地址或敏感链接,公网访问时一定要设置好账号密码,不建议把导航页地址随意公开.重要后台链接也不要直接暴露免登录入口,避免因为图方便带来安全风险.

OneNav负责把常用链接整理成清晰导航,极空间负责长期承载服务和保存数据,cpolar负责补上远程访问入口.当这几部分组合起来以后,浏览器书签就不再是一堆越积越乱的收藏,而能变成一个真正可维护、可访问、可长期使用的数字入口.

🚀真正的勇者不是流泪的人,而是含泪奔跑的人!


敬请期待下一篇文章内容


每日心灵鸡汤: 真正阻碍改变的,是旧我的惯性!

为什么人明明想改变,却总在原地打转?很多人以为阻碍自己的是能力、资源和运气,事实上这些往往只是表面的答案.真正的问题是,人一边向往新的生活,一边又在拼命维护旧的自己.因为未知会带来不确定,而熟悉哪怕是痛苦的,也依然让人感到安全.于是我们不断给自己寻找各种合理的解释:没时间、条件不够成熟、时机还没到、自己天赋不足.但这些理由的本质,并不是在解释为什么做不到,而是在逃避改变所需要承担的责任.人最大的敌人从来不是外面的困难,而是内心对未知的恐惧,以及对责任的逃避.很多时候,不是我们没有机会活成想成为的样子,而是我们始终在用今天的选择,维持昨天的自己.人生最大的敌人不是外部阻力,而是旧身份对新人生的持续拉扯.那个早已习惯过去的自己,总在把你拉回熟悉的轨道;而真正的成长,不是战胜世界,而是一次次挣脱旧我的惯性.

相关推荐
2601_963016261 小时前
统一消息与事件调用:如何用微信接口把微信自动化做成稳健中台?
大数据·运维·人工智能·微信·自动化
天蓝的想1 小时前
Kueue 如何管理 DRA 模式下的 GPU 配额
运维·服务器
oioihoii2 小时前
CentOS运行Teemii实操:Docker Compose部署、漫画导入与公网阅读
linux·docker·centos
DianSan_ERP10 小时前
电商架构演进:如何在高并发场景下实现多平台API的标准化履约?
运维·前端·网络·安全·架构·自动化
恒53910 小时前
Linux文件系统I
linux·运维·服务器
阿成学长_Cain10 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
运维老郭13 小时前
【K8s运维实战】Kubernetes临时存储卷实战:emptyDir核心用法与gitRepo弃用迁移指南
运维·云原生·kubernetes
珠海西格电力13 小时前
云边端协同架构:零碳园区管理系统的技术底座
大数据·运维·人工智能·算法·架构·能源
阿成学长_Cain14 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程
linux·运维·前端·数据库