Self-hosted recipe manager for storing recipes, planning meals, and generating shopping lists, with Docker installation.
- 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
Create the .env file from the template
curl -o .env https://raw.githubusercontent.com/jt196/vanilla-cookbook/main/.env.template - 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
Create the db and uploads folders for persistence
mkdir -p ./db ./uploads - 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
A real-time, self-hosted recipe app for households to plan meals, share grocery lists, and cook together.
A self-hosted recipe manager web app for saving, importing, and organizing family recipes, written in Go.
Self-hosted recipe manager and meal planner that imports recipes from URLs and builds shopping lists.
A collaborative recipe keeper, meal planner, and shopping list organizer, delivered as a PWA that works offline and syncs across devices.
A programmer-oriented collection of home cooking recipes written as clear, structured steps, with a web viewer and Docker deployment.