← Self-Hosting · Home & Life · Replaces: recipe apps, bookmarked recipe blogs, Paprika
What You'll Build
Mealie is a recipe manager for the whole household. Paste a link to any recipe website and Mealie pulls out just the ingredients and steps. Then plan the week and get a shopping list everyone in the house can tick off.
Port: 9925 · Time: 15 minutes · Difficulty: Easy
What You Need
- Your home server from Foundations 1 (Docker installed,
~/stacksfolder). - Nginx Proxy Manager with your
*.home.example.comcertificate (recommended). - Nothing special.
Step 1: Start Mealie
mkdir -p ~/stacks/mealie && cd ~/stacks/mealie
nano compose.yaml
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest # or pin the version from Mealie's docs
container_name: mealie
restart: unless-stopped
ports:
- "9925:9000"
deploy:
resources:
limits:
memory: 1000M # stops it using lots of RAM when idle
environment:
ALLOW_SIGNUP: "false" # only people you invite
PUID: 1000
PGID: 1000
TZ: "America/New_York"
BASE_URL: "https://recipes.home.example.com"
volumes:
- ./data:/app/data
docker compose up -d
Step 2: First Login
Open http://192.168.1.50:9925. Follow the first-run setup to create your admin account. If you get a login page instead, use the default admin credentials listed in Mealie's documentation and change them immediately under your profile.
Invite family members from Settings → Members / Invite so everyone shares one household's recipes and lists.
Step 3: Import Recipes
- + Create → Import from URL: paste a recipe page's link. Mealie reads the recipe data most sites publish.
- Bulk URL import: paste many links at once.
- Other apps: Settings → Data management → migrations (Paprika, Nextcloud Cookbook, Tandoor, and others).
Step 4: Plan the Week and Shop
- Meal Planner: drag recipes onto days, or let Mealie suggest random ones with rules (e.g. "vegetarian on Monday").
- Shopping list: from the meal plan, add all ingredients to a list — Mealie merges duplicates.
- Open the list on your phone in the store (add Mealie to your home screen from the browser for an app-like experience).
Add It to Your Proxy, Dashboard, and Backups
- Nginx Proxy Manager: new proxy host
recipes.home.example.com→ schemehttp,192.168.1.50, port9925, Websockets on, your wildcard certificate, Force SSL. - Homepage: add a tile in
services.yaml(how). - Uptime Kuma: add an HTTP monitor for the new address (how).
- Backups:
~/stacks/mealieis already covered by the restic script.
Troubleshooting
- URL import fails — some sites block scrapers. Use "Create manually", or try the site's print view link.
- Links in emails/invites point to the wrong address —
BASE_URLmust match your proxy address.