selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

OpenEats logo

Self-host OpenEats

1.5.1

Self-hosted recipe management for personal collections

ReleaseOpen SourceMIT
Updated2 years ago
LanguageDockerfile
Setup difficultyAdvanced
Stars
696
Port
8080 (Web frontend development server)
Docker
openeats/openeats-nginx
Install with Docker Compose
OpenEats screenshot 1OpenEats screenshot 2OpenEats screenshot 3OpenEats screenshot 4

What is OpenEats?

OpenEats is a self-hosted recipe manager built with Django REST Framework and React. It lets individuals or small groups create, share, and store personal recipe collections. Admin users manage users, cuisines, courses, and banners; regular users add recipes. Features include recipe CRUD, serving adjustments, search, grocery lists with auto-add, printing, and ingredient grouping. Deploy via Docker Compose (nginx, API, web, MariaDB) or manually with Apache2 and MariaDB. Licensed MIT.

Should you self-host OpenEats?

OpenEats scores 47/100 on selfhost.directory (how scoring works) and ranks #10 of 18 in Recipe Management. It has 696 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is MIT-licensed and written mostly in Dockerfile.

Its closest alternative on selfhost.directory is Mealie (75/100, 13 711 stars). It scores higher overall, so compare the two before you pick. See OpenEats vs Mealie side by side.

Features

  • Database backup
  • Docker Compose Deployment
  • Grocery Lists
  • Ingredient Grouping
  • Multi-language Support
  • Recipe Management
  • Recipe printing
  • Recipe Search & Browse
  • Serving Adjustment
  • User RolesNo open sign-ups; admin adds users manually

OpenEats README

How to install OpenEats

Install OpenEats with Docker Compose

Docker and Docker Compose installed
Environment variables
MYSQL_DATABASE, MYSQL_ROOT_PASSWORD, API_URL, API_PORT, DJANGO_SECRET_KEY, DJANGO_SETTINGS_MODULE, DJANGO_DEBUG, ALLOWED_HOST, HTTP_X_FORWARDED_PROTO, NODE_ENV, NODE_URL, NODE_API_URL, NODE_LOCALE

git clone https://github.com/open-eats/OpenEats.git cd OpenEats cp docs/samples/sample_docker_prod_override.yml docker-prod.override.yml cp docs/samples/sample_env_file.list env_prod.list

Edit env_prod.list with your settings

./quick-start.py

Recommended method; uses openeats/openeats-api, openeats/openeats-web, openeats/openeats-nginx, and mariadb images

How to configure OpenEats

  • ALLOWED_HOSTThe hostname that the API is being served from

    The hostname that the API is being served from

  • API_PORT8000The port the API is served from

    The port the API is served from

  • API_URL0.0.0.0:8000URL and port combination used by gunicorn to serve the API

    URL and port combination used by gunicorn to serve the API

  • DJANGO_DEBUGFalseSet the debug environment of the Django app

    Set the debug environment of the Django app

    values: True, False

  • DJANGO_SECRET_KEYA secret key for Django cryptographic signing

    A secret key for Django cryptographic signing

  • DJANGO_SETTINGS_MODULEbase.settingsThe settings file that Django will use

    The settings file that Django will use

  • HTTP_X_FORWARDED_PROTOtrueSet to true if serving behind an HTTPS proxy

    Set to true if serving behind an HTTPS proxy

    values: true, false

  • MYSQL_DATABASEopeneatsThe database name

    The database name

  • MYSQL_ROOT_PASSWORDThe password for the database user

    The password for the database user

  • NODE_API_URLhttp://my.domain.comThe hostname/port the frontend will call the API from

    The hostname/port the frontend will call the API from

  • NODE_ENVproductionTells node whether to build a production or dev version

    Tells node whether to build a production or dev version

    values: production, development

  • NODE_LOCALEenThe language the UI will be in

    The language the UI will be in

    values: en, de, es, fr

  • NODE_URLlocalhost:8080The URL and port node is served from

    The URL and port node is served from

OpenEats releases & version history

More in Recipe Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…