HortusFox 介绍与选型指南

HortusFox 自托管植物管理系统的认知与选型篇:项目溯源(v6.4,2026-10-28 取证)、功能全景、PHP 8.3 + MariaDB 技术栈、适用场景与同类项目对比。

HortusFoxPHP 编程园艺管理NAS 自托管2026/10/28

HortusFox 介绍与选型指南

撰写日期:2026-10-28 | 本文为认知篇,全部事实来自公开网络来源联网溯源,不含本地实测结论;标注「实测」的内容一律出现在本专栏其余篇章中。

HortusFox 是一款免费、开源(MIT 许可)的自托管协作式植物管理系统,由德国开发者 Daniel Brendel 自 2023 年起持续维护,官网为 www.hortusfox.com。它把"你家阳台、花园、客厅里的每一盆植物"当作一等公民来管理:植物档案与照片、按位置(location)组织、浇水/施肥任务、库存(药剂与耗材)、日历提醒、群聊协作、主题外观,以及面向二次开发的 REST API。如果你的需求是"给自己家(或团队办公区)的植物建立一个可长期积累的数字化台账",它基本是目前自托管世界里最完整的答案。

一、项目溯源与版本现状

以下信息均于 2026-10-28 联网核实:

项目事实来源
代码仓库danielbrendel/hortusfox-webGitHub 仓库页
许可证MIT仓库 README 徽章与 LICENSE.txt
最新稳定版v6.4(发布于 2026-10-22)Releases Atom 订阅源
发布节奏2026 年内连续发布 v6.0 → v6.4,平均数周一版,维护活跃Releases Atom 订阅源
GitHub 星数约 1.7k(徽章显示值)shields.io 星数徽章,2026-10-28 取证
官方文档www.hortusfox.com/documentation,仓库 doc/documentation.pdfREADME Resources 章节

几点解读:

  • 命名即定位。"Hortus" 是拉丁语"花园"之意,加上狐狸(Fox)吉祥物,项目从名字到交互都围绕园艺场景设计,而不是把通用清单软件换个皮。
  • 版本号已到 6.x,说明这不是一个起跑线上的玩具项目;从 Release 记录看,2026 年 9 月至 10 月间从 v6.0 迭代到 v6.4,功能与修复更新密集。
  • 单作者 + 社区模式。作者同时是其所用的 Asatru PHP 框架的作者,代码与文档一体性强,但也意味着升级节奏、议题响应以作者个人投入为上限,选型时应把"订阅 Releases"纳入运维习惯。

二、功能全景

以下功能清单来自官方 README(查询日期 2026-10-28):

  • 🪴 植物管理:植物档案、自定义属性、照片库、生长日志、笔记;
  • 🏠 位置(Location)体系:植物必须归属某个位置(如"阳台""客厅""温室"),整个系统的组织主线;
  • 📜 任务系统:浇水、施肥等养护任务,支持逾期提醒、明日到期提醒、周期性(recurring)任务;
  • 📖 库存系统:基料/药剂/耗材的分组库存管理;
  • 📆 日历系统:日历条目与提醒,支持日历分类;
  • 🔍 全局搜索与 🕰️ 历史记录;
  • 🌦️ 天气预报:接入 OpenWeatherMap,可在界面查看本地天气辅助养护决策;
  • 💬 群聊:工作区成员实时聊天,协作场景的核心;
  • 🦋 主题系统:官方主题商店可在线安装主题,界面高度可定制;
  • 🔑 管理后台:工作区设置、环境参数、用户与位置管理;
  • 💾 备份:支持工作区数据的导出/导入归档;
  • 💻 REST API:内置 API 供第三方程序集成;
  • 📱 二维码:为植物生成二维码标签,扫码直达详情;
  • 🔬 植物识别:接入 Pl@ntNet API 拍照识别植物种类。

外部服务依赖(README "External services" 章节,2026-10-28 查证):

功能外部服务是否必需
界面图标FontAwesome Free内置,无需配置
天气预报OpenWeatherMap API key可选
植物识别Pl@ntNet API key可选
植物资料查询GBIF无需额外 key

即:离线可用是底线,天气/识别属于"配了更香"的增强项。

三、技术栈与系统要求

