From efbda23c386aba3cfe8e375608eaf936cf69d2bc Mon Sep 17 00:00:00 2001 From: Cole Deck Date: Wed, 27 Mar 2024 18:53:50 -0500 Subject: [PATCH] Fix docker runtime support --- Dockerfile | 6 +++--- compose.yml | 12 ++++++++++++ run.py | 11 +++++++++-- search.py | 2 +- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index a465d74..5a0d059 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,11 +3,11 @@ FROM python:3.11-slim # Get runtime dependencies # glx for OpenCV, ghostscript for datasheet PDF rendering, zbar for barcode scanning, git for cloning repos RUN apt-get update && apt-get install -y libgl1-mesa-glx ghostscript libzbar0 git && apt-get clean && rm -rf /var/lib/apt/lists -COPY *.py *.yml *.sh *.txt *.html static templates ./ +COPY requirements.txt ./ #COPY config-server.yml config.yml RUN pip3 install -r requirements.txt - -CMD ["python3", "run.py"] +COPY *.py *.yml *.sh *.txt *.html static templates ./ +CMD ["sh", "-c", "python3 run.py"] EXPOSE 5000 EXPOSE 8000 EXPOSE 9000 diff --git a/compose.yml b/compose.yml index 51434a5..6632ee7 100644 --- a/compose.yml +++ b/compose.yml @@ -8,6 +8,18 @@ services: MEILI_NO_ANALYTICS: true volumes: - "meili_data:/meili_data" + + jukebox-software: + build: . + init: true + ports: + - "5000:5000" + - "8000:8000" + - "9000:9000" + environment: + - PYTHONUNBUFFERED=1 + depends_on: + - meilisearch volumes: meili_data: \ No newline at end of file diff --git a/run.py b/run.py index 65b0ce4..9e0f95c 100755 --- a/run.py +++ b/run.py @@ -26,7 +26,7 @@ import json import process_video import search from search import JukeboxSearch - +#multiprocessing.set_start_method('spawn', True) config = None @@ -581,7 +581,7 @@ if __name__ == "__main__": with open('config.yml', 'r') as fileread: #global config config = yaml.safe_load(fileread) - + fprint("Config loaded.") with Manager() as manager: fprint("Spawning threads...") pool = LoggingPool(processes=10) @@ -602,5 +602,12 @@ if __name__ == "__main__": fprint("Entering main loop...") while(keeprunning): mainloop_server(pool) + else: + fprint("Mode unspecified - assuming server") + fprint("Starting in server mode.") + if setup_server(pool): + fprint("Entering main loop...") + while(keeprunning): + mainloop_server(pool) diff --git a/search.py b/search.py index d7bb76b..c4e8c4c 100644 --- a/search.py +++ b/search.py @@ -6,7 +6,7 @@ from meilisearch.task import TaskInfo from meilisearch.errors import MeilisearchApiError import time -DEFAULT_URL = "http://localhost:7700" +DEFAULT_URL = "http://meilisearch:7700" DEFAULT_APIKEY = "fluffybunnyrabbit" # I WOULD RECOMMEND SOMETHING MORE SECURE DEFAULT_INDEX = "cables" DEFAULT_FILTERABLE_ATTRS = ["partnum", "uuid", "position"] # default filterable attributes