NAS玩出花(九):小工具合集2
NAS玩出花(九):小工具合集2
下面介绍一些常用的小工具,这些服务其实本质上都可以在本地运行,然后通过web访问,也有一些服务有着自己的服务器,但是有些在github上,或者有些访问本身不稳定,又或者有些需要定制化,有些对于数据安全有要求。当然这些小工具的即开即用的属性也更适合NAS。
下面看一下整体介绍的3个小工具:
- stirling-pdf:一站式pdf操作工具
- it-tools:程序员小工具集合
- cook:不会做菜,它教你
stirling-pdf:一站式pdf操作工具
Stirling-pdf是一个使用docker、并且可以进行本地托管的基于web的PDF操作工具。
我们一般编辑word,有wpd或者office可以选择,但是pdf阅读也有非常多的工具可以选择。但是因为pdf本身的文件特性,很多pdf操作却没有一个能够统一整个市场的工具来让我们选择,例如拆分、合并、转换、重新组织、添加图像、旋转、压缩等。
很多时候这些工具需要在网站上进行寻找,但很多都要收费,并且还有数据泄露的风险,这时候就可以用到我们的Stirling-pdf了。
因为是支持本地化部署,Stirling-pdf不会出于记录保存或跟踪发起任何对外的链接,所有的文件要么是仅存在于客户端,要么是仅在任务期间驻留在服务器内存中,要么临时驻留于执行任务的文件。你下载和上传的任何文件都会从服务器上删除。
工作原理是,上传pdf,并在服务段(也就是NAS)中进行处理,处理好的结果通过web下载返回给你。这有两点需要注意:
- 因为需要原始pdf文件进行上传,所以网络带宽很重要。假如你的pdf文件超级大,比如上百M,对于99元购买的服务器3Mbps的带宽着实有点不够用。当然如果是本地部署或者是在家用,一点问题没有,通常家中的内网带宽都能达到千兆,100M的文件几秒就上传好了。
- pdf的修改和合成需要占用服务器内存,如果你的NAS内存很小,那可要注意了,不过对于我们这种用老机器的自建NAS来说,内存和性能是最不需要担心的。起码有个4G、8G的内存吧,不太大的pdf都没有什么问题。
- 2024年年初版本的Stirling-pdf有内存泄露问题,有时候对多个pdf文件进行处理后,占用内存会很多,不过登录Portainer重启下容器就好了,目前最新版本没有进行测试,不知道这个问题还在不在。
创建
直接给出docker-compose.yml文件吧,别忘了要新建一个文件夹进行存放。
services:
stirling-pdf:
container_name: pdf
image: stirlingtools/stirling-pdf:latest-fat
ports:
- '8085:8080'
volumes:
- ./trainingData:/usr/share/tesseract-ocr/5/tessdata #Required for extra OCR languages
- ./extraConfigs:/configs
- ./customFiles:/customFiles/
- ./logs:/logs/
environment:
- DOCKER_ENABLE_SECURITY=false
- SECURITY_ENABLE_LOGIN=true
- LANGS=zh_CN
需要注意的:image分为3个版本、完整版、超精简版以及“胖”版(Full version and ultra-Lite version as well as a 'Fat' version),根据需要使用的功能,进行选择,这里我选择的是fat版本,版本之间有什么不同可以查看version mapping
此外,配置文件中开启了
SECURITY_ENABLE_LOGIN
,可以根据自己的需要进行选择。
创建yml文件完成后使用up命令启动:
docker compose up -d
登录、修改密码
打开浏览器,看到的应该如下所示:
默认用户名为:admin
, 密码为:stirling
登录后会让你设置自己的用户名和密码。
使用
这里的功能真的超级丰富。
我个人用的最多的是合并、旋转。当然有时候也会使用图像转换pdf和pdf拆分图像,主要是有些漫画使用的是pdf格式,在有些设备上支持的不太好,这时可以使用这个工具将pdf文件转化为图形,在使用PowerToys进行批量重命名,最后在压缩为zip文件,更改拓展名为cbz,这样就可以在各种环境下观看了。
it-tools:程序员小工具集合
如果你和我一样是一个程序员,那么这个工具可能对你很有用。
it-tools是一个适用于开发人员和IT工作人员的有用工具。同样也支持docker,这里就不用docker compose了,因为没必要,这个docker是工具属性且不需要太多的数据存储和配置,使用docker run直接运行就行了。
创建
docker run -d --name it-tools --restart unless-stopped -p 8080:80 ghcr.io/corentinth/it-tools:latest
# or
docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latest
记得更改端口号,要不然要冲突的
使用
这里面有非常多的工具,感兴趣或者工作相关的,可以仔细看看。
对我们有一些用处的是docker run转换为docker compose,这里如果不像记住那么多的docker run命令,就可以把docker run命令输入进去,最后会生成一个docker-compose.yml文件,记得要把yml文件单独放一个文件夹中。
cook:不会做菜,它教你
有些人家里锅碗瓢盆很全,但不知道如何才能做的好吃。又或者手头有一些菜,但是却不知道如何组合,这时候就可以用到这个工具了。
本项目初衷是方便特殊时期隔离在家而材料有限的小伙伴,因此菜谱材料会尽量限制在特定范围内。
创建
docker run -it -d --name cook -p 8080:80 yunyoujun/cook:latest
或者使用docker compose文件
services:
cook:
image: 'yunyoujun/cook:latest'
ports:
- '8080:80'
container_name: cook
tty: true
stdin_open: true
记得更改端口号
使用
使用结果是这样的:
在这里,我们就可以选择一下我们手上现有的食材,比如说土豆+鸡肉:
这样就有各种各样的菜了,每一个菜都是链接,可以直接跳转到B站观看做菜的教程。
结尾
小工具差不多就这么多了,如果再有好的还会更新。熟悉了这些后,我们就可以进行一些大型工具的创建了,比如在NAS上搭建一个云端游戏平台。