The mcr.microsoft.com/playwright images are language-agnostic Ubuntu
images with only Chromium/Chrome/Firefox, no Python runtime. Reverting
to python:3.11-slim for both admin and worker stages.
Worker now installs Chromium via apt, patches ChromeDriver at build
time, and uses the shared builder stage for dependency caching.
This eliminates the broken venv, missing pip/uv, and registry mirror
issues from previous iterations.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The install script doesn't modify PATH for the shell. Call uv via
full path (/root/.local/bin/uv) in the same RUN so there's no
layer boundary issue.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The Playwright Noble image ships Python but not pip or uv in PATH.
Install uv directly via curl, then run uv sync natively so the venv
targets this image's Python 3.12 instead of copying a broken 3.11 venv.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The // breaks Docker's stage name parsing (conflicts with 'AS').
Use oci.reg.darano.ir as a registry mirror in /etc/docker/daemon.json
if the local proxy requires the // prefix for path routing.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The Playwright Noble image ships Python 3.12 while the builder uses
python:3.11-slim. Copying the venv produced broken shebangs, causing
"exec /app/.venv/bin/rq: no such file or directory".
Fix: install uv in the worker stage and run uv sync natively so the
venv targets this image's Python version. Manifests copied first for
layer cache efficiency.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Replace mcr.microsoft.com/playwright:v1.62.0-noble with
oci.reg.darano.ir/mcr.microsoft.com/playwright:latest for worker builds.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Replace chromium/chromedriver apt installs with
mcr.microsoft.com/playwright:v1.62.0-noble for worker containers.
Admin service stays on python:3.11-slim since it doesn't need Chrome.
This removes the build-time patch_driver.py step since Playwright ships
with a pre-patched Chromium binary. Also split docker-compose into
separate images (seed-admin / seed-worker) with explicit build targets.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>