A pantry that keeps track of expiry dates for you
Pantry is an app for the whole household: scan EAN barcodes, see what's about to go off, plan shopping with your family and keep all your recipes in one place. It runs on your own server, so your data stays with you.



What Pantry can do
Everything you need, with no cloud accounts and no subscriptions.
EAN barcode scanner
Scan a product with your phone's camera and its data is fetched from Open Food Facts. Pick an expiry date (+3 days, +1 week, +1 month or a date from the calendar) and you're done. Quick-remove mode subtracts used items with a single scan.
Expiry dates under control
The dashboard instantly shows what needs to be used up. The warning period is configurable, and expired products can be moved to your shopping list with one click.
Shared shopping lists
Multiple lists with real-time sync. When someone ticks off an item in the store, everyone else in the household sees it right away.
Notes, checklists and recipes
Colourful pinnable notes, quick checklists and a recipe manager with photos, ratings and ingredient lists.
Households and roles
The first account becomes the administrator. Family members join with a 6-character code valid for 5 minutes, and the admin panel manages users and households.
PWA on every phone
Install it like a regular app on iOS and Android. Changes appear on all devices without refreshing.
Your kitchen, your colour
In Settings you can choose one of six accent colours. Click to see how the whole app changes. This page reacts too.
Selected: Green
What it looks like
On your own hardware
A server at home, on a NAS or a VPS. One SQLite database file and full control.
Closed registration
New accounts can only be created with an invite code from the administrator.
Change history
The audit log shows who added, changed or discarded a given product.
Under the hood
- Frontend
- React 18, TypeScript, Vite, Tailwind CSS, Socket.IO Client, vite-plugin-pwa
- Backend
- Node.js, Express, TypeScript, Prisma, SQLite, JWT, bcrypt, Zod, Socket.IO
- Product data
- Open Food Facts, Open Beauty Facts, Open Products Facts, Open Pet Food Facts
- Deployment
- Docker Compose, Nginx, SQLite volume (./data)
Installation
All you need is Docker and Docker Compose. The app will start at http://localhost:3200.
git clone https://github.com/paczuu/Pantry.git
cd pantry
docker compose up -d --build- Open the app and register the first account. It automatically becomes the household and system administrator.
- In Settings, under the General tab, generate an invite code and give it to your family members.
- For access from outside your home, expose the app over HTTPS, otherwise the camera and PWA installation won't work.
Installation via Portainer and on a NAS is coming soon.
FAQ
Help improve Pantry
Found a bug or have an idea for a new feature? Reports and ideas are very welcome.
Open repository



