docker.recipes

Grocy Household Management

beginner

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:latest
4 container_name: grocy
5 environment:
6 - PUID=1000
7 - PGID=1000
8 - TZ=${TZ}
9 volumes:
10 - grocy_config:/config
11 ports:
12 - "9283:80"
13 restart: unless-stopped
14 networks:
15 - grocy-network
16
17volumes:
18 grocy_config:
19
20networks:
21 grocy-network:
22 driver: bridge

.env Template

.env
1# Grocy
2TZ=UTC

Usage Notes

  1. 1UI at http://localhost:9283
  2. 2Default login: admin / admin
  3. 3Change password after first login
  4. 4Barcode scanning support
  5. 5Meal planning and recipes

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 grocy:
5 image: linuxserver/grocy:latest
6 container_name: grocy
7 environment:
8 - PUID=1000
9 - PGID=1000
10 - TZ=${TZ}
11 volumes:
12 - grocy_config:/config
13 ports:
14 - "9283:80"
15 restart: unless-stopped
16 networks:
17 - grocy-network
18
19volumes:
20 grocy_config:
21
22networks:
23 grocy-network:
24 driver: bridge
25EOF
26
27# 2. Create the .env file
28cat > .env << 'EOF'
29# Grocy
30TZ=UTC
31EOF
32
33# 3. Start the services
34docker compose up -d
35
36# 4. View logs
37docker compose logs -f

One-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 | bash

Troubleshooting

  • 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

Ad Space