Repolode
jt196

jt196/vanilla-cookbook

A self-hosted recipe manager that imports recipes from URLs, converts units, scales ingredients and logs your cooking.

Open-source alternative to:PaprikaMealie

Stars
157
Forks
12
Open issues
6
Last commit
2 days ago

What is it?

Vanilla Cookbook is a self-hosted recipe manager built around a simple interface. It parses unstructured ingredient text into quantity, unit and ingredient parts, so recipes can be scaled and converted without manual data entry. Ingredients are converted from US volumetric measures to metric and imperial weights, and the original text is kept.

Recipes can be added by pasting a URL or using a browser bookmarklet to scrape sites, or imported from several file formats. The app also includes a shopping list built from recipes, a calendar of cooking logs, nutrition table parsing, and public recipe sharing with forking and favourites. It runs as a single Docker container with a portable SQLite database, and includes scheduled backups.

Optional LLM features use Google, OpenAI, Anthropic or Ollama API keys for tasks such as parsing pages without Schema.org data, tidying ingredient strings, translating recipes, generating recipes from prompts, and semantic search. Authentication supports GitHub, Google and OpenID Connect providers.

Key features

  • 01Parses ingredient text into quantity, unit and ingredient, and scales recipes
  • 02Converts US volumetric measures to metric and imperial weights
  • 03Imports recipes from URLs via a bookmarklet or paste, plus file imports and exports
  • 04Shows nutrition text in a structured table
  • 05Shopping list and cooking log with calendar view
  • 06Runs as a Docker container with SQLite and automatic backups
  • 07Optional LLM assist for scraping, translation, and semantic search

Use cases

  • Keeping a household's recipe collection in one self-hosted place
  • Importing recipes from cooking websites and cleaning up their ingredient lists
  • Building a shopping list from planned meals
  • Sharing a cookbook with family or friends through public recipes

Quick start

  1. 1

    Create the .env file from the template

    curl -o .env https://raw.githubusercontent.com/jt196/vanilla-cookbook/main/.env.template
  2. 2

    Create the docker-compose.yml file from the template

    curl -o docker-compose.yml https://raw.githubusercontent.com/jt196/vanilla-cookbook/main/docker-compose.yml.template
  3. 3

    Create the db and uploads folders for persistence

    mkdir -p ./db ./uploads
  4. 4

    Start the container with Docker Compose, then create the admin user on first run

    docker-compose up -d

Things to know

  • Local development requires build tools to compile the better-sqlite3 native module.
  • Some features such as LLM Assist need an API key from a supported provider.

In collections

Topics

FAQ

What is vanilla-cookbook?
A self-hosted recipe manager that imports recipes from URLs, converts units, scales ingredients and logs your cooking. Vanilla Cookbook is a self-hosted recipe manager built around a simple interface. It parses unstructured ingredient text into quantity, unit and ingredient parts, so recipes can be scaled and converted without manual data entry. Ingredients are converted from US volumetric measures to metric and imperial weights, and the original text is kept.
Is vanilla-cookbook free to use? What license does it have?
vanilla-cookbook is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is vanilla-cookbook still maintained?
Actively maintained. The last commit to vanilla-cookbook was on Nov 5, 2026.
What can I use vanilla-cookbook for?
Keeping a household's recipe collection in one self-hosted place Importing recipes from cooking websites and cleaning up their ingredient lists Building a shopping list from planned meals Sharing a cookbook with family or friends through public recipes
How do I install vanilla-cookbook?
Create the .env file from the template: curl -o .env https://raw.githubusercontent.com/jt196/vanilla-cookbook/main/.env.template Create the docker-compose.yml file from the template: curl -o docker-compose.yml https://raw.githubusercontent.com/jt196/vanilla-cookbook/main/docker-compose.yml.template Create the db and uploads folders for persistence: mkdir -p ./db ./uploads Start the container with Docker Compose, then create the admin user on first run: docker-compose up -d
Where can I get vanilla-cookbook?
The source code and installation instructions are on GitHub: https://github.com/jt196/vanilla-cookbook

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects