added lots of user information

This commit is contained in:
vabene1111 2020-12-31 13:38:16 +01:00
parent f822e03be0
commit 5a7c914fe7
9 changed files with 84 additions and 36 deletions

View File

@ -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

View File

@ -26,6 +26,16 @@
<h3>{% trans 'Backup & Restore' %}</h3>
<a href="{% url 'api_backup' %}" class="btn btn-success">{% trans 'Download Backup' %}</a>
<br/> <br/>
<div class="alert alert-danger" role="alert">
⚠️ Backups simply create a so called fixture. Fixtures are json files containing all your data (WITHOUT
MEDIA FILES) <br>
They can be imported into django by running <code style="color: white">manage.py loaddata [fixture-name]</code> <br>
It is planned to provide a better way of backing up and restoring data but it is not yet implemented.<br><br>
⚠️<b>Please make sure to setup a solid backup strategy on your server to save the Database and the <code style="color: white">mediafiles</code>
directory</b>⚠️
</div>
</div>
</div>

9
docs/docker/README.md Normal file
View File

@ -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**

View File

@ -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:

View File

@ -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:

View File

@ -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).

View File

@ -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.**
----

View File

@ -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.

View File

@ -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!