在NAS上用Docker部署一个在线工具站tools-web
摘要
本文介绍了一款名为 tools-web 的开源项目,旨在帮助 NAS 玩家自建在线工具站。它解决了在线工具的数据隐私、可用性差及广告干扰问题。项目基于静态前端,部署极简(Docker),无需数据库,覆盖开发、文本、图片等多种常用工具。建议先内网使用,再考虑外网访问。适合追求数据掌控感的用户。
前言
做开发、写文档、处理数据的时候,经常会需要一些"查一下、转一下、算一下"的小工具——JSON 格式化、时间戳转换、密码生成、正则测试……一个个收藏网址太零散,在线用又怕数据隐私。在 NAS 上自建一个在线工具站就能一次性把这类常用工具收拢到一起,局域网内随时可用,还不用担心数据传到第三方平台。
这次分享的就是这样一个开源项目 tools-web:工具分类覆盖开发运维、文本处理、图片处理、图表处理、随机工具、查询工具等,常见的有 JSON 转换、密码生成、时间戳、单位换算、在线图片编辑等,日常够用了。

不想折腾部署的话,也可以直接用作者的演示站:https://tools.ranblogs.com/(在线可用)。但既然我们是 NAS 玩家,把它部署到自己内网显然更私密、更可控。
为什么值得自建一个
"网上随便搜个小工具站不就行了?"——能,但用久了会发现三个问题:
① 数据隐私:你粘贴进在线工具里的东西,可能是一段带 token 的 JSON、一份没发布的文案、一段含客户信息的日志。这些内容只要到了对方服务器上,就不在你控制范围内了。
② 可用性:在线工具站最大的风险是"哪天没了"。免费工具站靠广告或赞助活着,作者一停更,你的收藏夹就多一堆死链。自建的工具站只要 NAS 还在,它就在。
③ 干扰与追踪:大部分免费在线工具站挂满了广告、弹窗和统计脚本,有时还会引导你"注册解锁更多功能"。
自建一个的边际成本其实极低——一个容器、一个端口、几十 MB 内存,换回来的是"这台工具随时都在,且不往外传数据"。
部署
项目地址:https://github.com/naroat/tools-web
方式一:直接 Docker 部署(一条命令搞定):
方式二:docker compose 部署:
部署后浏览器访问 http://NAS的IP:8080 即可。想在外网用的话,可以给它配个反向代理 + 域名,或走之前说的内网穿透。
restart: always 这一行别省——NAS 重启、Docker 服务重启后容器会自动拉起来,不用你手动去点。
它是怎么跑的:一个静态站为什么够用
这类工具站有个共同特点值得说明:它们绝大多数是纯前端应用。
也就是说容器里跑的只是一个 nginx,负责把 HTML/CSS/JS 发给你的浏览器;真正的"计算"发生在你的浏览器里——JSON 解析、时间戳换算、正则匹配、图片压缩,全部由浏览器里的 JavaScript 完成。所以:
服务器不需要数据库,也不需要给容器配 CPU/内存上限;
即使 NAS 很弱也不影响使用体验;
断网了?只要页面已经加载过,很多工具离线也能继续用(浏览器缓存了)。
反过来说,这也意味着:如果某个工具有云端处理的需求(比如"在线 OCR""AI 改写"),它就不在这套体系里——那些功能本质上得靠外部服务,用之前要看清楚它把数据发到哪去了。
内置工具一览
tools-web 内置的工具相当丰富,基本覆盖日常开发与办公需要:
开发运维:随机密码生成、URL 编码/解码、UUID 生成器、时间戳转换、MD5 在线加密、JSON 在线转换、正则测试工具、Unicode 转中文、HTTP 状态码、JWT 解析、HTML 实体转义、JS/HTML/CSS 代码格式化与压缩
文本处理:文本对比、Markdown 编辑器、ASCII 字形生成器、文本去重、在线文本编辑、HTML 获取、字数统计
教育学术:单位换算、摩斯电码、常用进制转换、ASCII 码表,以及长度/面积/重量/时间/温度/压力/热量/功率等各类单位换算
图片处理:二维码生成、在线图片处理、文本转图片、图片分割
数据图表:柱状图、折线图、饼图、散点图
选择随机:生成随机数、"帮我决定"、抛硬币、投骰子
其他工具:数字转金额大写、手持弹幕、色板、Color 选择器
其中几类特别值得单独拎出来说:
JWT 解析:调试接口时经常要解开一个 token 看里面的 payload 和过期时间。这东西绝不能丢给在线站 —— JWT 里通常带着用户标识甚至签名,粘上去等于把凭据交出去。自建站里做这件事才安心。
正则测试 + JSON 格式化:写代码时的高频操作,本地秒出结果,不用等页面加载广告。
文本对比 / 去重:处理从别处拷来的列表时很实用,属于"用一次省十分钟"的类型。
单位换算 + 进制转换:家里有孩子的,这类工具当作业辅助挺好用。
使用场景与小结
开发者:写代码时随手做 JSON 格式化、时间戳转换、正则测试,不用开一堆网页。
日常办公:文本对比、去重、字数统计、单位换算,处理文档很方便。
家庭/团队共享:部署在 NAS 上,局域网内任何设备打开浏览器就能用,孩子查单位、家人做文本处理都行。
要不要开放到外网
这是部署完必然要面对的选择,三种做法各有取舍:
方案 | 适用 | 代价 |
|---|---|---|
只在内网用 | 家里/公司自己用(推荐起点) | 出门用不了 |
反向代理 + HTTPS + 域名 | 想要稳定外网访问 | 要配证书,暴露了一个入口 |
内网穿透(frp / Tunnel) | 没有公网 IP | 依赖第三方链路 |
我的建议是先内网跑起来用两周,确认确实高频用了,再考虑开放出去。因为这类工具站没有身份认证,一旦暴露到公网,等于谁都能用你的域名访问一个网页应用——虽然它不存数据,但也没必要白白给别人提供入口。
顺带一提,如果你是冲着"在 NAS 上获得一个完整桌面环境"去的,工具站满足不了这类需求,那得看另一类方案:在 NAS 上用 Docker 跑一个 Edge 浏览器,配合 KasmVNC 能把完整浏览器搬到网页里,属于"NAS 跑图形应用"的另一条路子。
注意事项
端口冲突:默认映射到宿主机的
8080,如果这个端口已被占用,把-p 8080:80里的前一个8080改成别的未占用端口即可。数据隐私:工具站跑在本地内网,绝大多数工具都是浏览器/本地即时处理,不会把你的 JSON、文本等内容上传到外部,适合处理一些不太想经过第三方工具的敏感内容。
外网访问:如果要在公网用,建议给它套一层反向代理 + HTTPS,避免裸奔 8080 端口暴露;家庭宽带没有公网 IPv4 时,可配合之前介绍的内网穿透或 IPv6 方案。
更新镜像:想跟进新工具版本时,
docker compose pull && docker compose up -d两步搞定,不会丢配置(因为本来就没什么要保存的)。
小结
整体来说,tools-web 是一个部署极简、开箱即用的在线工具聚合站。对喜欢"自己掌控工具、不依赖外部在线服务"的 NAS 玩家,花一分钟把它跑起来,以后查个工具、做个格式转换就不用到处搜网页了。工具长期够用,还能随时看源码,比依赖来路不明的在线站踏实。
它和 NAS 上另一类"自托管 Web 应用"是同一个思路:把你平时得靠第三方网页完成的事,搬到自己的机器上。
文件管理方向可以参考 OpenList 搭建统一网盘入口——把阿里云盘、夸克、OneDrive、本地目录挂到同一个界面下;
生活场景方向则可以看 TREK 自建旅行规划工具——多人实时协同排行程,比在聊天框里改攻略顺手得多。
这几个加起来,基本能把"日常高频、但不想用第三方"的事情都收进自己的 NAS 里了。
相关文章
暂无相关文章