Skip to content

YKDZ/Speciality

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Speciality

Speciality

A lovely home recipe management app focused on practicality.

English  |  简体中文


UI/UX

Recipe List Recipe Details
Recipe List - Search & Tag Filtering Recipe Details - Ingredients & Steps at a Glance
Combo List Combo Details
Combo List Combo Details - Multi-Dish Meal Planning
Shopping List Cooking Slideshow
Shopping List - Auto-Merge & One-Click Copy Cooking Slideshow - Cook as You Watch

Features

  • Recipe Management - Create, edit, delete recipes; Markdown descriptions & steps; multi-image upload
  • Ingredients & Tags - Unified ingredient library and tag system with search and filtering
  • Combos - Combine multiple dishes into a single meal, auto-calculate total cooking time
  • Shopping List - Auto-generated from recipes or combos, smart ingredient merging, grouped/merged views, one-click copy as plain text
  • Cooking Slideshow - Fullscreen step-by-step view with images, cook as you watch
  • Review System - Family members can rate and comment on recipes (toggleable via environment variable)
  • Import & Export - Export recipes as Markdown files or import recipes from Markdown files
  • i18n - Full i18n support, auto-detects browser language
  • Dark / Light Theme - Follows system preference or manual toggle
  • MCP Server - Built-in Model Context Protocol server, AI assistants can manage recipes directly
  • Export as Plain Text - Shopping lists exportable as text for easy sharing
  • SQLite Database - Zero-config, single-file persistence, perfect for home use
  • Docker Deployment - Up and running with a single command

Deployment

Docker Run

docker run -d \
  --name speciality \
  -p 3000:3000 \
  -v speciality-data:/app/data \
  ghcr.io/ykdz/speciality

Visit http://localhost:3000 to get started.

Data (SQLite database + uploaded images) is persisted in the /app/data directory.

Docker Compose

Create a compose.yml:

services:
  speciality:
    image: ghcr.io/ykdz/speciality
    container_name: speciality
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - speciality-data:/app/data
    environment:
      - TITLE=Speciality
      - FALLBACK_LOCALE=zh-CN
      - REVIEWS_ENABLED=true
      - HIDE_LANGUAGE_SWITCHER=false
      - FORCE_FALLBACK_LOCALE=false
      - MAX_FILE_SIZE=52428800

volumes:
  speciality-data:
docker compose up -d

Environment Variables

Variable Default Description
PORT 3000 Server listening port
DATABASE_URL /app/data/recipes.db SQLite database file path
UPLOAD_DIR ./data/uploads Upload image storage directory
MAX_FILE_SIZE 52428800 (50 MB) Maximum upload file size in bytes
TITLE Speciality Page title
REVIEWS_ENABLED true Enable review system (true / false)
FALLBACK_LOCALE zh-CN Fallback language when browser language cannot be detected
HIDE_LANGUAGE_SWITCHER false Hide the language switcher (true to hide)
FORCE_FALLBACK_LOCALE false Force fallback language, ignoring browser and cookie settings

Tip: For a Chinese-only interface, set FORCE_FALLBACK_LOCALE=true and HIDE_LANGUAGE_SWITCHER=true.

MCP Integration

Speciality includes a built-in Model Context Protocol server at /mcp.

AI assistants (such as Claude, GitHub Copilot, etc.) can manage your recipe data directly via the MCP protocol, including:

  • Query / create / edit / delete recipes, ingredients, tags, combos, and reviews
  • Search recipes (by name, description, or tags)
  • Generate shopping lists (with merging & plain text output)

MCP configuration example:

{
  "servers": {
    "speciality": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

Credits

Made by YKDZ with ❤️ and GitHub Copilot.

About

A charming web app for managing family recipes, built for utility. | 可爱的家庭食谱管理应用,专注于实用性

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors