Self-hosted pantry manager — inventory, barcode scan, AI recipes, less waste.
git clone https://github.com/dadaloop82/EverShelf.git && cd EverShelf
cp .env.example .env && docker compose up -d # → http://localhost:8080✨ Features
| Inventory | Scan, locations, expiry, opened packs, favourites, CSV import/export |
| AI | Gemini · OpenAI · Llama — identify, OCR expiry, recipes, chat |
| Shopping | Smart list, anti-waste qty, optional Bring! |
| Cooking | Steps, TTS, timers, zero-waste tips |
| PWA | Offline queue, installable, multi-device |
Integrations: Home Assistant · MCP · Health Bridge · Kiosk
Languages: IT · EN · DE · FR · ES · ZH — details in wiki → Features
📰 What's new
v1.8.5 — Inventory swipe-only + crumb threshold; recipe ingredients open Use v1.8.4 — Chat→Recipes pantry matching v1.8.3 — Hold-to-open list rows (scroll-friendly) v1.8.2 — Comprato fino a finito di nuovo; Rimuovi solo nel mese v1.8.1 — block mese v1.8.0 — Finished banners stick + carousel preserves position v1.7.99 — Short banner buttons + finished dismiss sticks v1.7.98 — Undo ledger ghost v1.7.97 — Gone products / crumb anomalies v1.7.96 — Estendi +7d v1.7.95 — Anti-waste shopping qty v1.7.94 — Hotfix kiosk/spesa v1.7.93 — Spesa mode UX + opened section
v1.7.91 — fix depleted crumbs (e.g. 19 g butter) stuck in Opened alerts
v1.7.90 — spend_stats dashboard crash fix
⚙️ Install & config
Docker (recommended): docker compose pull && docker compose up -d
Manual: clone → cp .env.example .env → chmod 755 data/ → point web server at repo root.
Minimum .env:
AI_ENABLED=true
AI_PROVIDER=gemini
GEMINI_API_KEY=your_keyOptional: API_TOKEN, SHOPPING_MODE=bring, cron every 5 min on api/cron_smart_shopping.php
🔌 Integrations & API
| Link | |
|---|---|
| Home Assistant | ha-evershelf |
| MCP agents | mcp-server/README.md |
| Health / Fuel Mode | evershelf-health-bridge/README.md |
| Android kiosk + scale | evershelf-kiosk/README.md |
| REST API | Wiki → API |
🏗️ Architecture & security
index.html SPA · api/index.php · assets/js/app.js · SQLite in data/
🤝 Contributing
CONTRIBUTING.md · Issues · Discussions · Roadmap
Add a language: copy translations/en.json, translate values, open a PR.
📸 Demo
Live demo — no install, full AI.
MIT · Stimpfl Daniel · @dadaloop82
Unrelated iOS app “EverShelf” by Joshumi Technologies — no affiliation.
