From cb15db1ab9d1980ceeb6ca63b12120737dabbe02 Mon Sep 17 00:00:00 2001 From: dt_4541218930 Date: Thu, 14 Nov 2024 16:22:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20docker=20compose=20=E5=90=AF=E5=8A=A8fas?= =?UTF-8?q?tapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 +- api/main.py | 19 ++++--------------- api/start.sh | 5 +++++ docker-compose.yml | 14 ++++++++++---- 4 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 api/start.sh diff --git a/Dockerfile b/Dockerfile index bc059c4f..97901fde 100644 --- a/Dockerfile +++ b/Dockerfile @@ -56,4 +56,4 @@ RUN /bin/bash -c "source /opt/mineru_venv/bin/activate && \ pip3 install -r /minerugw/requirements-fastapi.txt" # Set the entry point to activate the virtual environment and run the command line tool -ENTRYPOINT ["/bin/bash", "-c", "source /opt/mineru_venv/bin/activate && exec \"$@\"", "--"] +CMD ["/bin/bash", "-c", "source /opt/mineru_venv/bin/activate && exec \"$@\"", "--"] diff --git a/api/main.py b/api/main.py index abaa3f58..84cd3de0 100644 --- a/api/main.py +++ b/api/main.py @@ -1,30 +1,19 @@ ''' Author: FutureMeng be_loving@163.com Date: 2024-11-13 19:44:33 -LastEditors: dt_4541218930 abcstorms@163.com -LastEditTime: 2024-11-13 22:36:37 +LastEditors: FutureMeng be_loving@163.com +LastEditTime: 2024-11-14 15:47:27 FilePath: \MinerU\scripts\fastapitest.py Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE ''' from fastapi import FastAPI import urllib.request -import os -from magic_pdf.pipe.UNIPipe import UNIPipe -from magic_pdf.rw.DiskReaderWriter import DiskReaderWriter -from magic_pdf_parse_util import pdf_parse +from . import magic_pdf_parse_util app = FastAPI() -current_script_dir = os.path.dirname(os.path.abspath(__file__)) -local_image_dir = os.path.join(current_script_dir, 'images') -image_dir = str(os.path.basename(local_image_dir)) - -@app.get("/hello") -async def hello(): - return 'Hello, World' - @app.post("/parse_pdf") async def parse_pdf(imageUrl: str, parse_method: str = 'auto'): pdf_bytes = urllib.request.urlopen(imageUrl).read() - content_list, md_content = pdf_parse(pdf_bytes, parse_method) + content_list, md_content = magic_pdf_parse_util.pdf_parse(pdf_bytes, parse_method) return {"content_list": content_list, "md_content": md_content} \ No newline at end of file diff --git a/api/start.sh b/api/start.sh new file mode 100644 index 00000000..be49ff40 --- /dev/null +++ b/api/start.sh @@ -0,0 +1,5 @@ +#!/bin/bash +echo "starting miner server" +source /opt/mineru_venv/bin/activate +cd /minerugw +uvicorn app.main:app --host 0.0.0.0 --port 80 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 44d22432..2250cd6e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,22 @@ services: - minerugw: + minerugw-02: build: context: . - container_name: mineru-gw + container_name: mineru-gw-02 ports: - "8988:80" volumes: - ./api:/minerugw/app:rw + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: all + capabilities: [gpu] environment: TZ: Asia/Shanghai - #command: /bin/bash -c "source /opt/mineru_venv/bin/activate; cd /minerugw/; uvicorn app.main:app --host 0.0.0.0 --port 80" - command: /bin/bash -c "source /opt/mineru_venv/bin/activate; cd /minerugw/; uvicorn app.main:app --host 0.0.0.0 --port 80" + command: ["/minerugw/app/start.sh"] restart: always networks: - default