Skip to content

doerfli/reeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reeper

This repository contains a self-hosted recipe web application implemented in Ruby On Rails.

Runtime docker images are available.

Features

  • Recipe management with images and OCR text recognition
  • AI-powered OCR text cleanup using GPT-4 Mini
  • Tagging and search functionality
  • Auth0 authentication
  • AWS S3 file storage
  • Responsive UI with Tailwind CSS

Preparation for development

DB Setup

rake db:create
rake db:migrate

Restore dump

pg_restore -d reeper_development -h db -Upostgres file.dump

AWS credentials

Create .env.local file with AWS credentials

# .env.local
AWS_ACCESS_KEY_ID=AAAAAAA
AWS_SECRET_ACCESS_KEY=BBBBB

OpenAI API Key (for OCR text cleanup)

For the GPT-powered OCR text cleanup feature, configure your OpenAI API key:

Development:

# Option 1: Environment variable (recommended)
export OPENAI_API_KEY=your_openai_api_key_here

# Option 2: Rails credentials
EDITOR="code --wait" rails credentials:edit
# Add: openai_api_key: your_openai_api_key_here

Production/Dokku:

dokku config:set your-app-name OPENAI_API_KEY=your_actual_openai_api_key_here

# Optional: Override cleanup prompts per language
dokku config:set your-app-name OPENAI_CLEANUP_PROMPT_EN="Your custom English prompt..."
dokku config:set your-app-name OPENAI_CLEANUP_PROMPT_DE="Your custom German prompt..."

Optional Configuration:

  • OPENAI_CLEANUP_PROMPT_EN: Override the default English cleanup prompt
  • OPENAI_CLEANUP_PROMPT_DE: Override the default German cleanup prompt

Start development server

Start dev-server, css build, js build

bin/dev
yarn build:css --watch
yarn build --watch

Start production via docker

Use provided docker-compose.prod.yml file for startup of postgres db and container for the rails app. Don't forget to set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, OPENAI_API_KEY and db passwords. To change name of S3 bucket (reeper) and region (eu-central-1) use S3_BUCKET_NAME and S3_BUCKET_REGION environment variables.