进阶技巧

NAS 部署开源书签导航,打造团队知识库入口

NAS 部署开源书签导航,打造团队知识库入口

你是否经历过这样的场景:浏览器收藏夹里躺着几百个链接,真要用的时候却怎么都找不到;团队协作时,同事发来一个内部系统地址,你翻了半天聊天记录才找到;想分享一篇好文章给朋友,却要复制粘贴冗长的URL。这些痛点,正是自托管书签导航工具大显身手的地方。今天,我们就以NAS为底座,部署一款轻量又强大的开源书签导航应用——Shiori,把它变成你和团队专属的互联网入口。

为什么选择 Shiori

市面上的书签工具不少,但Shiori有几个独特优势。首先,它是纯Go语言编写,单二进制文件即可运行,对NAS这种资源有限的设备极其友好,内存占用通常不到50MB。其次,它支持全文搜索和内容抓取,保存链接时会自动获取网页标题、描述和正文快照,即使原网页失效,你依然能通过本地缓存阅读内容。最后,Shiori提供简洁的Web界面和RESTful API,方便二次开发或与Home Assistant等智能家居联动。

当然,如果你更偏好界面华丽、支持多用户的方案,也可以考虑Flame或Homer,但Shiori在“轻量”和“功能”之间取得了最佳平衡。

通过Docker Compose快速部署

绝大多数NAS(如群晖、威联通、绿联)都支持Docker。我们使用Docker Compose来定义服务,这样升级和迁移都方便。在你的NAS上新建一个文件夹,比如/volume1/docker/shiori,然后创建docker-compose.yml文件,内容如下:

version: "3.8"

services:
  shiori:
    image: ghcr.io/go-shiori/shiori
    container_name: shiori
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/srv/shiori
    environment:
      - SHIORI_DIR=/srv/shiori
      - SHIORI_PORT=8080
      - SHIORI_DATABASE_URL=sqlite:///srv/shiori/shiori.db
      - SHIORI_HTTP_SECURE=false

如果你希望使用MySQL或PostgreSQL,也可以修改SHIORI_DATABASE_URL环境变量,但对于个人或小团队使用,SQLite足够稳定且零维护。保存文件后,在NAS的终端中进入该目录,执行docker-compose up -d即可拉取镜像并启动。首次启动后,访问http://你的NASIP:8080,默认用户名是shiori,密码是gopher,登录后请立即在设置中修改密码。

配置HTTPS与反向代理

直接通过IP加端口访问虽然能用,但不够安全,也不够优雅。建议在NAS的反向代理(如Nginx Proxy Manager)中配置一个域名,比如bookmark.yourdomain.com,并启用HTTPS。以Nginx Proxy Manager为例,添加一条代理规则,转发地址填http://127.0.0.1:8080,然后申请Let's Encrypt证书。这样,你和团队成员就能通过一个好记的域名安全访问书签库了。

如果你有更高级的需求,比如开启Shiori的HTTP基础认证,可以在环境变量中加入SHIORI_HTTP_AUTH_USERSHIORI_HTTP_AUTH_PASS,为书签库再加一道锁。

导入浏览器书签与日常使用

部署完成后,最重要的一步是把现有书签迁移过来。Shiori支持导入Netscape格式的HTML书签文件。在浏览器中导出书签为HTML文件,然后在Shiori界面的“导入”功能中上传即可。导入后,你可以创建不同的分类(如“工作”、“学习”、“娱乐”),并为每个书签打上标签。

日常使用中,Shiori的浏览器扩展或书签小工具能让你一键保存当前页面。你可以手动添加一个浏览器书签,地址填写javascript:(function(){...})()形式的脚本,或者直接使用Shiori提供的API。例如,通过curl命令保存一个新链接:

curl -X POST http://your-nas:8080/api/bookmarks \
  -H "Authorization: Bearer 你的API令牌" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","title":"示例网站"}'

你可以在Shiori的设置页面生成API令牌,然后结合NAS的定时任务或第三方自动化工具(如n8n),实现“看到好文自动收藏”的流程。

进阶:备份与团队协作

书签数据是无价的,务必做好备份。由于我们使用SQLite数据库,只需定期备份/srv/shiori/shiori.db文件即可。可以在NAS上设置一个定时任务,每天凌晨将数据库文件复制到另一块硬盘或云存储。

对于团队协作,Shiori默认是单用户模式,但你可以创建多个账户(在管理界面添加用户),每个用户拥有独立的书签集合,也可以共享公开链接。如果团队人数较多,建议开启注册功能并设置邀请码,避免被陌生人滥用。

总结

通过以上步骤,你已经在NAS上拥有了一个属于自己的书签导航系统。它不仅能帮你整理碎片化信息,还能作为团队的知识库入口,让重要链接不再淹没在聊天记录中。Shiori的轻量特性使其可以7x24小时运行在NAS上,耗电极低。下一步,你可以尝试为它配置一个漂亮的起始页,或者通过API与你的博客、Wiki系统联动,进一步挖掘它的潜力。

💬 评论区
发表评论

暂无评论,来说两句吧