diff --git a/README.md b/README.md index bad3bec0..c5d32175 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Recipes ![CI](https://github.com/vabene1111/recipes/workflows/Continous%20Integration/badge.svg?branch=develop) -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. +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. ![Preview](docs/preview.png) @@ -17,31 +18,43 @@ Recipes is a Django application to manage, tag and search recipes using either b - :shopping_cart: Generate **shopping** lists from recipes - :calendar: Create a **Plan** on what to eat when - :family: **Share** recipes with friends and comment on them to suggest or remember changes you made +- :us: automatically convert decimal units to **fractions** for those who like this - :whale: Easy setup with **Docker** - :art: Customize your interface with **themes** - :envelope: Export and import recipes from other users +- :earth_africa: localized in many languages thanks to the awesome community - :heavy_plus_sign: 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. +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](https://github.com/vabene1111/recipes/wiki) +While this application has been around for a while and is actively used by many (including myself) it is still considered +**beta** software that has a lot of rough edges and unpolished parts. + ## 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 +> I will try to support issues with any kind of installation but since I run the docker setup I can only offer +> limited help for other methods. + +### Docker-Compose [Recommended] 1. Choose one of the included configurations [here](docs/docker). 2. Download the environment (config) file template and fill it out `wget https://raw.githubusercontent.com/vabene1111/recipes/develop/.env.template -O .env` 3. Start the container `docker-compose up -d` -4. Open the page to create the first user. Alternatively use `docker-compose exec web_recipes createsuperuser` +4. Open the page to create the first user. ### Manual **Python >= 3.8** is required to run this! +Refer to [manual install](docs/manual_install) for detailed instructions. -Refer to [manual install](docs/manual_install) for detailled instructions. +### Kubernetes + +You can find a basic kubernetes setup [here](docs/k8s/). Please see the README in the folder for more detail. ## Updating @@ -52,14 +65,25 @@ While intermediate updates can be skipped when updating please make sure to **re 2. Pull the latest image using `docker-compose pull` 3. Start the container again using `docker-compose up -d` -## Kubernetes - -You can find a basic kubernetes setup [here](docs/k8s/). 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](https://www.djangoproject.com/start/). + +**If you want feel free to open an issue or pull request to add yourself to the list of awesome contributors.** + +### Getting Started +This application is developed using the django framework for Python. They have excellent +[documentation](https://www.djangoproject.com/start/) on how to get started, so I will only give you the basics here + +1. Clone this repository wherever you like and install the Python language for your OS (at least version 3.8) +2. Open it in your favorite editor/IDE (e.g. PyCharm) + 1. if you want, create a virutal environment for all your packages. +3. Install all required packages by running `pip install -r requirements.txt` +4. Run the migrations `python manage.py migrate` +5. Start the development server `python manage.py runserver` + +There is **no** need to set any environment variables. By default, a simple sqlite database is used and all settings are +populated from default values. ### Translating diff --git a/cookbook/templates/system.html b/cookbook/templates/system.html index 3ad9cc92..0868262d 100644 --- a/cookbook/templates/system.html +++ b/cookbook/templates/system.html @@ -26,6 +26,16 @@

{% trans 'Backup & Restore' %}

{% trans 'Download Backup' %} +

+ + diff --git a/docs/docker/README.md b/docs/docker/README.md new file mode 100644 index 00000000..acada353 --- /dev/null +++ b/docs/docker/README.md @@ -0,0 +1,9 @@ +It is possible to install this application using many docker configurations. + +:warning: Please note that some examples here are +given because some people want to use them even tough they are not recommended! + +Please read the instructions/notes on each example carefully and decide if this is the way for you. + + +> When in doubt, choose either **nginx-proxy** or **traefik-nginx** \ No newline at end of file diff --git a/docs/docker/nginx-proxy with proxy authentication/docker-compose.yml b/docs/docker/nginx-proxy with proxy authentication/docker-compose.yml index db36ac5d..bd1596b7 100644 --- a/docs/docker/nginx-proxy with proxy authentication/docker-compose.yml +++ b/docs/docker/nginx-proxy with proxy authentication/docker-compose.yml @@ -23,18 +23,18 @@ services: networks: - default - nginx_recipes: - image: nginx:mainline-alpine - restart: always - env_file: - - ./.env - volumes: - - ./nginx/conf.d:/etc/nginx/conf.d - - ./staticfiles:/static - - ./mediafiles:/media - networks: - - default - - nginx-proxy + nginx_recipes: + image: nginx:mainline-alpine + restart: always + env_file: + - ./.env + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d + - ./staticfiles:/static + - ./mediafiles:/media + networks: + - default + - nginx-proxy networks: default: diff --git a/docs/docker/nginx-proxy/docker-compose.yml b/docs/docker/nginx-proxy/docker-compose.yml index db36ac5d..bd1596b7 100644 --- a/docs/docker/nginx-proxy/docker-compose.yml +++ b/docs/docker/nginx-proxy/docker-compose.yml @@ -23,18 +23,18 @@ services: networks: - default - nginx_recipes: - image: nginx:mainline-alpine - restart: always - env_file: - - ./.env - volumes: - - ./nginx/conf.d:/etc/nginx/conf.d - - ./staticfiles:/static - - ./mediafiles:/media - networks: - - default - - nginx-proxy + nginx_recipes: + image: nginx:mainline-alpine + restart: always + env_file: + - ./.env + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d + - ./staticfiles:/static + - ./mediafiles:/media + networks: + - default + - nginx-proxy networks: default: diff --git a/docs/docker/synology/README.md b/docs/docker/synology/README.md index 34523278..c50a101a 100644 --- a/docs/docker/synology/README.md +++ b/docs/docker/synology/README.md @@ -1,3 +1,5 @@ +> :warning: This guide was contributed by the community and is neither officially supported, nor updated or tested. + Many people appear to host this application on their Synology NAS. The following documentation was provided by @therealschimmi in [this issue discussion](https://github.com/vabene1111/recipes/issues/98#issuecomment-643062907). diff --git a/docs/docker/traefik-nginx/README.md b/docs/docker/traefik-nginx/README.md index 46d67b71..a48c3777 100644 --- a/docs/docker/traefik-nginx/README.md +++ b/docs/docker/traefik-nginx/README.md @@ -1,4 +1,4 @@ -This is the recommended setup to run django recipes with traefik. +**This is the recommended setup to run django recipes with traefik.** ---- diff --git a/docs/docker/traefik/README.md b/docs/docker/traefik/README.md index 627418b8..b385d46f 100644 --- a/docs/docker/traefik/README.md +++ b/docs/docker/traefik/README.md @@ -1,4 +1,4 @@ -# Important Information +# :warning: Important Information [NOT RECOMMENDED] Although this application allows running without any webserver in front of gunicorn it is heavily recommended by almost everyone **not** to do this. It is hard to find exact explanations and appears not to be a security but only a performance risk but that is just my personal interpretation. diff --git a/docs/k8s/README.md b/docs/k8s/README.md index 09c5187a..4d165869 100644 --- a/docs/k8s/README.md +++ b/docs/k8s/README.md @@ -1,3 +1,6 @@ +> :warning: This guide was contributed by the community and is neither officially supported, nor updated or tested. + + # Kubernetes This is a basic kubernetes setup. Please note that this does not necessarily follow Kubernetes best practices and should only used as a basis to build your own setup from!