GitHunt
BR

bradly/recipin

Private recipe extraction and archiving. Join a server or run your own.

Recipin

Private recipe bookmarking.
Join one or run your own.

Screenshot

Features

  • Clean Interface: Minimal design with basic CSS and no JavaScript
  • Recipe Extraction: Automatically parse and save recipes in structured data
  • Ingredient Parsing: Uses natural language processing to break down ingredient text
  • Privacy-Focused: No ads, tracking, AI, or social networking
  • Self-Hosted: Run your own instance or join an existing one

Technologies

  • Backend: Ruby on Rails
  • Frontend: Node JS, a dusting of native CSS, Haml 🤗
  • Parsing: Python for NLP ingredient processing
  • Database: SQLite for data storage
  • Deployment: Kamal with local registry

Local Setup

# Clone the repository
git clone git://github.com:bradly/recipin.git
cd recipin

# Install dependencies
bundle install

# Set up the database
rails db:create db:migrate

# Start the development server
bin/dev

Deployment

# Set required environment variables
export RECIPIN_IP_ADDRESS=your-server-ip

# Deploy for the first time
kamal setup
kamal deploy

Admin access

The /admin namespace is protected behind a per-user admin Boolean flag. No
interface is provided to toggle this flag in the app itself—you must use the
Rails console (or a direct SQL update) instead:

# Promote a user
User.find_by!(email_address: "me@example.com").update!(admin: true)

# Demote a user
User.find_by!(email_address: "me@example.com").update!(admin: false)

Authors

Languages

Ruby48.2%HTML35.3%Haml5.1%CSS3.7%Dockerfile2.7%Shell2.5%JavaScript1.6%Python0.9%

Contributors

GNU Affero General Public License v3.0
Created February 2, 2024
Updated November 26, 2025
bradly/recipin | GitHunt