Skip to content

jt196/vanilla-cookbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vanilla Cookbook

For a full getting started guide, read the docs.

Recipe List Recipe View

Overview

Vanilla Cookbook is a self hosted recipe manager built with Svelte(kit). It is designed with complexity under the hood, keeping the user experience as uncluttered, simply vanilla as possible.

Most of the web's recipes are stored as text, without much thought to a consistent language or structure. Many self-hosted apps go down the structuring route, automating, or asking the user to organise their data. This can lead to cluttered and complex interfaces, limiting user experiences to those technically minded. The philosophy behind Vanilla was to do as much as I could with that text as it was, limiting the work the user has to do to a minimum. You should be able to get cooking with a few clicks.

Features

Unit Conversion

Smart conversion from US Volumetric to imperial and metric weight. Thousands of ingredients supported in this conversion. Inline temperature conversion, fractions and ranges are also supported. Docs

Recipe Scaling

Scale your recipe ingredients. No complicated data entry, it's all done under the hood.

Control Your Data

Multiple import formats supported, exports supported. Docs

Scraping Recipes

Scrape recipes using a browser bookmarklet or simply paste a URL in. Hundreds of sites supported. Docs

AI Scrape Assist

Add an LLM API key to assist in:

  • Parsing HTML on fail
  • Parsing plain text paste
  • Processing an image

Docs

Progressive Web App

Install on your mobile from a browser. Docs

Share URL via browser to scrape a recipe, or select text and share to parse text.

Shopping List

Simple shopping list section. Add ingredients from your recipe. Checked ingredients persist but hidden, show them to make your next shopping list. Docs

Cooking Logs

Log when you've cooked a recipe. Calendar view, recipe view of logs. Docs

User Management

User authentication is supported. You can add users, turn on/off registration. Docs

Public Recipes

Recipes and your personal cookbook can be made public, so you can share them with friends and family.

Easy Installation

Designed to be as easy and stress free to set up as possible. Docker or local node instance.

Multiple Language Ingredient Parsing

Multiple languages supported for ingredient parsing. Docs

Currently:

  • English
  • German
  • Italian
  • Spanish
  • French
  • Portuguese
  • Indonesian
  • Hindi
  • Russian
  • Arabic

Installation

Docker

  1. In your project directory, create the .env and docker-compose.yml files using the respective .template files in the repo root:

    curl -o .env https://raw.githubusercontent.com/jt196/vanilla-cookbook/main/.env.template
    curl -o docker-compose.yml https://raw.githubusercontent.com/jt196/vanilla-cookbook/main/docker-compose.yml.template
  2. In the .env file

    • Change the ORIGIN to the URL it's going to be hosted on. If you get any login CORS messages, this not being set correctly will be the reason. The default ORIGIN=http://localhost:3000 should work with the default docker-compose.yml file unless you have anything else on that port.
  3. Create db and uploads folders for persistence in your docker folder, make sure the share paths are correct in the docker-compose file: mkdir -p ./db ./uploads

  4. Use :latest tags for bleedin' edge, :stable for stable release.

  5. Run docker-compose up -d

  6. On first run, you'll be prompted to enter Admin user details.

Local Dev

  1. Clone the repo and the recipe-ingredient-parser submodule: git clone --recursive https://github.com/jt196/vanilla-cookbook.git
  2. At the root of the project, create the .env file: cp .env.template .env
  3. In the .env file
    1. Set ORIGIN to http://localhost:5173 (dev).
  4. Run it
    • pnpm dev:install (node packages and prisma client install)
    • pnpm dev
  5. You'll be prompted for admin user details on accessing root

Upgrade

  1. Grab the latest image: docker pull jt196/vanilla-cookbook
  2. Check the .env.template and docker-compose.yml.template files haven't been modified. Add any additional fields. The .env is the most likely to change.
  3. From the project directory, run docker-compose up -d or docker compose up -d depending on how you have it installed on your system.

About

A deceptively simple recipe manager.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published