Some checks failed
Deploy to Coolify / Code Quality (pull_request) Has been cancelled
Deploy to Coolify / Run Tests (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Development (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Production (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Test (pull_request) Has been cancelled
Pull Request Checks / Validate PR (pull_request) Has been cancelled
- Production compose file with single app service - Separate from development compose (now docker-compose.dev.yml) - Environment variable configuration - Health checks and resource limits - .env.production.example template - Comprehensive DEPLOYMENT.md guide Deployment guide covers: - Quick start with Docker Compose - Supabase setup (cloud + self-hosted) - Multiple deployment options (Coolify, Docker, K8s, VPS) - HTTPS/SSL configuration - Monitoring and logging - Backup and restore procedures - Troubleshooting - Security checklist - Performance optimization Ready for production deployment on any platform. Closes #38
Pantry 🍳
Self-hosted kitchen inventory management — family-friendly PWA with barcode scanning.
🎯 Vision
A simple, modern kitchen inventory app that the whole family can actually use. Born from frustration with existing tools:
- Grocy: Powerful but overwhelming
- KitchenOwl: Nice UI but lacks features
Pantry bridges the gap — simple enough for daily use, powerful enough to be useful.
✨ Key Features (Planned)
- 📱 PWA — Install on phone, works offline
- 📸 Barcode scanning — Scan → Add (3 taps)
- 🏷️ Tag-based organization — Flexible categories (fridge, dairy, etc.)
- 📊 Unit conversions — kg ↔ g, L ↔ mL
- 👥 Multi-user — Shared inventory (no household complexity)
- 🔒 Self-hosted — Your data stays yours
- 🌐 Open Food Facts — Auto-fill product data from barcodes
🚀 Quick Start (Local Development)
# Clone repository
git clone https://gitea.jeanlucmakiola.de/pantry-app/pantry.git
cd pantry
# One-command startup
./dev.sh
What this does:
- Starts Supabase (PostgreSQL + API + Auth + Studio)
- Installs frontend dependencies
- Launches Nuxt dev server
Access:
- App:
http://localhost:3000 - Supabase Studio:
http://localhost:54323
See DEV_SETUP.md for detailed setup guide.
📚 Documentation
- Getting Started — First-time setup (5 minutes)
- Local Setup Guide — Detailed Docker Compose setup
- Project Plan — Vision, roadmap, MVP phases
- Architecture — Tech stack, design decisions
- Database Schema — Tables, RLS policies, migrations
- Development Workflow — Git flow, conventions
- Full Documentation Index — Complete docs navigation
🛠️ Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Nuxt 4 (Vue 3) |
| Styling | Tailwind CSS + Nuxt UI |
| Backend | Supabase (Postgres, Auth, Realtime) |
| Barcode | html5-qrcode |
| Runtime | Bun |
| Deployment | Docker Compose |
| External API | Open Food Facts |
🗂️ Monorepo Structure
pantry/
├── app/ # Nuxt 4 PWA
├── supabase/ # Database, migrations, functions
├── docker/ # Docker Compose, configs
├── docs/ # Documentation
└── scripts/ # Utilities
🎯 Principles
- Family-friendly — If your parents can't use it, it's too complex
- Start simple — Ship small, iterate fast
- Extendable — Clean architecture for future features
- Self-hosted first — No SaaS plans, no lock-in
📋 MVP Status (14/34 Complete - 41.2%)
Current Phase: Week 2 ✅ Complete, Week 3 🔄 In Progress
✅ Week 1 - Foundation (6/6)
- Database schema + RLS policies
- Nuxt 4 app scaffold
- Supabase integration
- App layout
✅ Week 2 - Core Inventory (8/8)
- SQL helper functions
- Seed data (units + tags)
- Inventory CRUD UI
- Add/Edit/Delete components
🔄 Week 3 - Barcode Scanning (1/5)
- BarcodeScanner component
- html5-qrcode integration
- Product lookup (pending)
- Scan-to-add flow (pending)
⏸️ Week 4-6 - Tag UI, PWA, Deployment (20 issues)
See PROJECT_PLAN.md for detailed roadmap.
🤝 Contributing
This is an early-stage project. Contributions welcome once v0.1 ships.
📄 License
MIT © 2026 Jean-Luc Makiola
🙏 Acknowledgments
- Open Food Facts for product data
- Supabase for the backend platform
- Nuxt/Vue ecosystem
Description
Languages
Markdown
100%