← All articles
PRODUCTIVITY Self-Hosting Tandoor Recipes: Your Personal Recipe M... 2026-02-08 · tandoor · recipes · meal-planning

Self-Hosting Tandoor Recipes: Your Personal Recipe Manager

Productivity 2026-02-08 tandoor recipes meal-planning docker

Recipe websites are broken. Every recipe is buried under a wall of ads, pop-ups, and a 2,000-word life story before you get to the ingredients. Tandoor Recipes is a self-hosted recipe manager that strips away the noise and gives you a clean, fast, searchable recipe collection that works offline from your kitchen.

Why Self-Host a Recipe Manager?

If you cook regularly, you probably have recipes scattered across bookmarks, screenshots, apps, and physical cards. A self-hosted recipe manager centralizes everything:

Docker Setup

Tandoor uses Django (Python) with a PostgreSQL database:

# docker-compose.yml
services:
  tandoor:
    image: vabene1111/recipes
    ports:
      - "8080:8080"
    environment:
      DB_ENGINE: django.db.backends.postgresql
      POSTGRES_HOST: db
      POSTGRES_PORT: 5432
      POSTGRES_USER: tandoor
      POSTGRES_PASSWORD: your-secure-password
      POSTGRES_DB: tandoor
      SECRET_KEY: your-random-secret-key
      TIMEZONE: America/Los_Angeles
      ENABLE_SIGNUP: 0
    volumes:
      - ./staticfiles:/opt/recipes/staticfiles
      - ./mediafiles:/opt/recipes/mediafiles
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: tandoor
      POSTGRES_PASSWORD: your-secure-password
      POSTGRES_DB: tandoor
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    restart: unless-stopped

Start it:

docker compose up -d

Visit http://your-server:8080 and create your admin account.

Tip: Generate a strong SECRET_KEY with: openssl rand -hex 32

Importing Recipes

From a Website

The fastest way to build your collection. Click "Create" → "Import" → paste a URL. Tandoor uses recipe schema parsers to extract:

It works on most recipe sites — any site using Schema.org Recipe markup (which is most of them, since it helps their SEO).

Browser Extension

Install the Tandoor bookmarklet or browser extension. When you find a recipe you like, click it to send the recipe directly to your Tandoor instance.

Manual Entry

For family recipes, handwritten cards, or recipes from cookbooks, the manual editor lets you type or paste everything. The ingredient parser understands natural language:

2 cups all-purpose flour
1/2 tsp salt
3 large eggs, beaten
1 14oz can coconut milk

Tandoor automatically separates quantities, units, and food items.

Bulk Import

Tandoor can import from:

Key Features

Meal Planning

The meal plan calendar lets you:

Shopping Lists

Shopping lists are generated from meal plans or individual recipes. They:

Cookbooks

Organize recipes into cookbooks (collections):

Scaling

Adjust serving sizes and all ingredient quantities scale automatically. Making the recipe for 8 instead of 4? Click the serving adjuster and every measurement updates.

Nutritional Information

Tandoor can pull nutritional data from the Open Food Facts database. Enable it in settings to see calories, macros, and micronutrients per serving.

Multi-User

Add family members with their own accounts. Each user can:

Mobile Experience

Tandoor works as a Progressive Web App (PWA). On your phone:

  1. Open Tandoor in your browser
  2. Tap "Add to Home Screen"
  3. It installs as an app-like experience with offline support

The PWA caches recipes you've viewed, so you can access them without internet — perfect for when you're in the kitchen with messy hands and spotty Wi-Fi.

Reverse Proxy Setup

Behind Caddy:

recipes.yourdomain.com {
    reverse_proxy tandoor:8080
}

Behind Nginx:

server {
    server_name recipes.yourdomain.com;
    client_max_body_size 128M;  # For recipe photo uploads

    location / {
        proxy_pass http://tandoor:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Tandoor vs Mealie vs Paprika

Feature Tandoor Mealie Paprika
Self-hosted Yes Yes No
Cost Free Free $5 one-time (per platform)
Web import Yes Yes Yes
Meal planning Yes Yes No
Shopping lists Yes (real-time) Yes Yes (basic)
Multi-user Yes Yes No
Offline/PWA Yes Yes Native app
Nutritional info Yes (OpenFoodFacts) Yes No
API Yes (full REST) Yes (full REST) No
Ingredient parsing Excellent Good Good
Recipe scaling Yes Yes Yes
Cookbooks/collections Yes Yes (categories/tags) Yes
Active development Very active Very active Slow

When to Choose Tandoor

When to Choose Mealie

When to Choose Paprika

Backup Strategy

Tandoor stores data in PostgreSQL and recipe images on disk. Back up both:

#!/bin/bash
# backup-tandoor.sh
BACKUP_DIR="/backups/tandoor"

# Database dump
docker exec tandoor-db pg_dump -U tandoor tandoor | \
  gzip > "$BACKUP_DIR/db-$(date +%Y%m%d).sql.gz"

# Media files
tar czf "$BACKUP_DIR/media-$(date +%Y%m%d).tar.gz" ./mediafiles

# Keep last 14 days
find "$BACKUP_DIR" -mtime +14 -delete

Verdict

Tandoor Recipes is the most complete self-hosted recipe manager available. The web import works reliably, meal planning is genuinely useful, and the shared shopping lists are a household game-changer. If you cook regularly and want to break free from ad-ridden recipe websites and subscription-based apps, Tandoor gives you everything you need.

Install it alongside your other self-hosted services, import your bookmarked recipes, and you'll wonder why you tolerated recipe websites for so long.