Why Self-Host Your Recipe Collection?
Recipe platforms like Paprika, Yummly, and BigOven lock your culinary data behind paywalls, limit imports, and can disappear overnight — taking your curated collection with them. Self-hosting a recipe manager puts you in full control:
- Own your recipes forever — no subscription fees, no account suspensions, no disappearing services
- Import from anywhere — scrape recipes directly from any cooking website with one click
- Meal planning on your terms — generate shopping lists, plan weeks ahead, and scale servings without premium tiers
- Family access — share your collection with household members, each with their own accounts and preferences
- Offline availability — access recipes on your local network even when the internet is down
- Custom categories and tags — organize by cuisine, dietary restriction, difficulty, cooking method, or any system you invent
Whether you are a home cook building a personal collection, a family managing weekly dinners, or a meal prep enthusiast tracking macros, a self-hosted recipe manager pays for itself within weeks of the Paprika subscription you will never pay.
Feature Comparison: Tandoor Recipes vs Mealie
Tandoor Recipes and Mealie are the two leading open-source, self-hosted recipe managers. Both scrape recipes from URLs, support meal planning, and run in docker. But they differ significantly in philosophy and features.
| Feature | Tandoor Recipes | Mealie |
|---|---|---|
| License | MIT | MIT |
| Language Stack | Python/Django + Vue.js | Python/FastAPI + Vue.js |
| Database | PostgreSQL or SQLite | PostgreSQL or SQLite |
| Recipe Import | URL import, JSON, Paprika, ChowNow, nextcloud Cook | URL import, JSON, Paprika, Pepper, Tandoor |
| URL Scrape Success | Excellent (Django-based parser) | Excellent (recipe-scrapers library) |
| Image Import | ✅ Downloads and stores images | ✅ Downloads and stores images |
| Meal Planning | ✅ Calendar view with drag-and-drop | ✅ Calendar view with drag-and-drop |
| Shopping Lists | ✅ Auto-generated from meal plan | ✅ Auto-generated from meal plan |
| Servings Scaling | ✅ Dynamic ingredient scaling | ✅ Dynamic ingredient scaling |
| Nutritional Info | ✅ Per-recipe breakdown | ✅ Per-recipe breakdown |
| Barcode Scanning | ❌ No | ✅ Yes (mobile web) |
| Cook Mode | ✅ Step-by-step full-screen | ✅ Step-by-step full-screen |
| Multi-language | 20+ languages | 25+ languages |
| API | ✅ Full REST API | ✅ Full REST API |
| Bookmarks/Collections | ✅ Custom books with filters | ✅ Categories, tags, and tools |
| User Roles | Admin, User, Guest | Admin, User, Read-only |
| Food/Unit Management | ✅ Centralized with aliases | ✅ Centralized with aliases |
| Automations | ✅ Custom automation rules | ❌ Limited |
| iOS/Android Apps | ❌ Progressive Web App only | ❌ Progressive Web App only |
| Recipe Printing | ✅ Clean print view | ✅ Clean print view |
| Comments/Ratings | ✅ Per recipe | ✅ Per recipe |
| Fuzzy Search | ✅ PostgreSQL full-text | ✅ Full-text via SQLAlchemy |
| Docker Image Size | ~400 MB | ~250 MB |
| GitHub Stars | 3,000+ | 6,000+ |
| Latest Release Cadence | Monthly | Bi-weekly |
Which One Should You Choose?
Pick Tandoor Recipes if: you want advanced automation rules, centralized food/unit management with aliases, custom recipe books with dynamic filters, or you are already running a PostgreSQL instance and want deeper integration.
Pick Mealie if: you want a lighter footprint, barcode scanning on mobile, a larger community, faster release cycles, or a simpler setup that works well out of the box with minimal configuration.
Both projects are actively maintained, MIT-licensed, and suitable for production use. The remainder of this guide covers Docker deployment for both, so you can test each one before committing.
Deploying Tandoor Recipes with Docker Compose
Prerequisites
- Docker and Docker Compose installed
- 512 MB RAM minimum (1 GB recommended)
- A domain name (optional, for reverse proxy access)
Step 1: Create the Project Directory
| |
Step 2: Write the Docker Compose File
Create docker-compose.yml:
| |
Step 3: Configure Nginx
Create nginx/default.conf:
| |
Step 4: Generate Secrets and Launch
| |
Step 5: Initial Setup
Open http://your-server-ip:8080 in your browser. The first visit prompts you to create an admin account. After logging in:
- Go to Settings → Search to configure full-text search (PostgreSQL only)
- Go to Settings → Import/Export to set up recipe imports
- Create your first recipe by pasting a URL from any cooking website into the import field
Reverse Proxy with HTTPS (Optional)
For external access, put Tandoor behind a reverse proxy. If you are already running Caddy:
| |
Caddy automatically provisions and renews TLS certificates via Let’s Encrypt.
Deploying Mealie with Docker Compose
Prerequisites
- Docker and Docker Compose installed
- 256 MB RAM minimum (512 MB recommended)
- A domain name (optional, for reverse proxy access)
Step 1: Create the Project Directory
| |
Step 2: Write the Docker Compose File
Create docker-compose.yml:
| |
Step 3: Generate Secrets and Launch
| |
Step 4: Initial Setup
Navigate to http://your-server-ip:9925. On first launch:
- Create your admin account when prompted
- Go to Settings → Data Management to import existing recipes
- Go to Settings → Email to configure SMTP for password resets
- Create a household and invite family members
Production Deployment with PostgreSQL
For larger recipe collections (500+ recipes), PostgreSQL is recommended over SQLite:
| |
Importing Your Existing Recipe Collection
Both platforms support importing from other services. Here is how to migrate your recipes.
Import from URLs (Both Platforms)
The most common workflow is importing individual recipes from websites:
| |
Both Tandoor and Mealie use the recipe-scrapers Python library under the hood, which supports 300+ websites including:
- AllRecipes, BBC Good Food, Bon Appetit, Budget Bytes
- Epicurious, Food Network, Serious Eats
- King Arthur Baking, NYT Cooking (public recipes)
- Minimalist Baker, Smitten Kitchen, The Woks of Life
- And hundreds more
Batch Import from Paprika
Both platforms support Paprika export files:
- In Paprika, export your recipes: File → Export Recipes
- This creates a
.paprikarecipesfile (actually a ZIP archive) - In Tandoor: Settings → Import/Export → Paprika → upload the file
- In Mealie: Settings → Data Management → Import → Paprika → upload
Import from Nextcloud Cook
If you currently use the Nextcloud Cook app:
- Export recipes from Nextcloud Cook (JSON format)
- In Tandoor: use the Nextcloud Cook import option
- In Mealie: use the generic JSON import option
Import from Plain JSON/CSV
Both platforms accept structured JSON files. The expected format:
| |
Meal Planning and Shopping List Workflows
A recipe manager becomes truly powerful when you use it to plan meals and generate shopping lists automatically.
Tandoor Recipes: Weekly Meal Planning
- Navigate to Plan → Month View or Calendar View
- Drag recipes from your library onto specific days
- Set entry types: Breakfast, Lunch, Dinner, Snack
- Click Shopping to auto-generate a consolidated shopping list
- The system merges duplicate ingredients across all planned meals and scales quantities based on servings
Tandoor’s automation feature lets you create rules like:
| |
Mealie: Group Shopping Lists
Mealie takes a different approach with household-level organization:
- Create a household for your family or roommates
- Each member adds recipes to the shared meal plan
- Navigate to Shopping Lists to see the merged ingredient list
- Check off items as you shop — the list syncs across all household members in real time
- Create multiple lists for different stores or trips (e.g., “Costco run” vs “Weekly groceries”)
Mealie’s shopping list supports categories, so ingredients are grouped by aisle:
| |
Backup and Disaster Recovery
Your recipe collection is valuable — back it up regularly.
Tandoor Recipes Backup
| |
Add this to cron for daily backups:
| |
Mealie Backup
Mealie stores everything in the /app/data volume, making backups straightforward:
| |
For Mealie with PostgreSQL, also dump the database as shown in the Tandoor example above.
Automated Backup with Restic
For encrypted, deduplicated backups to any storage backend:
| |
Advanced Configurations
Running Both Side-by-Side for Evaluation
Nothing stops you from running both services simultaneously to compare them:
| |
Import the same 20–30 recipes into each platform, build a week of meal plans, and see which workflow feels more natural. Once you decide, stop and remove the other containhome assistantrating with Home Assistant
If you run Home Assistant, both platforms can integrate with your smart kitchen:
Mealie offers an official Home Assistant integration via its REST API. Add to configuration.yaml:
| |
Tandoor can be queried via its REST API in automations to announce today’s meal plan on smart speakers or display it on kitchen tablets.
Reverse Proxy with Traefik
If you already run Traefik as your reverse proxy, here is a labeled configuration for Mealie:
| |
Conclusion
Self-hosting your recipe collection is one of the most practical homelab projects you can undertake. It saves money, protects your data, and creates a genuinely useful daily tool for everyone in your household.
Tandoor Recipes shines with its automation engine, centralized food management, and custom recipe books. It is the more powerful platform if you are willing to invest time in configuration.
Mealie delivers a polished, opinionated experience that works beautifully from the first launch. Its barcode scanning, lighter resource footprint, and faster development cycle make it the easier recommendation for most households.
Deploy both, import a few dozen recipes, plan a week of meals on each, and you will quickly know which one fits your kitchen workflow. Either choice means your grandmother’s lasagna recipe will outlive every cloud service that ever charged a monthly fee.
Frequently Asked Questions (FAQ)
Which one should I choose in 2026?
The best choice depends on your specific requirements:
- For beginners: Start with the simplest option that covers your core use case
- For production: Choose the solution with the most active community and documentation
- For teams: Look for collaboration features and user management
- For privacy: Prefer fully open-source, self-hosted options with no telemetry
Refer to the comparison table above for detailed feature breakdowns.
Can I migrate between these tools?
Most tools support data import/export. Always:
- Backup your current data
- Test the migration on a staging environment
- Check official migration guides in the documentation
Are there free versions available?
All tools in this guide offer free, open-source editions. Some also provide paid plans with additional features, priority support, or managed hosting.
How do I get started?
- Review the comparison table to identify your requirements
- Visit the official documentation (links provided above)
- Start with a Docker Compose setup for easy testing
- Join the community forums for troubleshooting