update: Dockerfile
This commit is contained in:
@@ -114,7 +114,7 @@
|
|||||||
| `parent_path` | 否 | 父目录相对路径,空字符串或缺省表示用户根目录 |
|
| `parent_path` | 否 | 父目录相对路径,空字符串或缺省表示用户根目录 |
|
||||||
|
|
||||||
- **父目录存在性校验**: 必须在 `StorageObjects` 存在 `relative_path == scoped_prefix/{parent}` 的行,或 `relative_path` 以 `scoped_prefix/{parent}/` 开头。否则 **404**。
|
- **父目录存在性校验**: 必须在 `StorageObjects` 存在 `relative_path == scoped_prefix/{parent}` 的行,或 `relative_path` 以 `scoped_prefix/{parent}/` 开头。否则 **404**。
|
||||||
- **同名冲突**: 已有 `relative_path` 完全相等的行(无论 file / directory) → **409**。`uk_storage_workspace_path(workspace_id, storage_backend, path_hash)` 唯一索引保证幂等。
|
- **同名冲突**: 已有 `relative_path` 完全相等的行(无论 file / directory) → **409**。冲突判定由应用层 `SELECT ... FOR UPDATE` 完成;`idx_storage_workspace_path(workspace_id, storage_backend, path_hash)` 仅作为查找索引,不再提供 DB 级唯一性兜底。
|
||||||
- **响应 201**:
|
- **响应 201**:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ ENV UV_HTTP_TIMEOUT=300
|
|||||||
ENV UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple/
|
ENV UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple/
|
||||||
|
|
||||||
RUN uv lock && \
|
RUN uv lock && \
|
||||||
uv sync --no-dev --no-editable --package backend
|
uv sync --no-dev --no-editable --package backend --no-install-workspace
|
||||||
|
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
CMD ["gunicorn", "--config", "backend/gunicorn.conf.py", "backend.main:app"]
|
CMD ["gunicorn", "--config", "backend/gunicorn.conf.py", "backend.main:app"]
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ COPY pyproject.toml uv.lock ./
|
|||||||
COPY common ./common
|
COPY common ./common
|
||||||
COPY runtime ./runtime
|
COPY runtime ./runtime
|
||||||
COPY extras ./extras
|
COPY extras ./extras
|
||||||
RUN uv sync --frozen --no-dev --no-editable --package runtime
|
RUN uv sync --frozen --no-dev --no-editable --package runtime --no-install-workspace
|
||||||
|
|
||||||
RUN mkdir -p /root/.jupyter/custom /app/.venv/share/jupyter/custom && \
|
RUN mkdir -p /root/.jupyter/custom /app/.venv/share/jupyter/custom && \
|
||||||
echo '#top-panel, #top-panel-wrapper, .jp-Notebook-header, .jp-FileEditorHeader {display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: none !important; position: absolute !important; pointer-events: none !important; }' > /root/.jupyter/custom/custom.css && \
|
echo '#top-panel, #top-panel-wrapper, .jp-Notebook-header, .jp-FileEditorHeader {display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: none !important; position: absolute !important; pointer-events: none !important; }' > /root/.jupyter/custom/custom.css && \
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ COPY pyproject.toml uv.lock ./
|
|||||||
COPY common ./common
|
COPY common ./common
|
||||||
COPY schedule ./schedule
|
COPY schedule ./schedule
|
||||||
COPY extras ./extras
|
COPY extras ./extras
|
||||||
RUN uv sync --frozen --no-dev --no-editable --package schedule
|
RUN uv sync --frozen --no-dev --no-editable --package schedule --no-install-workspace
|
||||||
|
|
||||||
RUN uv venv --python 3.12 /opt/venv/python3.12 && \
|
RUN uv venv --python 3.12 /opt/venv/python3.12 && \
|
||||||
uv pip install --python /opt/venv/python3.12/bin/python -r extras/requirements-py312 && \
|
uv pip install --python /opt/venv/python3.12/bin/python -r extras/requirements-py312 && \
|
||||||
|
|||||||
Reference in New Issue
Block a user