Advertisement
Guest User

Untitled

a guest
Jul 28th, 2020
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.13 KB | None | 0 0
  1. # Recipes ![CI](https://github.com/vabene1111/recipes/workflows/Continous%20Integration/badge.svg?branch=develop)
  2. 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.
  3.  
  4. ![Preview](docs/preview.png)
  5.  
  6. [More Screenshots](https://imgur.com/a/V01151p)
  7.  
  8. ### Features
  9.  
  10. - :package: **Sync** files with Dropbox and Nextcloud (more can easily be added)
  11. - :mag: Powerful **search** with Djangos [TrigramSimilarity](https://docs.djangoproject.com/en/3.0/ref/contrib/postgres/search/#trigram-similarity)
  12. - :label: Create and search for **tags**, assign them in batch to all files matching certain filters
  13. - :page_facing_up: **Create recipes** locally within a nice, standardized web interface
  14. - :arrow_down: **Import recipes** from thousands of websites supporting [ld+json or microdata](https://schema.org/Recipe)
  15. - :iphone: Optimized for use on **mobile** devices like phones and tablets
  16. - :shopping_cart: Generate **shopping** lists from recipes
  17. - :calendar: Create a **Plan** on what to eat when
  18. - :family: **Share** recipes with friends and comment on them to suggest or remember changes you made
  19. - :whale: Easy setup with **Docker**
  20. - :art: Customize your interface with **themes**
  21. - :envelope: Export and import recipes from other users
  22. - :heavy_plus_sign: Many more like recipe scaling, image compression, cookbooks, printing views, ...
  23.  
  24. This application is meant for people with a collection of recipes they want to share with family and friends or simply
  25. 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.
  26. Some Documentation can be found [here](https://github.com/vabene1111/recipes/wiki)
  27.  
  28. # Installation
  29.  
  30. 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.
  31.  
  32. ### Docker-Compose
  33.  
  34. 1. Choose one of the included configurations [here](docs/docker).
  35.  
  36. ```
  37. zip the different directories in recipes/docs/docker this allows the person installing to be sure they get every file they need. Unix systems can use wget while windows OS can do a direct download
  38. ```
  39.  
  40. Unix:`wget (link to a zip file) && unzip (zip name)`
  41.  
  42. 2. Download the environment (config) file template and fill it out
  43.  
  44. `wget https://raw.githubusercontent.com/vabene1111/recipes/develop/.env.template -O .env `
  45. ```
  46. This may require a bit of coding work, to what extent I am not sure because I honestly haven't looked into it, but could it be possible to include the .env in the above zips and be able to run it out of that folder instead? This way someone is download everything in one go. You could still keep the .template and the name change command. However, windows doesnt have wget preinstalled so limiting the audiance a little, not to say they cant just figure it out and go to the link, download, rename and move, but that would also require knowledge of what each of the above commands mean and do.
  47. ```
  48.  
  49. 3. Start the container `docker-compose up -d`
  50.  
  51. 4. Open the page to create the first user. Alternatively use `docker-compose exec web_recipes createsuperuser`
  52.  
  53. ### Manual
  54. **Python >= 3.8** is required to run this!
  55.  
  56. Copy `.env.template` to `.env` and fill in the missing values accordingly.
  57. Make sure all variables are available to whatever serves your application.
  58.  
  59. Otherwise simply follow the instructions for any django based deployment
  60. (for example [this one](http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html)).
  61.  
  62. ## Updating
  63. 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.
  64.  
  65. 0. Before updating it is recommended to **create a backup!**
  66. 1. Stop the container using `docker-compose down`
  67. 2. Pull the latest image using `docker-compose pull`
  68. 3. Start the container again using `docker-compose up -d`
  69.  
  70. ## Kubernetes
  71.  
  72. You can find a basic kubernetes setup [here](docs/k8s/). Please see the README in the folder for more detail.
  73.  
  74. ## Contributing
  75. Pull Requests and ideas are welcome, feel free to contribute in any way.
  76. For any questions on how to work with django please refer to their excellent [documentation](https://www.djangoproject.com/start/).
  77.  
  78. ### Translating
  79. There is a [transifex project](https://www.transifex.com/django-recipes/django-cookbook/) project to enable community driven translations. If you want to contribute a new language or help maintain an already existing one feel free to create a transifex account (using the link above) and request to join the project.
  80.  
  81. It is also possible to provide the translations directly by creating a new language using `manage.py makemessages -l <language_code> -i venv`. Once finished simply open a PR with the changed files.
  82.  
  83. ## License
  84. Beginning with version 0.10.0 the code in this repository is licensed under the [GNU AGPL v3](https://www.gnu.org/licenses/agpl-3.0.de.html) license with an
  85. [common clause](https://commonsclause.com/) selling exception. See [LICENSE.md](https://github.com/vabene1111/recipes/blob/develop/LICENSE.md) for details.
  86.  
  87. **Reasoning**
  88.  
  89. #### This software and **all** its features are and will always be free for everyone to use and enjoy.
  90.  
  91. The reason for the selling exception is that a significant amount of time was spend over multiple years to develop this software.
  92. A payed hosted version which will be identical in features and code base to the software offered in this repository will
  93. likely be released in the future (including all features needed to sell a hosted version as they might also be useful for personal use).
  94. This will not only benefit me personally but also everyone who self-hosts this software as any profits made trough selling the hosted option
  95. allow me to spend more time developing and improving the software for everyone. Selling exceptions are [approved by Richard Stallman](http://www.gnu.org/philosophy/selling-exceptions.en.html) and the
  96. common clause license is very permissive (see the [FAQ](https://commonsclause.com/)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement