Why Mealie?
Recipe blogs hide a 5-ingredient recipe behind 2,000 words of backstory. Mealie fixes this:
- URL import — Paste a link, get just the recipe. No story.
- Meal planning — Drag recipes onto a weekly calendar.
- Shopping lists — Auto-generated from your meal plan.
- Family cookbook — Multi-user with shared groups.
- Beautiful UI — Grid or list view with food photos.
- REST API — Integrate with n8n or Home Assistant.
Prerequisites
- Docker with docker-compose.
- At least 256 MB RAM.
Step 1: Deploy with Docker Compose
# docker-compose.yml
version: "3"
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest
container_name: mealie
ports:
- "9925:9000"
environment:
ALLOW_SIGNUP: "true"
TZ: America/Mexico_City
BASE_URL: http://mealie.example.com
volumes:
- ./mealie-data:/app/data
restart: always
docker compose up -d
Access at http://your-server:9925. Default credentials: changeme@example.com / MyPassword.
Step 2: Import Recipes
- Click ”+” in the top right.
- Paste a URL:
https://www.seriouseats.com/the-best-chili-recipe - Mealie extracts: title, image, ingredients, instructions, cook time, servings.
- Edit if needed, click Save.
Supported sites include: AllRecipes, Serious Eats, BBC Good Food, NYT Cooking, Bon Appétit, and thousands more.
Step 3: Meal Planning
| Feature | How |
|---|---|
| Weekly view | Drag recipes onto days |
| Shopping list | Auto-generated from planned meals |
| Multiple plans | Create plans per family member |
| Nutritional info | Displayed per recipe (if available) |
| Leftovers | Mark meals that produce leftovers |
Mealie vs Alternatives
| Feature | Mealie | Tandoor | Paprika |
|---|---|---|---|
| Self-hosted | Yes | Yes | No (app only) |
| URL import | Excellent | Good | Good |
| Meal planning | Yes | Yes | No |
| Shopping lists | Yes | Yes | Yes |
| API | REST API | REST API | No |
| Cost | Free | Free | $5 one-time |
| Multi-user | Yes | Yes | No |
Troubleshooting
| Problem | Solution |
|---|---|
| URL import fails | Site may not be supported; manually create the recipe or try a different URL |
| Images not loading | Check disk space; verify the mealie-data volume is writable |
| Forgot admin password | Reset via CLI: docker exec mealie python /app/scripts/reset_password.py |
| Shopping list empty | Ensure recipes are added to a meal plan first |
Summary
- URL import strips blog stories, extracts just the recipe.
- Meal planning + shopping lists for organized cooking.
- Multi-user family cookbook with shared groups.
- REST API for integration with automation tools.