From 772ef7ed4764bf78e485573384968b2781734b82 Mon Sep 17 00:00:00 2001 From: d0ublecl1ck <12227226+d0ublecl1ck@user.noreply.gitee.com> Date: Mon, 19 Jan 2026 23:41:14 +0800 Subject: [PATCH] Add backend Dockerfile --- README.md | 13 +++++++++++++ backend/Dockerfile | 20 ++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 backend/Dockerfile diff --git a/README.md b/README.md index 1fd0acc..e41239b 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,19 @@ docker compose up --build Open `http://localhost:7860` +后端单独镜像: + +```bash +docker build -t wendui-backend:local ./backend +docker run --rm -p 7860:7860 \ + -e SECRET_KEY=change-me \ + -e CORS_ORIGINS='["*"]' \ + -e DB_URL='mysql+pymysql://wendui:wendui@host.docker.internal:3306/wendui' \ + -e OPENAI_API_KEY= \ + -e MINIMAX_API_KEY= \ + wendui-backend:local +``` + ## Deployment Notes - 默认使用 MySQL(Docker Compose 会启动 `mysql` 服务),数据保存在 `mysql-data` 卷中。 diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..ccdb39a --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,20 @@ +# syntax=docker/dockerfile:1 +FROM python:3.11-slim + +ENV PYTHONUNBUFFERED=1 \ + PYTHONDONTWRITEBYTECODE=1 \ + UV_PROJECT_ENVIRONMENT=/opt/venv \ + PATH="/opt/venv/bin:$PATH" + +WORKDIR /app/backend + +RUN pip install --no-cache-dir --upgrade pip uv + +COPY pyproject.toml uv.lock README.md ./ +RUN uv venv /opt/venv +RUN uv sync --frozen --no-dev + +COPY . . + +EXPOSE 7860 +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]