前言

这次来盘点一下我目前部署的自托管服务,涵盖相册、图床、笔记、RSS 阅读、文件管理,以及一些学习和日常使用的小工具。

这些服务的用途各不相同:有的负责保存数据,有的帮我集中获取信息,也有一些只是偶尔打开用一下。下面会结合我的实际用法,介绍它们分别能做什么,给想搭建类似服务的朋友一些参考。

注:本文内容使用AI润色。

Immich

Immich 界面截图

Immich 是一款自托管的照片与视频管理应用,提供网页端以及 Android、iOS 客户端。它支持从手机中选择相册自动上传,也提供相册整理、共享、人物识别、地图浏览和搜索等功能,适合用来搭建自己的照片库。

我目前主要用它同步手机相册,不过存得最多的其实是梗图。这些图片集中保存后更方便分享,也支持在电脑上通过网页查看和搜索。

如果用它保存生活照片和重要视频,除了手机自动上传,还应该另外保留一份独立备份。自动上传解决了照片如何进入图库的问题,后续的数据保管同样重要。

相关链接:官网 · GitHub · 手机自动备份说明

EasyImg

EasyImg 界面截图一

EasyImg 界面截图二

EasyImg 是我目前使用的图床。它负责接收和管理图片,并提供可供文章引用的图片链接,比较适合博客配图、截图分享这类需求。

功能方面,它支持点击、拖拽、粘贴和批量上传,也提供图库预览、批量删除、回收站以及 API Key 等功能。日常需要的上传与管理功能比较齐全,界面也比较合我的口味。

我会配合 PicList 使用。两者分工不同:EasyImg 提供图床服务,PicList 则是电脑上的上传与管理工具,可以衔接截图、上传和文章插图这些操作。PicList 本身还支持多种存储后端和图片处理功能,具体能用到哪些能力,取决于所选后端和配置。

相关链接:EasyImg GitHub · PicList GitHub

Memos

Memos 界面截图

Memos 是一款开源、自托管的轻量笔记应用,以时间线的形式呈现记录。它支持 Markdown、标签、搜索和附件,适合保存临时想法、摘录、链接或一些简短的备忘内容。

我目前主要把它当作备忘录,不过使用频率还不算高。它的记录方式比较直接:有想法时先写下来,之后再通过标签或搜索找回,不用一开始就考虑复杂的目录结构。

另一个方便的地方是第三方工具比较丰富。浏览器插件可以缩短电脑上的记录步骤,手机端应用则提供更顺手的移动入口。我目前搭配的是下面这两款。

相关链接:官网 · GitHub

memos-bber

memos-bber 浏览器扩展截图

memos-bber 是连接 Memos 服务的浏览器扩展。我会把它固定到工具栏,需要记录时直接点开,不必再单独切换到 Memos 网页。

这种入口适合边浏览网页边记下想法,或者顺手保存一条链接。记录仍然发送到自己的 Memos 服务,插件主要负责让输入这一步更方便。这里使用的是 Jonnyan404 维护的分支。

项目链接:memos-bber GitHub

Moe Memos

Moe Memos Android 客户端截图

手机端我使用的是 Moe Memos 的 Android 版本。它是 Memos 的第三方客户端,可以连接自己的服务,支持 Markdown、图片与附件、标签、搜索和置顶等功能,也提供系统分享入口和桌面小组件。

对手机上的临时记录来说,一个随手就能打开的入口很有用;电脑和手机连接同一个 Memos 服务后,也方便在不同设备上继续查看和整理。

Memos 与第三方客户端之间存在版本适配关系,升级服务端之前,最好先查看插件和客户端声明的兼容范围。

相关链接:官网 · Android GitHub · iOS 与 iPadOS GitHub

RSSHub

RSSHub 界面截图

RSSHub 的作用是为各种网站和服务生成 RSS 订阅源,让原本分散在不同平台上的更新,也能交给 RSS 阅读器集中查看。它通过不同的“路由”适配内容来源,比如某个频道、论坛版块或网站栏目。

我目前主要用它订阅一些频道和论坛。配好对应路由后,再把生成的订阅地址添加到阅读器里,就能从统一的入口查看更新。

RSSHub 负责生成订阅源,后面的 Miniflux 负责阅读,两者可以配合使用。能否顺利获取某个平台的内容,则取决于对应路由、访问条件和上游网站的变化;部分路由还需要额外配置登录信息。

项目链接:RSSHub GitHub

Miniflux

Miniflux 界面截图

Miniflux 是一款以网页端为主的 RSS 阅读器,界面简洁,主要围绕订阅、阅读和整理文章展开。它支持订阅分类、未读管理、收藏、快捷键,以及 OPML 订阅列表的导入和导出。

