Usage
Important
Essensfindung need a Google Places API Token!
Google API Token
Create your own API Key in this key you have to enable the Google Maps Places API and Geocoding If you already have a Google Project you can activate the API here
Installation
You can install the dependencies with:
pip install requirements.txt
Hint
You can also use Poetry
Just use the pyproject.toml
and the poetry.lock
Configuration
Warning
If you dont set the DB Settings the app will use a SQL-Lite DB! Dont use this in Production!
.env
In the .env
- File you write all the configurations needed.
- Required
GOOGLE_API_KEY
Your personal Key to the Google Maps API
SECRET_KEY
Your secret key that will be used to hash the JWT - Token
- Optional
POSTGRES_USER
User for the Postgres DB
POSTGRES_PASSWORD
Password for the User
POSTGRES_SERVER
FQDN or IP of the DB server
POSTGRES_DATABASE
Name of the Database
POSTGRES_PORT
Port of the DB [Default 5432]
Start the APP
Console
Hint
This will start the app at port 8000
Warning
Do not start the App in Production directly with python. Use at least uvicorn
You can simple start the App after the installation and configuration
python .\main.py
To start it with uvicorn:
uvicorn main:app
to start it with gunicorn:
gunicorn -w 2 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:80 --preload main:app main:app
Docker
You also can build a docker container:
git clone https://github.com/DHBW-FN-TIT20/essensfindung.git
cd essensfindung
docker build essensfindung .
If you dont have a PostgreSQL Database start the container:
docker run -p 8080:80 \
-v /essensfindung/app/data \
-e GOOGLE_API_KEY=KEY \
-e SECRET_KEY=KEY \
--name essensfindung \
essensfindung
If you have a PostgreSQL Database:
docker run -p 8080:80 \
-e GOOGLE_API_KEY=KEY \
-e SECRET_KEY=KEY \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=PASSWORD \
-e POSTGRES_SERVER=localhost \
-e POSTGRES_DATABASE=essensfindung \
-e POSTGRES_PORT=5432 \
--name essensfindung \
essensfindung
Docker Compose
See the example from docker-compose.yml