Recipes
Recipes is a Django application to manage, tag and search recipes using either built in models or external storage providers hosting PDF's, Images or other files.
Features
- 📦 Sync files with Dropbox and Nextcloud (more can easily be added)
- 🔍 Powerful search with Djangos TrigramSimilarity
- 🏷️ Create and search for tags, assign them in batch to all files matching certain filters
- 📄 Create recipes locally within a nice, standardized web interface
- 📱 Optimized for use on mobile devices like phones and tablets
- 🛒 Generate shopping lists from recipes
- 📆 Create a Plan on what to eat when
- 👪 Share recipes with friends and comment on them to suggest or remember changes you made
- 🐳 Easy setup with Docker
- 🎨 Customize your interface with themes
- ✉️ Export and import recipes from other users
- ➕ Many more like recipe scaling, image compression, cookbooks, printing views, ...
This application is meant for people with a collection of recipes they want to share with family and friends or simply store them in a nicely organized way. A basic permission system exists but this application is not meant to be run as a public page. Some Documentation can be found here
Installation
The docker image (vabene1111/recipes
) simply exposes the application on port 8080
. You may choose any preferred installation method, the following are just examples to make it easier.
Docker-Compose
- Choose one of the included configurations here.
- Download the environment (config) file template and fill it out
wget https://raw.githubusercontent.com/vabene1111/recipes/develop/.env.template -O .env
- Start the container
docker-compose up -d
- Create a default user by running
docker-compose exec web_recipes createsuperuser
.
Manual
Copy .env.template
to .env
and fill in the missing values accordingly.
Make sure all variables are available to whatever serves your application.
Otherwise simply follow the instructions for any django based deployment (for example this one).
Updating
While intermediate updates can be skipped when updating please make sure to read the release notes in case some special action is required to update.
- Before updating it is recommended to create a backup!
- Stop the container using
docker-compose down
- Pull the latest image using
docker-compose pull
- Start the container again using
docker-compose up -d
Kubernetes
You can find a basic kubernetes setup here. Please see the README in the folder for more detail.
Contributing
Pull Requests and ideas are welcome, feel free to contribute in any way. For any questions on how to work with django please refer to their excellent documentation.
License
This project is licensed under the MIT license. Even though it is not required to publish derivatives, I highly encourage pushing changes upstream and letting people profit from any work done on this project.