diff --git a/Dockerfile b/Dockerfile index f1558ec..c2425cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,6 +47,9 @@ ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ VIRTUAL_ENV=/app/.venv \ PATH="/app/.venv/bin:${PATH}" \ + # rakuten 用户是 --no-create-home 建的;Chromium(浏览器兜底)启动要写 + # $HOME/.config、~/.pki,HOME 指向不存在的目录时会 CHECK 失败 SIGTRAP 自杀 + HOME=/home/rakuten \ PLAYWRIGHT_BROWSERS_PATH=/ms-playwright \ # Playwright 浏览器二进制走 npmmirror 镜像,避免从 azureedge 拉取缓慢 PLAYWRIGHT_DOWNLOAD_HOST=https://cdn.npmmirror.com/binaries/playwright \ @@ -108,9 +111,9 @@ WORKDIR /app COPY --from=builder /app/.venv /app/.venv COPY --from=builder /app/app /app/app -# 可写目录:logs(Loguru)、浏览器二进制(~300MB) -RUN mkdir -p /app/logs /ms-playwright \ - && chown -R rakuten:rakuten /app /ms-playwright +# 可写目录:logs(Loguru)、浏览器二进制(~300MB)、/home/rakuten(Chromium 的 ~/.config 等) +RUN mkdir -p /app/logs /ms-playwright /home/rakuten \ + && chown -R rakuten:rakuten /app /ms-playwright /home/rakuten USER rakuten diff --git a/Dockerfile.trading b/Dockerfile.trading index 97c0890..a56a067 100644 --- a/Dockerfile.trading +++ b/Dockerfile.trading @@ -48,6 +48,9 @@ ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ VIRTUAL_ENV=/app/.venv \ PATH="/app/.venv/bin:${PATH}" \ + # rakuten 用户是 --no-create-home 建的;Chromium 启动要写 $HOME/.config、~/.pki, + # HOME 指向不存在的目录时会 CHECK 失败直接 SIGTRAP(int3)自杀 + HOME=/home/rakuten \ PLAYWRIGHT_BROWSERS_PATH=/ms-playwright \ PLAYWRIGHT_DOWNLOAD_HOST=https://cdn.npmmirror.com/binaries/playwright \ # 落库时间戳全是 UTC aware(local_db/task_queue 用 datetime.now(timezone.utc)), @@ -155,10 +158,10 @@ ENTRYPOINT_SH # 可写目录:logs(Loguru)、data(订单 SQLite + 证据)、.auth(登录态 cookie)、 # .browser-data(login.py 的持久化浏览器目录)、/ms-playwright(Chromium 二进制)、 -# /tmp/.X11-unix(Xvfb socket,非 root 也要能建) -RUN mkdir -p /app/logs /app/data /app/.auth /app/.browser-data /ms-playwright /tmp/.X11-unix \ +# /tmp/.X11-unix(Xvfb socket,非 root 也要能建)、/home/rakuten(Chromium 的 ~/.config 等) +RUN mkdir -p /app/logs /app/data /app/.auth /app/.browser-data /ms-playwright /tmp/.X11-unix /home/rakuten \ && chmod 1777 /tmp/.X11-unix \ - && chown -R rakuten:rakuten /app /ms-playwright + && chown -R rakuten:rakuten /app /ms-playwright /home/rakuten USER rakuten