官方 README "System requirements" 与 "Tech stack" 章节载明(2026-10-28 查证):

  • 运行环境:PHP ^8.3、MariaDB ^11.4、SMTP 邮件服务(密码重置、通知邮件依赖);
  • 框架:自研轻量级 Asatru PHP 框架(asatru-php.com);
  • 关键依赖:Composer(PHP 依赖)、npm + webpack(前端资源构建)、phpmailer(邮件)、carbon(日期处理)、tcpdf(PDF 导出)、htmlpurifier(HTML 过滤)、parsedown(Markdown 渲染)、php-qrcode(二维码)。

这是一套非常"经典 LAMP"的组合:PHP-FPM + nginx(或任意 Web 服务器)+ MariaDB,无 Node 常驻进程、无消息队列、无搜索引擎依赖,单机即可承载全部功能。对运维的意味是:

  1. 资源占用小,最低规格的虚拟机即可运行;
  2. 排障路径全部落在 PHP 与 MariaDB 两个熟悉域内;
  3. 升级即"换代码 + 跑迁移命令",没有独立的构建服务需要照看。

四、选型分析

4.1 它适合你吗

适合:

  • 家里有成规模的花草多肉,想要一个长期积累的养护台账(照片流、日志、任务历史都是资产);
  • 家庭成员/小团队多人协作养护,需要群聊、提醒与任务分派;
  • 已有自托管基础设施(nginx、MariaDB、SMTP),愿意多养一个 PHP 应用的 homelab 玩家;
  • 需要数据完全自主(对比市面上的 Gardenize、Blossm 等 SaaS 园艺应用)。

不适合/需权衡:

  • 只有一两盆植物——记账收益低于成本,用手机备忘录更省心;
  • 期望商业级多租户/SaaS 化运营——它是单工作区(workspace)设计;
  • 环境里没有 PHP 8.3/MariaDB 11.4 且不便升级——版本要求较新;
  • 邮件通知是硬需求但无 SMTP——密码重置与提醒邮件都走 SMTP,需自备邮件通道。

4.2 与邻近类别自托管项目的对比

园艺专用管理在自托管领域是小众赛道,HortusFox 几乎没有直接同类;用户实际会在"植物管理"与"通用家庭清单/ERP"之间做选择。下表基于各项目官方仓库 README 的公开定位信息整理(查询日期 2026-10-28,许可与技术栈为各仓库长期稳定事实):

项目定位技术栈许可与 HortusFox 的关系
HortusFox植物养护专用:位置→植物→任务/照片/日志全链路PHP 8.3 + MariaDBMIT本文主角
Grocy家庭物资 ERP:库存、 chores(家务)、电池、食谱等PHP + SQLiteMIT任务/库存模块有交集,但无植物档案、照片库、识别、天气等园艺特性
Homebox家庭物品清单与标签检索Go + SQLiteAGPL-3.0物品"静态台账"思路,缺少养护任务、日志与协作聊天

结论很直接:要"养"植物(有生命周期、有养护动作、有协作),HortusFox 是唯一成熟的自托管专用解;若只是记录"家里有什么东西",通用清单类反而更轻。

4.3 与本章结论配套的阅读路径

五、风险与注意事项(选型阶段就要知道)

  1. 测试体系在建:官方 README 明确标注"应用测试目前仍在建设中(under construction)",意味着升级前更依赖备份兜底;
  2. 外部 API 为增强项:OpenWeatherMap/Pl@ntNet 需要自行注册 key,GBIF 免 key 但依赖其可用性;
  3. SMTP 是半必需品:新用户邀请邮件、密码重置、逾期提醒邮件都依赖 SMTP 配置,选型时先把邮件通道方案想清楚;
  4. 前端构建产物已随仓库发布:普通部署无需自行执行 npm/webpack 构建,仅在二次开发界面时才涉及;
  5. 数据模型有框架约定:表名即模型名(如 UserModel、PlantsModel),二次开发时直接读源码即可,但升级迁移会改表结构,不要绕过应用直改数据库。

六、小结

HortusFox 用一组朴素但完整的能力(位置 → 植物 → 任务/照片/日志 + 任务/库存/日历/群聊/主题/API),填补了自托管世界里"植物养护管理"这一细分空白。MIT 许可、PHP + MariaDB 的经典栈、单机低资源需求,使它成为 homelab 里"养得起、看得懂、改得动"的那类应用。若你的绿植数量已多到记不住浇水日,或者想把家庭园艺变成一份可回溯的档案,它值得一个部署位。


本文事实性陈述的来源:HortusFox 官方仓库 README 与 Releases Atom 订阅源(github.com/danielbrendel/hortusfox-web)、官方网站 www.hortusfox.com、shields.io 星数徽章,全部于 2026-10-28 联网查证。