Web应用 活跃维护

grocy

grocy/grocy

超越冰箱的ERP——Grocy是一款基于网页、自行托管的家庭杂货和家居管理解决方案

9608
Stars 标星
823
Forks 分支
85
Watchers 关注
139
Open Issues
Blade
主要语言
MIT
开源协议
24.5 MB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:grocy/grocy
git clone https://github.com/grocy/grocy.git
git clone git@github.com:grocy/grocy.git
README.md master

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。


ERP 超越你的冰箱

Grocy 是一个基于网页的自托管家庭杂货和家居管理解决方案

这是 Bernd Bestel 的一个兴趣项目


试一试

功能

查看网站。 → https://grocy.info

问题 / 帮助 / 错误报告 / 功能请求

请不要就任何 Grocy 相关问题给我发送私人消息或打电话给我。我几乎每天都会查看问题跟踪器和 Reddit 版块,但不会提供除此之外的任何支持。

社区贡献

请查看网站以获取社区贡献的插件/工具列表。 → https://grocy.info/addons

如何安装

查看 Grocy Desktop,如果你想像普通(Windows)桌面应用程序一样运行 Grocy,而无需管理网络服务器。

直接下载最新版本(也可通过Microsoft Store获取)——安装只需点击两次“下一步”。

从技术上讲,Grocy 是一个相当简单的 PHP 应用程序,因此让它运行的基本注意事项是:

  • 解压最新版本
  • 将 config-dist.php 复制到 data/config.php 并根据需要进行编辑
  • 确保 data 目录可写
  • Web 服务器根目录应指向 public 目录
  • 如果使用 nginx,请在位置块中包含 try_files $uri /index.php$is_args$query_string;
    • 或者禁用 URL 重写(参见 data/config.php 中的 DISABLE_URL_REWRITING 选项)
  • 默认为 → 登录,用户名是 admin,密码是 admin,请立即更改密码(右上角的用户菜单)

或者克隆此仓库(release 分支始终指向最新发布版本),并手动安装 Composer 和 Yarn 依赖项。

请访问网站获取更多安装指南和故障排除帮助。 → https://grocy.info/links

平台支持

  • PHP 8.5(带 SQLite 3.40)
    • 所需 PHP 扩展: fileinfo、pdo_sqlite、gd、ctype、intl、zlib、mbstring
  • 最新版 Firefox、Chrome 或 Edge

如何使用 Docker 运行

→ https://hub.docker.com/r/linuxserver/grocy

如何更新

  • 用最新发布覆盖所有内容,同时保留 data 目录
  • 检查 config-dist.php 是否有新的配置选项,并在适当的地方将它们添加到你的 data/config.php(对于 data/config.php 中未定义的设置,将使用 config-dist.php 的默认值)

如果你在 Linux 上运行 Grocy,也有 update.sh(记得通过 chmod +x update.sh 使脚本可执行,并确保已安装 unzip),它执行的正是这个操作,并额外创建当前安装的备份(.tgz 存档)在 data/backups 中(更新时会删除超过 60 天的备份)。

本地化

Grocy 完全可以本地化——默认语言是英语(集成在代码中),我始终维护德语本地化。

如果您的语言不完整或尚不可用,您可以轻松地在 Transifex 上帮助翻译 Grocy。

默认语言可以在 data/config.php 中设置,例如 Setting('DEFAULT_LOCALE', 'de');,并且还有用户设置(请参阅用户设置页面)以为每个用户设置不同的语言。

预发布演示 可用于任何至少完成 70% 的翻译,它将每小时的第 10 分钟从 Transifex 拉取翻译,因此您可以即时预览您贡献的翻译。谢谢!

此外,任何一旦达到 70% 完成度的翻译( strings 资源)都将包含在发布版本中。

右到左语言尚不支持。

动机

