手把手教你用Docker部署FreshRSS:自建RSS阅读器图文指南,轻松掌控信息流
FreshRSS 是一款开源且免费的自托管 RSS 聚合器,它能够帮助你将来自不同网站和平台的更新内容集中到一个界面中进行阅读和管理。
Docker Compose 安装与配置
推荐使用 Docker Compose 来快速部署 FreshRSS,这种方式能通过一个配置文件定义所有服务参数,管理起来非常方便。你只需创建一个名为 docker-compose.yml 的文件,并填入以下内容:
services:
freshrss:
image: linuxserver/freshrss:latest
container_name: freshrss
ports:
- 8080:80
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./config:/config
restart: unless-stopped
配置文件中的关键参数说明如下(更多高级选项建议查阅官方文档):
- PUID (环境变量,可选):用于设置容器内运行进程的用户 ID,关系到文件权限。
- PGID (环境变量,可选):用于设置容器内运行进程的用户组 ID。
- TZ (环境变量):设定容器内的时区,这里设置为
Asia/Shanghai即中国标准时间。 - volumes:将宿主机当前目录下的
./config文件夹映射到容器内的/config路径,用于持久化保存 FreshRSS 的配置和数据。
FreshRSS 配置与订阅管理指南
完成 Docker Compose 配置后,在终端中运行 docker-compose up -d 命令即可启动服务。接下来,我们通过浏览器完成 FreshRSS 的初始化设置并开始添加订阅。
-
访问管理界面:在浏览器地址栏输入
http://你的服务器IP地址:8080,即可看到 FreshRSS 的初始设置界面。
-
选择界面语言:在语言下拉菜单中,选择“中文(简体)”以便于后续操作。

-
检查环境状态:系统会自动进行环境检查。请确保所有项目前均为绿色的对勾,没有任何错误提示。如果出现权限错误,可能需要调整 Docker 卷的挂载目录权限或 PUID/PGID 设置。

手把手教程:使用Docker Compose部署HomeAssistant,整合米家与HomeKit
Home Assistant是一个功能强大的开源智能家居自动化平台,其核心目标是协助用户集中控制和自动化家庭内的各类设备与服务。该平台卓越之处在于能够将来自不同品牌、采用不同协议的智能设备无缝整合到一个统一的界面中,从而让用户得以构建高度定制化的智能家居生态系统。
核心安装步骤
本文选择通过Docker Compose方式进行部署,这种方法便于管理且环境隔离性好。
Docker Compose 配置文件
services:
homeassistant:
image: homeassistant/home-assistant:latest
container_name: homeassistant
network_mode: host
ports:
- 8123:8123
environment:
- TZ=Asia/Shanghai
volumes:
- ./config:/config
restart: unless-stopped
平台配置与使用指南
成功启动容器后,在浏览器地址栏中输入 http://你NAS的IP地址:8123 即可访问Home Assistant的Web管理界面。

初次启动与基础设置
进入界面后,点击“创建我的智能家居”按钮开始初始化设置。

首先需要创建一个管理员账户,请根据提示填写用户名、密码等信息。

系统会尝试自动检测您的地理位置,如果定位不准确,可以手动在地图上点击或输入具体位置。

在后续的信息共享设置页面,保持默认选项即可,然后点击“下一步”。

至此,基础设置已经完成。

您将成功进入Home Assistant的主仪表板界面。

调整系统单位制
初始设置的温度单位可能为华氏度,我们需要将其调整为国内常用的摄氏度。

点击左下角用户名进入“设置”菜单,然后找到并进入“系统”选项。

在系统设置中,点击打开“通用”子菜单。

在单位制选项中,将温度单位修改为“摄氏度”(°C),修改后务必点击右下角的“保存”按钮。

配置外网访问支持
如果您希望通过外网链接(例如本文演示的飞牛NAS自带的外网访问功能)访问Home Assistant,可能会遇到“400 Bad Request”错误。

此时需要查看Home Assistant的日志。日志中通常会显示类似“untrusted proxy 172.17.0.1”的错误信息,这表示该代理IP未被信任。

解决方法是修改配置文件。进入Docker Compose中映射的config目录,找到名为 configuration.yaml 的核心配置文件。

用文本编辑器打开该文件,在适当位置添加以下配置代码(将日志中报错的IP地址填入trusted_proxies列表中,可以添加多个信任代理)。
http:
use_x_forwarded_for: true
trusted_proxies:
- 172.17.0.1

技术突破:社区补丁让树莓派5正式支持NVIDIA显卡运行

几个月前,GitHub用户@yanghaku发布了一组简洁的补丁,成功修复了树莓派(Raspberry Pi)平台对AMD显卡的GPU支持问题,甚至还展示了未公开的补丁使树莓派能够驱动NVIDIA RTX 3080显卡。