我用它阅读各种博客和周刊,目前大约有 100 个订阅。把这些来源集中到一个地方之后,就可以按自己的节奏查看更新,也方便继续读之前没看完的内容。

有些站点的订阅源只提供摘要,Miniflux 还提供抓取文章原文的能力,但效果取决于具体网页。对个人阅读来说,这样一个专注于订阅内容的入口已经很实用。

相关链接:Miniflux GitHub · 官方功能介绍

Gitea

Gitea 界面截图

Gitea 是一款自托管的 Git 代码托管平台,提供仓库浏览、提交历史、分支管理、Issues、Pull Requests 等功能。需要时,也可以用它管理自己的私有项目或小团队协作。

我的用途比较简单,主要是同步 GitHub 仓库,在自己的服务器上保留一份代码副本。通过拉取镜像,可以按设置同步上游仓库的分支、标签和提交记录。

这里的“仓库备份”需要区分范围:Git 镜像主要保存代码及其历史;Issues、PR、附件等平台数据,需要另外考虑迁移或备份方式。若只是想保存代码,镜像就很方便;如果希望完整保留项目资料,就需要进一步检查覆盖了哪些数据。

相关链接:Gitea GitHub · 仓库镜像说明

NewsNow

NewsNow 界面截图

NewsNow 是一个资讯与热榜聚合项目,可以把多个平台的热门内容集中展示,适合快速扫一眼当下大家在关注什么,再跳转到感兴趣的来源继续阅读。

它和 RSS 阅读器的使用侧重点不同:RSS 更适合长期跟踪自己选择的博客、周刊和栏目,NewsNow 则更偏向发现当天的热点。具体有哪些来源可用,也会受到上游接口变化的影响。

我目前已经部署了它,但自己打开得不算多。这里保留一个演示入口,感兴趣的话可以看看界面和信息组织方式是否符合自己的习惯。

相关链接:GitHub · 本站演示

BentoPDF

BentoPDF 界面截图

BentoPDF 是一个可以自托管的 PDF 工具箱,把常见的文档处理需求放在同一个网页里,例如合并、拆分、调整页序、压缩、图片转换、添加水印和 OCR 文字识别。

这类工具适合处理零散任务:把几份材料合成一个文件、从整份文档里取出几页,或者将扫描内容转换成便于检索的文字。打开网页后选择对应工具即可,不用为每一种操作寻找不同的网站。

它的文档处理在浏览器中完成,文件无需上传到远端处理服务器。不过,部分功能需要从网络加载处理模块或识别资源;如果希望完全离线使用,还需要按项目文档把相关资源一并准备好。

相关链接:GitHub 与部署说明 · 本站演示

OpenList

OpenList 界面截图

OpenList 是一款支持多种存储来源的文件列表程序,可以接入本地目录、网盘、对象存储和 WebDAV 等,通过统一的网页界面浏览和访问文件,并提供图片、音视频、PDF 等内容的预览能力。

我目前只挂载了服务器本地目录,主要把它当作自用网盘的网页入口。这样查看和下载服务器上的文件会更直观;以后如果需要接入其他存储,也可以继续通过同一个界面访问。

它更像是不同存储之间的统一入口,文件实际存放在哪里,仍由挂载的存储决定。上传、移动、复制等操作是否可用,也要看对应存储驱动和权限配置。

相关链接:官方文档 · GitHub

IT-Tools

IT-Tools 界面截图

IT-Tools 是一个面向开发者和 IT 用户的在线工具集合,可以自托管。它把许多零散的小功能放在同一个入口里,适合处理开发和日常折腾中遇到的临时需求。

例如,可以用它进行 Base64 和 URL 编解码、查看或整理 JSON、测试正则表达式、生成 UUID,以及计算哈希值。运维相关的工具还包括 Cron 表达式生成、IPv4 子网计算、文件权限计算等。

单个功能看起来都不复杂,但集中到一个自己熟悉的页面之后,需要时会更容易找到。即使不写代码,遇到编码转换、格式整理这类问题时,也能用上其中的一部分工具。

相关链接:GitHub · 本站演示

QD

QD 界面截图

QD,也就是常说的 qiandao,是一个 HTTP 定时任务自动执行框架。我主要用它完成部分论坛或网站的每日签到,减少重复操作。

它可以按照模板发送请求,并设置任务执行时间、提取响应内容、判断执行是否成功。社区里有不少现成模板,可以按需求选用,再填入自己的登录信息或其他必要参数;需要时也可以调整模板。

