grocy
Grocy is a self-hosted web application for managing household groceries, inventory, and meal planning. It provides barcode scanning, expiration tracking, and a REST API, designed for personal or small household use rather than commercial scale.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | grocy/grocy |
| Owner | grocy |
| Primary language | JavaScript |
| License | MIT — OSI-approved |
| Stars | 9.2k |
| Forks | 775 |
| Open issues | 137 |
| Latest release | v4.6.0 (2026-03-06) |
| Last updated | 2026-06-25 |
| Source | https://github.com/grocy/grocy |
What grocy is
PHP 8.5 web application with SQLite backend, JavaScript frontend, and a REST API. Deployed via direct file extraction, Docker, or as a desktop application. Supports barcode lookup via external services (Open Food Facts plugin included) and client-side camera scanning.
Get the grocy source
Clone the repository and explore it locally.
git clone https://github.com/grocy/grocy.gitcd grocy# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Verify PHP 8.5 availability and required extensions (fileinfo, pdo_sqlite, gd, ctype, intl, zlib, mbstring) on target host.
- Plan webserver configuration: nginx requires `try_files` rule in location block; Apache may use mod_rewrite or URL rewriting can be disabled.
- Secure default credentials immediately: change admin/admin login upon first deployment. Ensure HTTPS for client-side camera barcode scanning.
- Database is SQLite—suitable for small to medium households but not for high concurrency or large datasets. No built-in backup mechanism beyond manual file copying; use provided `update.sh` on Linux for automated backups.
- Plan localization: English and German are maintained; other languages depend on community translation completion (≥70%) on Transifex.
When to avoid it — and what to weigh
- Commercial or Multi-Tenant SaaS Use — Grocy is explicitly described as a hobby project. License permits commercial use under MIT, but no enterprise support, SLA, or multi-tenant architecture. Not suitable for resale or service provider models.
- High-Scale or Real-Time Collaboration — Single-instance PHP+SQLite architecture; no horizontal scaling, clustering, or real-time synchronization. Does not handle large concurrent user bases or distributed teams.
- Zero Configuration / Managed Service Expectation — Requires PHP 8.5+, SQLite 3.40+, specific extensions, webserver configuration, and manual updates. Not plug-and-play; needs technical administration.
- RTL Language Requirements — RTL (right-to-left) language support is explicitly not implemented. Limits usability in Arabic, Hebrew, Farsi, and other RTL locales.
License & commercial use
MIT License: permissive, allows commercial use, modification, and distribution with minimal restrictions. No warranty or liability. Requires attribution.
MIT License permits commercial use; however, project is maintained as a hobby and provides no commercial support, SLA, or enterprise guarantees. Any commercial deployment (internal use or resale) requires independent maintenance and support planning. Redistribution or SaaS resale require careful license compliance review and should include proper attribution.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Possible |
| Assessment confidence | High |
Self-hosted model eliminates third-party data exposure. HTTPS required for client-side camera scanning. Default credentials (admin/admin) must be changed immediately. No mention of input validation, SQL injection protections, CSRF tokens, rate limiting, or authentication bypass testing in available docs. SQLite lacks built-in user isolation. Self-hosted means patching and security monitoring are user's responsibility. No published security policy or disclosure process.
Alternatives to consider
Mealie
Open-source recipe and meal planning with multi-user support and Docker-first design. More modern stack (FastAPI, Vue.js) and active community, but narrower scope (no generic household management).
Tandoor
Django-based recipe management with sharing and multi-user features. Better suited for shared household cooking; lighter on inventory tracking than Grocy.
Homebox
Household inventory and organization tool with modern web UI and Docker support. Simpler UI, less feature-rich for meal planning and barcode scanning, but actively maintained.
Build on grocy with DEV.co software developers
Deploy Grocy on your own infrastructure for complete privacy and control. Requires PHP 8.5, SQLite, and webserver setup. Check documentation at grocy.info or try the live demo first.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
grocy FAQ
Can I use Grocy on a NAS or shared hosting?
Is there a mobile app?
Can multiple users access Grocy simultaneously?
How is my data backed up?
Work with a software development agency
Need help beyond evaluating grocy? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source erp integrations — and maintain them long-term.
Ready to Self-Host Your Household?
Deploy Grocy on your own infrastructure for complete privacy and control. Requires PHP 8.5, SQLite, and webserver setup. Check documentation at grocy.info or try the live demo first.