(参考链接:https://www.jeffgeerling.com/blog/2025/full-egpu-acceleration-on-pi-500-15-line-patch)
近期,GitHub用户@mariobalanica发布了一个更为全面的补丁,将同样的功能扩展到了英伟达(Nvidia)显卡上,实现了对NVIDIA显卡的原生支持。

(补丁链接:https://github.com/NVIDIA/open-gpu-kernel-modules/pull/972)
出于对这项技术的浓厚兴趣,我手头恰好有树莓派和NVIDIA显卡,便决定暂时搁置对GB10系统的测试计划,转而编译并验证mariobalanica提供的这个分支。
在树莓派5上构建NVIDIA显卡支持
由于相关代码仍处于积极开发阶段,以下操作步骤未来可能发生变动。
- 安装操作系统:使用树莓派官方的“Raspberry Pi Imager”工具,将Pi OS 13 “Trixie”写入一个新的启动盘。
- 系统更新:启动树莓派,在终端中执行以下命令以确保系统软件包为最新版本。
sudo apt update && sudo apt upgrade -y - 切换内核:当前补丁仅针对4K页大小的内核有效,而树莓派默认使用的是16K内核,因此需要切换。
在文件末尾添加一行:sudo nano /boot/firmware/config.txtkernel=kernel8.img,保存后重启。 - 重启系统:执行重启命令使内核更改生效。
sudo reboot - 下载驱动:从NVIDIA官方网站下载适用于ARM64架构的最新Linux驱动程序(本文测试版本为580.95.05)。 (驱动下载:https://www.nvidia.com/en-us/drivers/unix/)
- 安装驱动(不构建内核模块):运行下载的驱动安装程序,但跳过内核模块的构建步骤。
sudo sh ./NVIDIA-Linux-aarch64-580.95.05.run --no-kernel-modules - 克隆修改版内核模块:获取@mariobalanica修改后的开源NVIDIA内核模块代码。
cd ~/Downloads && git clone --branch non-coherent-arm-fixes https://github.com/mariobalanica/open-gpu-kernel-modules.git - 编译与安装内核模块:进入克隆的目录,编译并安装内核模块。
cd open-gpu-kernel-modules make modules -j$(nproc) sudo make modules_install -j$(nproc) - 更新模块依赖:运行以下命令以更新模块依赖关系数据库。
sudo depmod -a - 最终重启:完成所有步骤后,再次重启系统以加载新的NVIDIA内核模块。
sudo reboot
显卡显示输出问题
在我所使用的NVIDIA RTX A4000显卡上,暂时无法通过DisplayPort接口向显示器输出图像。系统日志dmesg中没有报告明显的错误,也没有出现黑屏仅带闪烁光标的情况(这与目前树莓派上运行某些Intel显卡驱动的表现不同,后者在未编译新版Mesa驱动时通常会出现该问题,但至少能通过Alt + F2切换到控制台)。
无需账号登录!一键Docker部署Solara音乐播放器,畅享无损音乐下载
Solara是一款功能全面的现代网页音乐播放器,它通过轻量的后端服务聚合了多个音乐源,为用户提供了从音乐搜索、在线播放到高品质音频下载的一站式体验。
该播放器拥有以下一系列引人注目的核心功能:
- 🎨 沉浸式主题美学:内置明亮的浅色与深色的暗黑模式,并采用玻璃拟态设计。界面能根据当前播放歌曲的封面自动提取主色调,生成沉浸式动态背景,提升视觉体验。
- 📱 专为移动端优化的竖屏界面:设计了全新的竖屏布局,完美适配移动设备的屏幕比例和手势操作。播放控件、歌曲列表和歌词显示都经过了优化,便于单手使用。
- 🔍 跨平台曲库聚合搜索:支持一键切换不同的音乐数据源进行搜索,搜索结果支持分页浏览,并可批量添加到播放队列中。
- 📻 灵活即时的队列管理:可以随时对播放队列进行新增、删除或清空操作,所有更改会即时生效,并自动保存到浏览器的本地存储中,下次访问时恢复。
- ❤️ 便捷的收藏功能:无论是搜索到的单曲还是整个播放列表,都可以一键添加到个人收藏。收藏列表拥有独立的播放进度、播放模式设置和批量管理面板。
- 🔁 多样的播放模式:支持在列表循环、单曲循环和随机播放模式之间轻松切换,系统会记住用户上次选择的偏好。
- 📝 智能动态歌词:提供逐行滚动并高亮显示当前歌词的功能,播放时会自动将当前行聚焦于视图中央。支持手动滚动查看歌词,滚动后会短暂锁定视图。
- 🔄 列表数据导入与导出:支持将当前的播放队列和收藏列表统一导出为文件,或从文件导入,方便在不同设备间迁移数据或备份恢复。
- 📥 多品质音频下载:支持选择并下载不同码率的音频文件,通常包括128Kbps、192Kbps、320Kbps以及无损的FLAC格式。
- ☁️ 轻量后端代理服务:利用Cloudflare Pages Functions构建统一的后端代理,聚合各个音乐数据源的接口,并处理音频流的跨域访问问题。
- 🔒 锁屏播放控制:在手机锁屏界面会自动显示正在播放的专辑封面和基本的播放控制按钮,无需解锁屏幕即可进行暂停、切歌等操作。
- 🛠️ 内置调试控制台:在网页中按下快捷键Ctrl + D可以呼出实时日志面板,便于开发者或高级用户排查接口请求或交互过程中出现的问题。
部署安装指南
使用Docker Compose是部署Solara最快捷的方式。只需创建一个docker-compose.yml文件,并填入以下配置内容:
services:
solara:
image: 1555904/solara-music:latest
container_name: solara
ports:
- 3001:3001
restart: always
保存文件后,在终端中运行 docker-compose up -d 命令,即可启动容器。
基本使用与界面展示
容器成功启动后,在电脑或手机的浏览器地址栏中输入 http://你的服务器IP地址:3001,即可访问Solara播放器的网页界面。

提示:首次加载时,部分图标可能无法正常显示。这是因为一些前端样式资源依赖于访问外部的Cloudflare代理服务,网络环境可能会影响其加载速度。

在顶部的搜索框中输入你想听的歌曲或歌手名称,然后点击搜索按钮即可。你可以在搜索前或搜索后,自由切换不同的“音频源”以获取更全面的结果。

搜索结果显示的歌曲通常非常丰富。点击任意一首歌曲,它便会立即被添加到播放队列并开始播放。

播放界面会展示歌曲的专辑封面和同步歌词。整个页面的背景色会根据封面图片的主要颜色动态变化,营造沉浸氛围。

在歌曲播放页面或列表的右键菜单中,你可以找到下载选项,并选择无损音质(如FLAC)进行下载。

在播放控件区域,你可以实时切换不同音质的音频流,以适应网络条件或追求更高音质。

点击侧边栏或底部的“探索雷达”功能,系统会自动将一些随机的推荐歌曲添加到你的播放列表中,用于音乐发现。

Solara对移动端网页进行了深度适配。在手机上访问,会呈现专为触控设计的竖屏界面,操作体验流畅。

体验总结与评价
与以往一些需要绑定或扫码登录第三方账号的音乐播放器不同,Solara最大的优势在于完全免登录。用户打开网页即可直接搜索播放,并下载无损音乐,省去了繁琐的注册和授权步骤,极为便捷。虽然其核心功能目前聚焦于在线播放和下载,相比全功能音乐客户端显得精简,但恰恰是这种“纯粹”使其成为一个高效的音乐获取与收听工具。对于追求简单、私密且希望本地留存音乐文件的用户来说,它非常合适。
总而言之,Solara以其无需登录、部署简单的特点,提供了一个快速访问和下载多平台音乐资源的实用方案。
综合推荐指数:⭐⭐⭐⭐(免登录,开箱即用) 功能体验指数:⭐⭐⭐(核心功能直接,但扩展功能较少) 部署难易指数:⭐(使用Docker Compose,过程极其简单)
浪潮SA5212M4硬盘笼深度组装体验:一份写给动手派玩家的实用与避坑指南

浪潮 SA5212M4 硬盘笼是一款拥有12个3.5英寸盘位的存储扩展设备。它内部集成了 Expander 控制芯片,仅需一条数据线即可识别全部硬盘,并支持多个硬盘笼进行串联扩展。其机头尺寸为 430×175×88mm(宽×长×高),非常适合构建大容量存储解决方案。该硬盘笼兼容 SATA、SAS 接口的机械硬盘或固态硬盘混插,理论单盘最大支持容量可达 18TB。

入手动机与理性评估
这个硬盘笼项目实际上已经完工有一段日子了,只是教程的撰写一直被搁置。促使我动手组装它的原因,主要源于日常测试NAS设备时,需要频繁使用多块500G硬盘。于是萌生了将所有散落的硬盘集中管理起来的想法,最终便有了这次DIY实践。
在决定效仿之前,我想分享几点关于硬盘笼的客观看法,希望能帮助你做出理性判断: 首先,你需要一个机架环境。如果没有现成的机柜,随意摆放不仅不美观,也存在安全隐患,这种情况下直接购买一个多盘位的NAS机箱可能更为便捷。其次,你得拥有足够数量的硬盘。我选择的这款是12盘位型号,手头大约有8块3.5英寸硬盘和一些2.5英寸硬盘,差不多能将其填满。如果你的硬盘数量有限,直接升级现有NAS的机箱或型号或许是更直接的选择。最后需要提醒的是,硬盘笼的功耗不容小觑。如果计划搭配全固态硬盘使用,在能耗方面可能并不会带来想象中的节省,具体原因相信你也能明白。
如果你的存储需求确实指向硬盘笼,我个人不太建议完全从零开始DIY。这个过程需要投入大量精力折腾,而且在成本上往往不具备优势。在二手交易平台上,已经组装调试好的成品售价大约在300元左右,一些专业卖家甚至能提供220元左右的低价。相比之下,像我这样自行采购所有部件并进行组装,总花费接近400元。

采购清单与成本明细
第一次涉足硬盘笼组装,难免踩坑,部分配件买贵了。以下是详细的物料清单,供你参考避坑(总花费484.69元):
-
12盘位硬盘笼核心:选用的是浪潮SA5212M4的机头,并搭配了一个定制外壳。正是看中了这个定制外壳的完成度,所以这部分的花费相对较高。

-
连接线材:采购了硬盘笼供电线和SFF-8643数据线各两根。这里被卖家“坑”了一下,发来的两条供电线长度竟然不一致。实际上,SFF-8643数据线只需一根就足以带动全部12个硬盘。

-
SAS控制卡:选择了浪潮的SAS3008 12G直通卡,附带半高和全高两种挡板。这里有个重要提醒:到手后务必立即测试!我的第一张卡刚到时测试正常,闲置一周后再用就坏了,好在卖家售后服务不错,爽快地进行了更换。

-
散热风扇:为了追求静音效果,选用了猫头鹰(Noctua)的PWM 8厘米风扇,当然价格也相对不菲。

-
专用供电模块:这是关键的安全部件!硬盘笼绝对不能直接胡乱接入普通电源,否则12V供电会直接烧毁设备。必须使用这种专用的供电模块,或者通过大4Pin转5V的线材来供电。因为无法忍受之前长短不一的供电线,我又额外以5元一条的价格购置了两条等长的。

-
智能风扇控制器:这是一个可以通过米家APP进行控制的PWM风扇控制器,无需手动调节,甚至可以与其他智能设备设置联动场景。

-
风扇分线器:因为总共安装了4个风扇,所以需要两个4Pin一分二的转接线才能全部接入控制器。选择不带尼龙网套的款式,或者直接使用一分四的线材会更便宜。

-
显卡6Pin延长线:主要用于将供电控制板内置到硬盘笼中,让外部只引出一根线,看起来更整洁。这个属于美观性投资,非必需。

-
风扇金属保护网罩:由于风扇是向内吸风为硬盘散热,加装网罩可以防止扇叶转动时打到内部杂乱的线材。

-
沉头硬盘螺丝:硬盘笼本身并未附带螺丝,家里也没有足够的存货,于是便购入了一包,价格不贵。

-
平头螺丝:定制外壳的部分螺丝孔位是空的,购买了一些用于补全。重点是机头与外壳中间有对应的螺丝孔,上紧螺丝可以使两者紧密结合,避免中部隆起。螺丝的直径刚好,但长度略长,后来我用剪钳截短了一部分。

组装实拍与细节展示
整个组装过程本身并不复杂,基本上属于“有手就会”的级别,因此不打算展开详述。通过下面的图片,你就能大致掌握要领。最终的成品效果令人满意,如果忽略功耗略高于预期这一点,几乎找不到其他明显的缺点。
硬盘托盘细节
托盘设计带有工作状态指示灯,正面把手上分布着许多用于辅助散热的开孔。
硬盘笼自带的托盘成色不算崭新,但好在没有生锈痕迹,整体做工处于一般水平。
服务器用的硬盘托盘似乎很少见到快拆设计,基本都需要依靠螺丝进行固定。
可以直观地看到安装2.5英寸和3.5英寸机械硬盘后的效果对比。

硬盘笼本体工艺
这种从服务器上退役的机头在工艺上还是可圈可点的,所用铁皮厚度适中,边缘处理也没有毛刺。
12个硬盘位并列排开,对于大多数有数据“仓鼠症”的玩家来说,容量应该是绰绰有余了。
背板不仅支持常见的SATA接口硬盘,也兼容SAS接口硬盘,从元器件布局来看用料扎实。

散热系统搭建
这里要特别介绍一下这款可连接米家的PWM风扇控制器,它似乎是由智能灯控模块改造而来。
起初担心将控制器内置会影响蓝牙信号连接,所以我特意在外壳上开了一个小孔将天线引出。事后证明这纯属多虑,即便完全内置也完全没有问题。
散热风扇为了极致静音选择了猫头鹰品牌,实际运行效果出色。风扇风向是直接吹向硬盘的,在扇叶前方加装的网罩有效避免了与线材的意外接触。
接线方面,四个风扇通过一分二转接线汇聚到PWM风扇控制器,而控制器本身则从供电模块的风扇接口取电。

背部理线与整体布局
未整理前的背部线缆显得相当凌乱,实际上硬盘笼内部的空间并不充裕,将所有部件塞进去已经接近极限。
关于电源供电线,销售供电模块的商家表示插一根就足够了,但既然线材已经备齐,我还是选择全部插上。
SFF-8643数据线可以随意插入背板上的任何一个接口,仅用一根线即可驱动全部12个硬盘。
供电模块上的接口已被线材插满。另外提一句,如果不需要精细控制风扇转速,可以直接将风扇插在供电模块自带的接口上。
经过简单的整理并将所有线缆连接到位后,整个背板看起来就完成了,这个过程几乎没有任何技术门槛。
合理的线缆管理不会阻碍风道,四个散热风扇完全能够吹透整个硬盘区域。
我家使用的是25厘米深的机架,网上很多DIY整机都过长,而这款硬盘笼的长度在23厘米以下,刚好合适。
定制的外壳上盖和下盖厚度可观,分量十足。预留的孔位与硬盘笼本体精准对应,可以使用短柄螺丝刀从硬盘笼内部进行紧固。
我还额外加装了一个PWM风扇控制器的物理开关,可以直接切断风扇电源或用于重置控制器以连接米家APP。
最终,硬盘笼背面只需引出数据线和供电线,外观非常简洁。
插满硬盘运行的效果。首次通电时务必切记,不要直接插入重要数据盘,先用一块无关紧要的硬盘进行测试,以免因接线错误导致所有硬盘损毁。

SAS直通卡的使用
我选择的这款直通卡功耗和发热量都比较大,强烈建议为其加装一个小风扇辅助散热。
购入后必须立即上机测试,好坏无法从外观判断。我的第一张卡就是后期损坏的,幸得商家更换。
价格方面倒不算昂贵,卖家通常已刷好固件,即插即用。
我目前的用法是,将全闪存NAS与一个显卡扩展坞配合使用。直通卡插在显卡坞上,其供电则从旁边的电源直接获取。

最终总结与功耗考量
总的来说,对于绝大多数个人用户,我并不推荐自行DIY组装硬盘笼。直接购买他人配套好的成品方案,往往更加省心且可能更省钱。然而,对于确有庞大数据存储需求的用户来说,将这样一个硬盘笼机头引入家庭机架环境,是一个颇具性价比的选择。相比庞大的多盘位机箱,它能更规整地融入机架,成本也相对可控。但我必须再次强调:切勿创造需求。这种硬盘笼对普通家庭用户而言完全是用不上的“神器”,没有必要跟风购入。

尽管组装完成已有一段时间,但我实际通电运行的频率并不高。核心原因在于其功耗表现未达预期。经过对比,我发现它甚至不如单独开启一台盘位较少的成品NAS作为存储设备来得省电。

腾讯开源知识库WeKnora NAS私有化部署全攻略:从零搭建你的智能文档检索系统
WeKnora是一款基于大语言模型(LLM)构建的文档理解与语义检索框架,专门针对结构复杂、内容多样的文档应用场景而设计。该框架采用了模块化的架构设计,融合了多模态文档预处理、语义向量索引、智能信息召回与大模型生成推理等多个环节,从而构建了一套高效且可控的文档智能问答流程。其核心检索机制依托于RAG(检索增强生成)技术,通过结合相关的上下文片段与大语言模型的能力,旨在生成质量更高、相关性更强的语义化回答。
架构设计与核心特性
其系统架构经过精心设计,旨在确保流程的顺畅与高效。

WeKnora具备以下一系列核心特性:
- 🔍 精准内容理解:支持对PDF、Word、图片等多种格式文档进行结构化内容提取,并统一构建为易于处理的语义视图。
- 🧠 智能语义推理:借助大语言模型深度理解文档上下文与用户查询意图,支持精准的问答交互与多轮连续对话。
- 🔧 灵活可扩展:从文档解析、向量嵌入、信息召回到最终生成的全流程均实现解耦设计,便于根据需求进行灵活集成与定制化扩展。
- ⚡ 高效混合检索:融合了关键词检索(如BM25)、稠密向量检索以及知识图谱增强检索(GraphRAG)等多种策略。
- 🎯 简单易上手:提供了直观的Web管理界面与标准化的API接口,即使是零技术基础的用户也能快速入门。
- 🔒 安全可控:全面支持本地化与私有云部署模式,确保所有数据完全自主可控,保障企业级信息安全。
适用场景与核心价值
WeKnora能够广泛应用于多个领域,其具体应用场景与核心价值如下表所示:
| 应用场景 | 具体应用 | 核心价值 |
|---|---|---|
| 企业知识管理 | 内部文档检索、规章制度问答、操作手册查询 | 极大提升知识查找与利用效率,有效降低员工培训与信息获取成本。 |
| 科研文献分析 | 学术论文检索、研究报告深度分析、领域资料系统整理 | 加速文献调研过程,为研究决策提供智能化辅助与支持。 |
| 产品技术支持 | 产品手册智能问答、技术文档精准检索、故障排查引导 | 提升客户服务响应质量与效率,减轻技术支持人员的工作负担。 |
| 法律合规审查 | 合同条款快速检索、法规政策实时查询、历史案例对比分析 | 提高法务与合规工作的审查效率,系统性降低潜在法律风险。 |
| 医疗知识辅助 | 医学文献检索、最新诊疗指南查询、典型病例分析参考 | 辅助临床医生进行决策,提升诊疗方案的质量与科学性。 |
功能模块与能力概览
框架内各功能模块的支持情况如下:
| 功能模块 | 支持情况 | 详细说明 |
|---|---|---|
| 文档格式支持 | ✅ PDF / Word / Txt / Markdown / 图片(含OCR/图像描述) | 支持解析多种结构化与非结构化文档,能够处理图文混排内容并提取图像中的文字信息。 |
| 嵌入模型支持 | ✅ 本地模型、BGE / GTE等API | 支持使用自定义的embedding模型,兼容本地部署与云端向量生成接口,灵活性高。 |
| 向量数据库接入 | ✅ PostgreSQL(pgvector)、Elasticsearch | 支持主流的向量索引后端,可根据不同检索场景和性能要求灵活切换与扩展。 |
| 检索机制 | ✅ BM25 / 稠密检索 / GraphRAG | 支持稀疏检索、稠密检索及知识图谱增强检索等多种策略,可自由组合召回、重排与生成流程。 |
| 大模型集成 | ✅ 支持Qwen、DeepSeek等,思考/非思考模式切换 | 可接入本地部署的大模型(如通过Ollama启动)或调用外部API服务,支持推理模式的灵活配置。 |
| 问答能力 | ✅ 上下文感知、多轮对话、提示词模板 | 支持复杂的语义建模与指令控制,可进行链式问答,并允许配置提示词模板与上下文窗口大小。 |
| 端到端测试 | ✅ 检索+生成过程可视化与指标评估 | 提供一体化链路测试工具,支持评估召回命中率、回答覆盖度及BLEU/ROUGE等主流评测指标。 |
| 部署模式 | ✅ 支持本地部署 / Docker镜像 | 满足私有化、离线部署及灵活运维的需求,保障数据安全与系统稳定。 |
| 用户界面 | ✅ Web UI + RESTful API | 提供交互式可视化界面供业务用户使用,同时提供标准API接口供开发者集成与二次开发。 |
在NAS上部署WeKnora的详细步骤
第一步:获取与准备项目文件
首先,从GitHub官方仓库下载WeKnora项目源代码。
将下载的ZIP压缩包解压,在解压后的目录中找到名为.env.example的环境配置文件模板。

荔枝相册完整使用指南:Docker部署与私有化照片管理实战
荔枝(Lychee)是一款开源且免费的照片管理工具,设计用于在您自己的服务器或网络存储空间上独立运行。它提供了媲美本地应用程序的完整体验,支持照片的上传、组织管理与共享。该工具集成了您所需的核心功能,并确保所有照片数据均安全地存储于您掌控的环境中。

您可以通过在线演示环境预先体验其功能: https://lychee-demo.fly.dev
部署安装:通过Docker Compose快速搭建
最便捷的部署方式是使用 Docker Compose。以下是一个完整的配置示例,您可以根据自己的网络环境调整参数。
services:
lychee:
image: lycheeorg/lychee:latest
container_name: lychee
ports:
- 8080:80
environment:
- PUID=1000
- PGID=1000
- PHP_TZ=Asia/Shanghai
- TIMEZONE=Asia/Shanghai
- APP_URL=http://192.168.31.90:8080
- DB_CONNECTION=mysql
- DB_HOST=lychee_db
- DB_PORT=3306
- DB_DATABASE=lychee
- DB_USERNAME=user
- DB_PASSWORD=password
volumes:
- ./conf:/conf
- ./uploads:/uploads
- ./sym:/sym
restart: unless-stopped
lychee_db:
image: mariadb:10
container_name: lychee_db
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=lychee
- MYSQL_USER=user
- MYSQL_PASSWORD=password
volumes:
- ./mysql:/var/lib/mysql
restart: unless-stopped
核心环境变量参数说明
为了确保服务正常运行,以下是对关键环境变量的简要解释(建议部署前查阅官方文档以获取最全面的信息)。
:::tips
- PUID(可选):用于设置容器内运行进程的用户ID,关系到文件权限。
- PGID(可选):用于设置容器内运行进程的用户组ID。
- PHP_TZ:配置PHP运行时使用的时区。
- TIMEZONE:设置系统时区。
- APP_URL:这是最重要的参数之一,需要配置为Lychee应用最终被访问的完整URL地址,请根据您的实际网络情况修改。
- DB_CONNECTION:指定数据库类型,例如mysql。
- DB_HOST:数据库服务的主机地址,在Compose网络中通常使用服务名。
- DB_PORT:数据库服务的连接端口。
- DB_DATABASE:指定要连接的数据库名称。
- DB_USERNAME:拥有上述数据库访问权限的用户名。
- DB_PASSWORD:对应用户的数据库访问密码。 :::
使用指南:从初始化配置到日常操作
完成部署后,在浏览器地址栏输入 http://您的服务器IP:8080 即可访问Lychee的Web界面。
闲置NAS变自动赚钱机:青龙面板部署与B站脚本薅羊毛全攻略
青龙面板(Qinglong)是一款功能强大的定时任务管理平台,它能够支持多种脚本语言,包括Python3、JavaScript、Shell和Typescript。通过将青龙面板部署在闲置的NAS设备上,用户可以自动化运行各种脚本任务,从而探索潜在的收益机会,实现设备的充分利用。

该平台具备一系列实用功能:
- • 兼容多种脚本语言,例如python3、javaScript、shell和typescript。
- • 提供在线管理脚本、环境变量和配置文件的能力。
- • 支持在线查看任务执行日志,方便监控和调试。
- • 允许设置秒级精度的定时任务。
- • 集成系统级通知机制,及时反馈任务状态。
- • 提供暗黑模式界面,适应不同用户的视觉偏好。
- • 优化手机端操作体验,实现随时随地管理任务。
部署青龙面板
通过Docker Compose可以快速部署青龙面板。以下是具体的配置示例:
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
ports:
- 5700:5700
volumes:
- ./data:/ql/data
restart: unless-stopped
青龙面板配置与使用指南
在浏览器地址栏中输入 http://NAS的IP:5700 即可访问青龙面板的初始化界面。

进入界面后,点击“开始安装”按钮以启动安装流程。

系统会提示配置通知方式,用户可以根据个人需求选择设置或直接跳过此步骤。

接下来需要设置管理员的用户名和密码,请务必牢记这些凭据。

初始化过程完成后,点击“去登录”选项进入登录页面。

在登录页面输入之前设置的用户名和密码。

成功登录后,用户将进入青龙面板的主控制界面。

请注意:脚本的来源需要用户自行通过搜索引擎寻找,本文仅以bilibili脚本为例进行演示。不同脚本的操作步骤可能有所差异。
首先进入配置文件界面,修改config.sh文件。

找到名为RepoFileExtensions的参数,确保其值包含“js py sh”这三种文件后缀。

完成设置后,点击右上角的保存按钮以应用更改。

接下来进入订阅管理模块,创建一个用于拉取脚本仓库的订阅任务。

参考以下配置信息填写并创建订阅:
名称:Bilibili
类型:公开仓库
链接:https://github.com/RayWangQvQ/BiliBiliToolPro.git
定时类型:crontab
定时规则:2 2 28 * *
白名单:bili_task_.+\.sh
文件后缀:sh

零成本部署:基于Docker的免费CAD工作站完整指南
FreeCAD 是一款遵循 LGPL 开源协议的参数化三维 CAD 建模软件。它主要服务于机械工程与产品设计领域,同时其功能也延伸至建筑、有限元分析以及三维打印等应用场景。该软件提供了与 CATIA、SolidWorks 等商业软件相类似的核心建模能力。
安装部署步骤
使用 Docker Compose 部署
通过 Docker Compose 可以快速配置并启动 FreeCAD 服务。以下是一份标准的部署配置文件示例:
services:
freecad:
image: linuxserver/freecad:latest
container_name: freecad
ports:
- 3000:3000
- 3001:3001
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./config:/config
shm_size: "1gb"
restart: unless-stopped
关键配置参数解读
为了帮助理解,下面对配置中的部分参数进行简要说明(更详细的配置建议查阅官方文档):
- PUID (环境变量,可选):用于设置容器内运行进程的用户标识符(UserID),关联文件权限。
- PGID (环境变量,可选):用于设置容器内运行进程的用户组标识符(GroupID),同样与权限管理相关。
- TZ (环境变量):设定容器系统的时区,例如
Asia/Shanghai代表东八区北京时间。 - /config (卷映射路径):此路径用于持久化保存 FreeCAD 的配置文件和个人数据。
- shm_size (容器参数):用于设置共享内存的大小,对于图形应用,适当增加此值有助于提升性能。
基本操作与界面导览
成功部署后,在网页浏览器的地址栏输入 https://你的NAS_IP地址:3001 即可访问 FreeCAD 的 Web 界面。请注意,此服务默认使用 HTTPS 安全协议。

首次进入时,您可以在设置中将界面语言切换为中文,以获得更友好的操作体验。

软件提供了多种视觉主题可供选择,用户可以根据个人偏好进行切换。经典的深色主题在长时间工作时可能对眼睛更为友好。
零显卡需求:在NAS上私有化部署MTranServer离线翻译服务全指南
MTranServer是一款资源消耗极低、响应速度极快的离线翻译服务器,其最大特点在于完全无需独立显卡支持。单个翻译请求的平均响应时间可控制在50毫秒以内。该服务支持全球范围内主要语言之间的互译,为用户提供了一个高效、本地的翻译解决方案。
下图展示了MTranServer与其他同类项目在仅使用CPU进行英译中任务时的效果对比。


重要提示: 当前最新版本可能存在内存泄漏问题。一个可行的解决方案是手动下载并使用2.1.1版本的模型文件。关于此问题的最终修复时间,请关注项目在GitHub上的官方公告。为了简化演示流程,本文仍将使用最新的镜像版本进行说明。
安装部署步骤
推荐使用 Docker Compose 方式进行部署,以下是一个基础的配置示例:
services:
mtranserver:
image: xxnuo/mtranserver:latest-zh
container_name: mtranserver
ports:
- 8989:8989
environment:
- CORE_API_TOKEN=your_token
restart: unless-stopped
关键参数说明(更多高级配置建议查阅官方文档):
CORE_API_TOKEN(环境变量,可选):用于保护API访问的密码,请务必修改为自己设定的复杂字符串。/app/models(卷挂载路径,可选):此路径用于存放翻译模型文件,如果希望持久化模型或使用特定版本,可以将其挂载到宿主机目录。
服务配置与使用指南
完成部署后,在浏览器地址栏中输入 http://你的NAS_IP地址:8989/docs 即可访问完整的API交互式文档。

须知:MTranServer本身不提供图形化的用户界面,所有功能均通过调用其提供的API接口来实现。

该服务为多种应用场景提供了专用的API端点。

接下来介绍如何通过流行的浏览器插件“沉浸式翻译”来调用此API。首先,根据你的浏览器下载对应的插件:
- Microsoft Edge 用户: https://microsoftedge.microsoft.com/addons/detail/%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%BF%BB%E8%AF%91-%E7%BD%91%E9%A1%B5%E7%BF%BB%E8%AF%91%E6%8F%92%E4%BB%B6-pdf%E7%BF%BB%E8%AF%91-/amkbmndfnliijdhojkpoglbnaaahippg?hl=zh-CN
- Google Chrome 用户: https://chromewebstore.google.com/detail/%E6%B2%89%E6%B5%B8%E5%BC%8F%E7%BF%BB%E8%AF%91-%E7%BD%91%E9%A1%B5%E7%BF%BB%E8%AF%91%E6%8F%92%E4%BB%B6-pdf%E7%BF%BB%E8%AF%91-%E5%85%8D%E8%B4%B9/bpoadfkcbjbfhfodiogcnhhhpibjhbnh?hl=zh-CN&utm_source=ext_sidebar
安装完成后,即可在浏览网页时使用该插件进行内容翻译。

插件安装并启用后,页面通常会出现一个悬浮的翻译控制按钮。

点击该按钮以打开设置面板。

在面板中选择进入“设置”菜单。

将页面滚动至底部,找到并启用“Beta测试特性”选项。

在此部分,可以添加自定义的翻译服务(插件本身也提供免费的在线翻译服务)。

在服务类型中,选择最后一项“自定义API”。

配置提示:如果在Docker部署时设置了CORE_API_TOKEN环境变量,则需要在API地址的末尾附加查询参数,格式为 ?token=你设置的token值。
参考配置示例如下:
- 服务名称:
MTranServer - 服务器地址:
http://192.168.31.90:8989/imme?token=your_token

高级参数可以设置为:每秒最大请求数5000,每次请求最大段落数10,这足以满足个人高频使用。

点击“测试服务”按钮,若显示绿色对勾或成功提示,则表明与自建翻译服务器的连接配置正确。

测试成功后,将新添加的“MTranServer”服务设为默认的翻译引擎。

现在,访问任意英文网站,点击沉浸式翻译的图标,即可使用您自己部署的离线服务器进行翻译。

在典型的翻译负载下,其资源占用情况如图所示:CPU使用率峰值通常在17%以下,内存占用大约为400MB(请注意,由于当前版本存在已知的内存泄漏问题,实际占用可能缓慢增长;待修复后,内存占用预期会更低且更稳定)。