自动签到能否持续运行,取决于网站接口和登录状态是否有效。Cookie 过期或网站流程发生变化后,任务可能就需要重新配置,所以部署后仍然要留意执行结果。

相关链接:GitHub · 使用指南

AstrBot

AstrBot 界面截图一

AstrBot 界面截图二

AstrBot 是一个支持多平台的聊天机器人与 AI Agent 平台,可以连接 Telegram、QQ、Discord、飞书等消息平台,也能接入多种模型服务。

它提供网页管理界面,可以配置模型、人设、知识库和插件。插件是比较值得探索的一部分:除了普通对话,还可以按需要扩展查询、提醒或其他自动化功能,把常用操作放进聊天窗口里。

多平台接入和社区插件提供了不少组合方式。具体能实现什么,要结合接入的平台、模型和插件来看;即使机器人框架部署在自己的服务器上,如果选择的是外部模型 API,模型处理仍然发生在对应服务端。

相关链接:官网 · GitHub

ArchiveBox

ArchiveBox 界面截图一

ArchiveBox 界面截图二

ArchiveBox 是一个网页归档工具,可以将链接对应的内容保存下来,并根据配置生成网页文件、截图、PDF 等不同形式的存档,方便以后查阅。

我主要用它保存一些觉得重要或有用的网页。普通书签只记下地址,网页一旦被删除或修改,原来的内容可能就找不到了;归档则能尽量保留保存当时的内容,适合收藏技术教程、参考资料或值得长期保存的文章。

网页归档的效果取决于页面结构和所用的保存方式。需要登录、依赖复杂交互或动态加载的网站,可能无法完整保存;重要资料归档后,最好实际打开存档确认一下。

相关链接:官网 · GitHub

zerror-web

zerror-web 界面截图一

zerror-web 界面截图二

zerror-web 是我让 GPT 基于 ZError 改写的自部署网页端题库,主要用来满足大学阶段的刷题需求。部署到服务器之后,访问网页就能使用,省去了每次在本地启动题库程序的步骤。

原版 ZError 是基于 Tauri 和 Vue 开发的 AI 题库应用,支持自定义 AI 供应商与模型,并提供本地题库管理等功能。这里介绍的 zerror-web 是我自己的网页改版,具体功能以这个版本的实际实现为准。

我目前接入的是 DeepSeek,也就是“大肥鱼”的 API,用它辅助处理题目。学习时可以把模型回答当作参考,再结合教材或可靠资料核对答案和思路,尤其是涉及计算过程或容易混淆的概念时。

上游项目:ZError GitHub

TG Vault

TG Vault 界面截图一

TG Vault 界面截图二

TG Vault 是一个围绕 Telegram 文件转存与归档的工具。我主要用它把 Telegram 中的文件自动保存到服务器,方便后续统一管理。

项目提供网页端文件管理、搜索、文件夹整理和媒体预览,也支持下载任务管理。除了本地磁盘,还可以按需接入其他存储后端;对于需要持续收集的来源,项目也提供频道或群组的订阅同步能力。

需要注意的是,频道和群组的批量下载、订阅功能依赖具有相应访问权限的 Telegram 个人账号。完成相关配置后,才可以对自己有权访问的来源进行转存。

相关链接:GitHub · 配置说明

Obsidian LiveSync

Obsidian LiveSync 的项目名称是 Self-hosted LiveSync,是 Obsidian 的社区同步插件。我用它同步 Obsidian 中的内容,方便在不同设备之间继续查看和编辑笔记。

它可以配合自己部署的 CouchDB 或兼容的对象存储使用,支持增量同步、端到端加密和简单冲突的自动合并。它属于“客户端插件加同步后端”的方案,配置时需要让各设备连接到对应的同步服务。

它与官方 Obsidian Sync 是不同的方案。项目明确提醒,不要在同一笔记库上同时启用其他同步工具;安装或升级前,也应先备份笔记库。同步解决的是设备之间的数据一致性,独立备份则方便在误操作后恢复内容。

项目链接:Self-hosted LiveSync GitHub

CDT Monitor

CDT Monitor 界面截图

CDT Monitor 是一个面向阿里云 CDT 流量的监控工具,我主要用它查看流量使用情况,方便了解服务器消耗了多少流量,以及用量变化的趋势。

项目支持集中查看多个账号、地域和 ECS 实例的数据,并提供用量历史图表、阈值通知等功能。对于部署了图床、文件下载或其他对外服务的服务器,这类信息有助于发现用量变化。

除了监控,项目还提供按条件控制实例和定时开关机等能力。这些属于可按需配置的自动化功能,启用前需要明确触发条件以及对在线服务的影响;我这里主要介绍它的流量监控用途。

项目链接:CDT Monitor GitHub