家庭需要管理。在使用 Grocy 之前,我使用自己编写的第一个软件(一个 C# Windows 窗体应用程序)和一堆 Excel 表格来做这件事(将近 10 年)。这个软件最终使用起来很麻烦,而 Excel 就是 Excel。所以我花了很长时间寻找和尝试不同的东西,没有一个能 100% 符合我的需求,所以这是我为“完整家庭管理”设定的目标。让你的冰箱也使用 ERP 系统吧!

值得了解的事项

REST API

在 /api 上查看集成的 Swagger UI 实例。

网页前端几乎所有操作都使用这个 API。所以你在那里可以做的事情,也都可以通过 API 实现。

条码扫描器和相机扫描

某些字段(带有条码图标)也允许通过扫描条码来选择值。当你的条码扫描器在每个条码前加上一个通常不属于商品名称的字母(我使用 $)并在扫描后发送 TAB 时效果最佳。

此外,也可以通过使用相应输入字段右侧的相机按钮来使用设备相机扫描条码(由 ZXing 提供支持,完全离线 / 客户端相机流处理)。请注意,由于浏览器安全限制,这仅在通过安全连接(https://)提供 Grocy 时有效。这里 和 那里 有快速视频演示。

我个人的建议:使用 USB 激光条码扫描器。它们便宜,并且在任何光照条件和角度下都能 1000% 更快、更好地工作。

通过外部服务进行条码查询

可以通过条码将产品直接添加到数据库中,通过查询外部服务进行。

这可以使用产品选择器工作流 "外部条码查询" 现场完成(当在任何产品输入字段中输入未知内容时会显示工作流对话框)快速视频演示:https://www.youtube.com/watch?v=-moXPA-VvGc

包含并默认使用 Open Food Facts 的插件(请参见 data/config.php 选项 STOCK_BARCODE_LOOKUP_PLUGIN)。

如果你想构建插件,请参见该插件或 plugins/DemoBarcodeLookupPlugin.php 获取带注释的示例实现。

日期字段的输入简写

出于(生产力)原因,所有日期(和时间)输入(和显示)字段使用 ISO-8601 格式,不论本地化如何。可用的简写如下:

  • MMDD 会扩展为当年给定日期,如果 > 今天;如果 < 今天,则扩展为明年给定日期,并使用正确的表示法。
    • 示例:0517 会被转换为 2026-05-17
  • YYYYMMDD 会扩展为正确的 ISO-8601 表示法
    • 示例:20260417 会被转换为 2026-04-17
  • YYYYMMe 或 YYYYMM+ 会按正确的表示法扩展到给定年份的指定月份的月底
    • 示例:202607e 会被转换为 2026-07-31
  • [+/-]n[d/m/y] 会被扩展为相对于今天的日期,同时可以在正确的表示法中加上( )或减去(-)n天/m月/y年
    • 示例:+1m 将被转换为下个月的同一天
  • x 被展开为 2999-12-31(这是“永不过期”的别名)
  • 上下箭头键会将日期增加或减少1天
  • 左右方向键会将日期增加或减少1周
  • Shift下/上箭头键会将日期增加或减少一个月
  • 向右或向左键移动会将日期增加或减少一年

按钮的键盘简写

只要按钮上有加粗高亮的字母,这就是快捷键。例如:按钮“P 添加为新产品”可以通过使用键盘上的 P 键来“按下”。

可安装网页应用(PWA)

Grocy 的网页前端是响应式的,并且是一个“可安装的网页应用程序”(PWA,但不提供任何离线使用功能),它提供了类似原生移动应用的体验,而无需额外工具。

数据库迁移

当访问根(/)路由(点击左上角的徽标)时,会根据需要执行数据库模式迁移,如果版本已更改(也就是进行了更新),迁移也会自动触发。

请注意:数据库迁移应该在版本之间进行,而不是在每次提交之间进行。如果你想运行当前的 master 分支(即开发版本),你需要自己处理这些问题(以及更多)。

禁用某些功能

如果你不使用 Grocy 的某些功能集(例如,如果你不需要“家务”),每个主要功能集都有功能标记来隐藏/禁用相关的界面元素(参见 config-dist.php)。

添加自己的CSS或JS,而无需修改应用程序本身

  • 当文件 data/custom_js.html 存在时,文件的内容将被添加到每个页面的 </body>(body 结束标记)之前
  • 当文件 data/custom_css.html 存在时,文件内容将被添加到每个页面的 </head>(head 结束标签)之前。

演示模式

当 MODE 设置为 dev、demo 或 prerelease 时,应用程序将以演示模式运行,这意味着身份验证被禁用,并且在数据库模式迁移期间会生成一些演示数据(通过传递查询参数 nodemodata,例如 https://grocy.example.com/?nodemodata 来跳过此步骤)。

嵌入模式

当文件 embedded.txt 存在时,它必须包含一个有效且可写的路径,该路径将用作数据目录而不是 data,并且身份验证将被禁用(用于 Grocy Desktop)。

在嵌入模式下,设置可以通过 data/settingoverrides 中的文本文件进行覆盖,文件名必须为 <SettingName>.txt(例如 BASE_URL.txt),内容必须为设置值(通常为单行)。

贡献 / 表示感谢

如果你只是想表示感谢,请参见 https://grocy.info/#say-thanks,或如需其他任何贡献,请参见 Contributing。

路线图

没有。特定的错误/改进的进度总是通过相应请求来跟踪,至少通过提交注释引用。

里程碑用于指示相应请求在哪个版本中完成(vNEXT表示目前计划在下一个版本中完成)。

截图

库存概览

购物清单

餐食计划

家务概览

许可

麻省理工学院许可证 (MIT)

本站来源与版权声明
  • 本文标题:grocy - 超越冰箱的ERP——Grocy是一款基于网页
  • 本文链接:https://www.cn121.com/webapp/grocy-grocy.html
  • 原项目:grocy/grocy 版权归原作者 grocy 及贡献者所有
  • 收录信息:本站于 2026-10-23 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 grocy/grocy。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。