云计算百科
云计算领域专业知识百科平台

飞牛OS部署Mtab:Docker搭建自托管书签导航并实现远程访问

前言

常用网站越来越多以后,浏览器书签很容易堆成一长串。除了继续按文件夹整理,也可以把这些网址放进一个自己部署的Web导航页中,通过分类和图标集中管理。

Mtab就是这样一套自托管书签导航程序。它本身不是浏览器插件,而是运行在服务器上的Web应用,可以把常用网站、NAS服务和其他Web入口整理到一个页面中,再通过浏览器访问。

本文会在飞牛OS中通过Docker运行Mtab,将容器80端口映射到宿主机9205端口,再准备独立的MySQL数据库和应用账号,完成Mtab初始化、管理员设置、分类和基础页面配置。

这里有一个需要提前确认的网络关系:Mtab运行在Docker容器中,因此数据库地址必须是容器真正能够访问到的MySQL地址。如果MySQL运行在飞牛宿主机或另一个容器中,安装页面中的localhost通常不能直接代表那个MySQL服务,需要按照实际部署位置填写可达地址。

完成局域网测试后,还会通过cpolar为9205端口创建公网入口,用来从其他网络打开Mtab导航页。远程打开导航页并不会自动让其中保存的所有局域网地址也获得公网访问能力,这两部分需要分别配置。

image-20260610165152377

1.什么是Mtab?

Mtab 是一款开源、轻量化、无广告的个性化书签导航程序,主打私有化部署与自定义主页,专为个人高效整理网址、管理书签而设计,可替代浏览器默认新标签页与商用在线导航站。

核心定位

它不是浏览器插件,而是可独立部署的网页导航系统,支持部署在本地、服务器,所有书签数据完全由用户自主掌控,私密性远高于公共导航工具。

