megatrump commited on
Commit
b2ab624
·
1 Parent(s): c746a96
Files changed (4) hide show
  1. Dockerfile +8 -1
  2. app.py +11 -3
  3. build.sh +1 -0
  4. start.sh +10 -0
Dockerfile CHANGED
@@ -1,5 +1,9 @@
 
 
1
  FROM ghcr.io/astral-sh/uv:python3.12-bookworm
2
 
 
 
3
  RUN useradd -m -u 1000 user
4
  USER user
5
  ENV PATH="/home/user/.local/bin:$PATH"
@@ -11,4 +15,7 @@ RUN uv venv -p 3.12
11
  RUN uv pip install --no-cache-dir --upgrade -r requirements.txt
12
 
13
  COPY --chown=user . /app
14
- CMD ["uv", "run", "uvicorn", "app:asgi_app", "--host", "0.0.0.0", "--port", "7860"]
 
 
 
 
1
+ ARG MODEL_REPO_NAME
2
+
3
  FROM ghcr.io/astral-sh/uv:python3.12-bookworm
4
 
5
+ RUN apt-get update && apt-get install -y --no-install-recommends dumb-init
6
+
7
  RUN useradd -m -u 1000 user
8
  USER user
9
  ENV PATH="/home/user/.local/bin:$PATH"
 
15
  RUN uv pip install --no-cache-dir --upgrade -r requirements.txt
16
 
17
  COPY --chown=user . /app
18
+ ENTRYPOINT ["/usr/bin/dumb-init", "--", "/bin/bash", "start.sh"]
19
+
20
+ # CMD ["uv", "run", "uvicorn", "app:asgi_app", "--host", "0.0.0.0", "--port", "7860"]
21
+
app.py CHANGED
@@ -1,13 +1,21 @@
1
 
2
- from asgiref.wsgi import WsgiToAsgi
3
-
4
 
 
 
 
5
  from flask import Flask
 
 
 
6
 
7
  app = Flask(__name__)
8
 
9
  @app.get("/")
10
  def read_root():
11
- return {"Hello": "World!"}
 
 
 
 
12
 
13
  asgi_app = WsgiToAsgi(app)
 
1
 
 
 
2
 
3
+ import os
4
+ import sys
5
+ import requests
6
  from flask import Flask
7
+ from urllib.parse import urlencode
8
+ from asgiref.wsgi import WsgiToAsgi
9
+
10
 
11
  app = Flask(__name__)
12
 
13
  @app.get("/")
14
  def read_root():
15
+ s: str = str(os.environ.get('MODEL_REPO_NAME'))
16
+ resp = requests.get("http://127.0.0.1:25500/version")
17
+ resp.raise_for_status()
18
+ data = resp.text
19
+ return {"Hello": f"World! {data} + {s}"}
20
 
21
  asgi_app = WsgiToAsgi(app)
build.sh ADDED
@@ -0,0 +1 @@
 
 
1
+ docker build -t fastapi . && docker run -it -p 7860:7860 fastapi
start.sh ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # 后台运行 tail 进程
4
+ cd /app/tool/subconverter && ./subconverter >> /app/subconverter.log 2>&1 &
5
+
6
+ # 运行 uvicorn 应用
7
+ uv run uvicorn app:asgi_app --host 0.0.0.0 --port 7860
8
+
9
+ # (可选) 等待 tail 进程结束,但它通常不会结束
10
+ # wait $!