Newer
Older
# Installing and managing requirements with venv
1. Create a new virtual environment (.venv) (Only required for the first time)
```
$ python3 -m venv .venv
```
1.1. Install the required python packages
```
pip install -r requirements.txt
```
2. Activate the virtual environment
```
$ source .venv/bin/activate
```
2. Install Elasticsearch.
3. Clone the project and cd into the directory of the project, then run:
# Run Development Environment with Docker
1. Pull the Python Image from Docker Hub
```
docker pull python:3.8.10
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.13.2
```
2. Create a dedicated Docker Network for ElasticSearch
```
docker network create elastic
```
3. Run ElastiSearch container (no need to run it locally)
```
docker run --name es01 --rm -it --net elastic -p 9200:9200 -p 9300:9300 -m 1GB -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.13.2
```
4. Run HORSE IBI Software
4.1. One-line command
```
sudo docker run --name horse-ibi --rm -it --net elastic -p 7777:7777 --mount src=`pwd`,target=/code,type=bind -w /code python:3.8.10 sh -c "pip install -r requirements.txt && python app/main.py"
```
4.2. For debugging and info
```
sudo docker run --name horse-ibi --rm -it --net elastic -p 7777:7777 --mount src=`pwd`,target=/code,type=bind -w /code python:3.8.10 sh
```
From inside the container
```
pip install -r requirements.txt
python app/main.py
```