核心特点

  • 极简轻量化:代码精简、部署门槛低,运行占用资源极少,新手也能快速搭建。
  • 高度自定义:支持自由排版页面、自定义图标、分类管理书签,可按需搭建专属导航主页。
  • 功能一体化:整合书签分类、在线小工具、简易笔记、链接管理等实用功能,兼顾日常办公与上网需求。
  • 私有化安全:全程本地 / 私有服务器存储数据,无第三方收集、无强制广告,杜绝书签数据泄露风险。
  • 多端适配:页面自适应电脑、手机等设备,可实现多端访问、统一管理书签资源。
  • 简单来说:Mtab 就是一套完全属于你自己、可自由改造、数据可控的私人网址书签导航系统。

    2.安装前提条件

    2.1ssh远程连接到飞牛

    • 开启【SSH 服务】
    • 使用终端(Windows PowerShell / Mac Terminal)登录:

    在设置—>SSH中开启SSH服务:

    463c5f2aa280d7887420494b8b8f852e

    27abe7f94baeaebc1738b60b1ba78933

    e16c7480a399e50f627439329422c5a7

    2.2验证docker是否开启

    使用命令:

    docker -v
    systemctl status -v

    也可以直接在飞牛主页查看(其他机器也是这样的哦~)

    bc2a0952beed8ca143a171bb000b2b23

    3.安装Mtab

    获取Mtab书签的Docker镜像:

    docker pull itushan/mtab

    image-20260610163924630

    运行容器:

    docker run -itd –name mtab-new -p 9205:80 -v /opt/mtab:/app itushan/mtab

    image-20260610163957376

    部署完成后,在浏览器中输入 http://飞牛IP:9205 就能看到的Mtab界面:

    6a3cd83712ec2a01fba5bfa0813f2c8f

    4.创建专门用于Mtab的数据库

    登录MySQL

    首先,使用具有权限的账号(如 root)登录MySQL:

    mysql -u root -p

    输入你的MySQL密码后进入命令行界面。

    创建数据库

    运行以下SQL命令来创建一个新的数据库(建议命名为mtab_db或其他你喜欢的名字):

    CREATE DATABASE mtab_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    • utf8mb4 支持 emoji 和中文,推荐使用
    • utf8mb4_unicode_ci 是推荐的排序规则

    创建数据库用户并授权

    创建一个专用用户(例如mtab_user),并赋予其对数据库的完全控制权限:

    CREATE USER 'mtab_user'@'%' IDENTIFIED BY 'your_strong_password';

    • 将 ‘your_strong_password’ 替换为你设置的强密码
    • ‘%’ 表示允许从任意 IP 连接(生产环境建议限制为具体 IP)

    然后授权:

    GRANT ALL PRIVILEGES ON mtab_db.* TO 'mtab_user'@'%';
    FLUSH PRIVILEGES;

    验证数据库和用户

    你可以通过以下命令查看是否创建成功:

    SHOW DATABASES;

    应该能看到 mtab_db。

    检查用户权限:

    SELECT User, Host FROM mysql.user WHERE User = 'mtab_user';

    image-20260610164927765

    填写安装页面信息

    回到mTab安装页面,填入如下信息:

    字段内容
    数据库地址 localhost(或你的数据库服务器 IP)
    数据库端口 3306(默认)
    数据库用户名 mtab_user
    数据库用户密码 你刚才设置的密码
    数据库名称 mtab_db

    bb071e4df7b2ee51334a80878035fa27

    点击 测试连接,如果成功,就可以点击 下一步 继续安装。

    847a2d11a539838e99f5dc70d533f3ef

    • 确保MySQL版本 ≥ 5.7(如提示所示)

    • 如果是远程服务器,请确保防火墙开放了 3306 端口

    • 生产环境建议使用独立数据库,避免与其他应用混用

    • 定期备份数据库

    5.使用Mtab

    数据库测试成功后,输入管理员账号密码(第一次登录自己设置):

    d6d2023203f9f7631767c24a078e1f3f

    安装完成:

    9bde2823d0de4ae4561b32253a7a0ed8

    成功进入页面!

    5ee0b9f421bf00d55e3b29fa1e0400c2

    这是他们自带的,随便点一个跳转即可成功:image-20260610165346634

    还可以设置分类:

    image-20260610165444825

    常规设置:

    image-20260610165508733

    image-20260610165524160

    用cpolar一穿,mTab就能从内网直接安全地访问公网,不用公网IP也能随时随地打开自己的新标签页。

    接下来跟我一起安装cpolar吧~

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

    6.1 什么是cpolar?

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

    6.2 部署cpolar

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

    ❤️以下是安装cpolar步骤:

    使用一键脚本安装命令:

    sudo curl https://get.cpolar.sh | sh

    image-20250725104019896

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

    sudo systemctl status cpolar

    22e5adfaf290a17fc3384bb296055259

    Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

    打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

    8a6698b1bf26d64ba3645827fbfb1c29

    7.配置公网地址

    登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

    • 隧道名称:可自定义,本例使用了:mtab,注意不要与已有的隧道名称重复
    • 协议:http
    • 本地地址:9205
    • 域名类型:随机域名
    • 地区:选择China Top

    image-20260610170554254

    创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

    image-20260610170628641

    访问成功。

    image-20260610170647878

    8.保留固定公网地址

    使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

    image-20250918151358733

    点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是mtab,大家可以自定义。填写备注信息,点击保留。

    image-20260610170814414

    登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

    image-20260610170823736

    修改隧道信息,将保留成功的二级子域名配置到隧道中

    • 域名类型:选择二级子域名
    • Sub Domain:填写保留成功的二级子域名
    • 地区: China Top

    点击更新

    image-20260610170852502

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

    image-20260610170910205

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

    image-20260610171004235

    总结

    完成以上配置后,Mtab已经通过Docker运行在飞牛OS中,并可以通过9205端口打开书签导航页面。

    本文同时为Mtab准备了独立的MySQL数据库和数据库用户,再通过Web安装页面完成管理员初始化,并实际测试了导航链接、分类和常规设置等基础功能。

    由于Mtab运行在Docker容器中,长期使用前应特别确认数据库连接地址和数据持久化方式。如果MySQL运行在宿主机或另一个容器中,应使用Mtab容器实际能够访问的数据库地址,而不能简单把localhost作为所有部署环境的通用配置。Mtab数据和MySQL数据库也应分别做好备份。

    通过cpolar为9205端口建立公网隧道后,还可以从其他网络环境打开Mtab。远程登录时应优先使用HTTPS入口,并为管理员账号设置独立强密码,不应把随机公网地址或固定二级子域名本身当作安全措施。

    还需要区分导航页和导航目标本身的网络访问。Mtab公网地址只能保证导航页面可达,如果其中保存的是192.168.x.x等局域网链接,外部设备点击后仍然无法直接访问,对应服务还需要根据实际安全要求分别配置远程访问方式。

    从Docker部署、MySQL配置,到书签整理和远程访问,本文完成了一套基于飞牛OS的Mtab自托管导航页基础搭建流程。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 飞牛OS部署Mtab:Docker搭建自托管书签导航并实现远程访问
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!