Grocy Household Management
Grocy ERP for household management with inventory, chores, and recipes.
Overview
Grocy is a web-based ERP solution designed specifically for household management, originally developed by Bernd Bestel in 2017 to bring enterprise resource planning concepts to home environments. Unlike commercial household apps, Grocy provides comprehensive inventory tracking, expiration date management, shopping list automation, recipe management, and chore scheduling in a self-hosted package that keeps your household data completely private. The application runs as a PHP-based web interface with SQLite database backend, making it lightweight yet powerful enough to handle complex household logistics.
This Docker stack deploys Grocy using the LinuxServer.io container image, which provides automatic updates, proper file permissions, and optimized configuration for home server environments. The containerized setup isolates Grocy from your host system while maintaining persistent data storage for your household inventory, recipes, and historical consumption patterns. The stack is configured to run on port 9283 with timezone synchronization and user/group ID mapping for proper file access.
This configuration is ideal for families wanting to reduce food waste, individuals managing large pantries or freezers, meal prep enthusiasts, and anyone seeking to digitize their household management workflow. The combination of barcode scanning capabilities, expiration tracking, and automated shopping lists makes Grocy particularly valuable for households serious about inventory optimization and budget management.
Key Features
- Comprehensive inventory management with barcode scanning support for easy product entry
- Automatic expiration date tracking with customizable warning notifications
- Smart shopping list generation based on minimum stock levels and consumption patterns
- Built-in recipe manager with ingredient calculation and meal planning calendar
- Household chore scheduling and tracking system with recurring task support
- Stock location management for tracking items across multiple storage areas
- Consumption history analytics to identify usage patterns and optimize purchasing
- Multi-user support with different permission levels for family members
Common Use Cases
- 1Large families tracking pantry inventory and reducing food waste through expiration monitoring
- 2Meal prep enthusiasts managing bulk ingredient purchases and recipe scaling
- 3Households with multiple storage locations needing centralized inventory tracking
- 4Budget-conscious families optimizing grocery shopping through consumption analytics
- 5Shared living situations requiring chore assignment and completion tracking
- 6Home cooks building digital recipe collections with automatic shopping list integration
- 7Individuals managing special dietary requirements with detailed ingredient tracking
Prerequisites
- Docker and Docker Compose installed on your system
- Minimum 512MB RAM available for the Grocy container
- Port 9283 available and not conflicting with other services
- Basic understanding of web-based inventory management concepts
- Mobile device or barcode scanner for product entry (optional but recommended)
- TZ environment variable configured for accurate expiration date calculations
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 grocy: 3 image: linuxserver/grocy:latest4 container_name: grocy5 environment: 6 - PUID=10007 - PGID=10008 - TZ=${TZ}9 volumes: 10 - grocy_config:/config11 ports: 12 - "9283:80"13 restart: unless-stopped14 networks: 15 - grocy-network1617volumes: 18 grocy_config: 1920networks: 21 grocy-network: 22 driver: bridge.env Template
.env
1# Grocy2TZ=UTCUsage Notes
- 1UI at http://localhost:9283
- 2Default login: admin / admin
- 3Change password after first login
- 4Barcode scanning support
- 5Meal planning and recipes
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 grocy:5 image: linuxserver/grocy:latest6 container_name: grocy7 environment:8 - PUID=10009 - PGID=100010 - TZ=${TZ}11 volumes:12 - grocy_config:/config13 ports:14 - "9283:80"15 restart: unless-stopped16 networks:17 - grocy-network1819volumes:20 grocy_config:2122networks:23 grocy-network:24 driver: bridge25EOF2627# 2. Create the .env file28cat > .env << 'EOF'29# Grocy30TZ=UTC31EOF3233# 3. Start the services34docker compose up -d3536# 4. View logs37docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/grocy-household/run | bashTroubleshooting
- Grocy shows 'Database is locked' error: Stop the container, check for crashed PHP processes, and restart with docker-compose restart grocy
- Barcode scanning not working properly: Ensure your camera has proper permissions and try using the manual UPC entry as fallback
- Shopping list not updating automatically: Check minimum stock levels are set correctly for products and verify consumption tracking is enabled
- Recipe ingredient calculations are incorrect: Verify that product units match recipe units and check quantity unit factor settings
- Chore notifications not appearing: Confirm timezone settings match your location and check that due date calculations are properly configured
- File permission errors on config directory: Ensure PUID and PGID match your host user's ID values using 'id' command
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
grocy
Tags
#grocy#household#inventory#groceries#meal-planning
Category
Home Lab & Self-HostingAd Space
Shortcuts: C CopyF FavoriteD Download