smile commited on
Commit
9270913
·
1 Parent(s): 29191d3

change docker

Browse files
Files changed (2) hide show
  1. Dockerfile +17 -5
  2. app.py → main.py +9 -9
Dockerfile CHANGED
@@ -1,9 +1,21 @@
1
- FROM python:3.10.9
2
 
3
- COPY . .
4
 
5
- WORKDIR /
 
 
 
 
6
 
7
- RUN pip install --no-cache-dir --upgrade -r /requirements.txt
 
8
 
9
- CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
 
 
 
 
 
 
 
1
+ FROM python:3.9-slim
2
 
3
+ WORKDIR /code
4
 
5
+ # 复制项目文件
6
+ COPY ./requirements.txt /code/requirements.txt
7
+ COPY ./app /code/app
8
+ COPY ./utils /code/utils
9
+ COPY ./main.py /code/main.py
10
 
11
+ # 安装依赖
12
+ RUN pip install --no-cache-dir -r requirements.txt
13
 
14
+ # 设置环境变量
15
+ ENV PYTHONPATH=/code
16
+
17
+ # 暴露端口
18
+ EXPOSE 7860
19
+
20
+ # 启动命令
21
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
app.py → main.py RENAMED
@@ -10,15 +10,19 @@ import time
10
  from app.backend.constant import Navigation, ModelProvider, EvaluationMetric, EmbdDtype, EmbdDim, Similarity
11
  from app.backend.data_engine import DataEngine
12
 
 
13
  app = FastAPI()
14
 
15
- # Mount static files
16
- app.mount("/static", StaticFiles(directory="app/static"), name="static")
17
 
18
- # Templates
19
- templates = Jinja2Templates(directory="app/templates")
20
 
21
- # Initialize data engine
 
 
 
22
  data_engine = None
23
  initialization_start_time = None
24
 
@@ -105,7 +109,3 @@ async def filter_data(filters: dict):
105
  status_code=500,
106
  content={"error": str(e)}
107
  )
108
-
109
- # if __name__ == "__main__":
110
- # import uvicorn
111
- # uvicorn.run(app, host="0.0.0.0", port=7891)
 
10
  from app.backend.constant import Navigation, ModelProvider, EvaluationMetric, EmbdDtype, EmbdDim, Similarity
11
  from app.backend.data_engine import DataEngine
12
 
13
+ # 创建 FastAPI 应用
14
  app = FastAPI()
15
 
16
+ # 获取项目根目录
17
+ BASE_DIR = Path(__file__).resolve().parent
18
 
19
+ # 挂载静态文件
20
+ app.mount("/static", StaticFiles(directory=str(BASE_DIR / "app" / "static")), name="static")
21
 
22
+ # 设置模板
23
+ templates = Jinja2Templates(directory=str(BASE_DIR / "app" / "templates"))
24
+
25
+ # 初始化数据引擎
26
  data_engine = None
27
  initialization_start_time = None
28
 
 
109
  status_code=500,
110
  content={"error": str(e)}
111
  )