Commit Graph

25 Commits

Author SHA1 Message Date
nfel 776de685d0 Install uv via curl instead of pip in builder stage
pip install uv tries to fetch from PyPI which is unreachable from
our VPS. Using curl installer directly avoids any PyPI dependency.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:48:06 +03:30
nfel 24402b3aa9 Fix uv binary path — installer puts it in /usr/local/uv/bin/uv
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:45:12 +03:30
nfel b035312e83 Configure pypi.reg.darano.ir as PyPI mirror for uv
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:41:26 +03:30
nfel 4b805a64a5 Move uv sync into the same RUN as curl installer
The install script places uv in /usr/local/bin/uv but doesn't modify
the shell's PATH for subsequent RUN layers. Moving uv sync into the
same RUN so the freshly installed binary is immediately usable.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:40:29 +03:30
nfel 5a9087b7fc Use IUT apt mirror (repo.iut.ac.ir) — Iran-based Ubuntu mirror
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:37:56 +03:30
nfel 99cbbf743a Remove double slash from registry mirror URL
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:36:24 +03:30
nfel bbd0509d8b Install Python 3.12 + uv on Playwright Noble base image
The Playwright image ships Ubuntu 24.04 + Chromium but no Python.
This commit adds:
- Ubuntu apt mirror (tuna) since ubuntu.com repos are blocked from Iran
- python3 + python3-venv via apt
- uv via curl installer
- uv sync for project deps (targets Python 3.12)

Admin stage stays on python:3.11-slim (no Chrome needed).

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:35:42 +03:30
nfel acd613b468 updated docker file 2026-08-04 22:33:30 +03:30
nfel e7410c1ac2 Use Playwright Noble as worker base, configure China apt mirror
- Worker stage: oci.reg.darano.ir//mcr.microsoft.com/playwright:v1.62.0-noble
  (Ubuntu 24.04 + Chromium + Python 3.12 + ffmpeg/xvfb pre-installed)
  No apt/pip/Python bootstrap needed — everything ships with the image.
  Only uv sync needed for project deps.

- Admin stage: stays on python:3.11-slim (no Chrome needed).
  Uses Debian mirror (mirrors.tuna.tsinghua.edu.cn) since deb.debian.org
  times out from our VPS location (Iran).

- No more apt-get install of chromium/pip/uv in the Dockerfile.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 22:00:56 +03:30
nfel 604d5e25c1 Revert worker to python:3.11-slim — Playwright images don't include Python
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>
2026-08-04 21:53:55 +03:30
nfel c859028627 Bootstrap pip via ensurepip to install uv manager
ensurepip -> pip install uv (package manager) -> uv sync. Uses
python -m pip so no system pip CLI is needed.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 21:50:52 +03:30
nfel 040e57c3c0 Call uv by full path in single RUN layer
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>
2026-08-04 21:50:26 +03:30
nfel 47fa0229b3 Install uv via curl in worker stage
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>
2026-08-04 21:48:34 +03:30
nfel 82cf4f1f82 Remove double slash from FROM line — Docker parser doesn't support it
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>
2026-08-04 21:46:35 +03:30
nfel 1ce57c3ea2 Fix worker rq not found — build venv natively in Playwright image
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>
2026-08-04 21:39:51 +03:30
nfel 0bbd4ba840 Add double slash in Playwright registry mirror path
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-04 21:38:49 +03:30
nfel f60de9312a Use local registry mirror for Playwright image
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>
2026-08-04 21:28:19 +03:30
nfel a436b72bec Use Playwright base image for worker services
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>
2026-08-04 21:19:12 +03:30
nfel 66c8c19e0c Record worker browser sessions 2026-08-02 23:23:23 +03:30
nfel 3982b03f5c Use packaged Chromium driver in Docker 2026-07-28 22:15:14 +03:30
nfel 4462990d6f Bundle patched ChromeDriver in Docker image 2026-07-28 22:00:19 +03:30
nfel 983b5279a2 Fix Docker virtual environment packaging 2026-07-27 23:54:50 +03:30
nfel 943dc190a3 python version increased to 3.14 2026-07-27 15:49:33 +03:30
nfel 3a1ceaaf2e added docker and docker compose 2026-06-30 17:57:07 +03:30
nfel 70e78a2b31 deploy files added 2026-06-15 19:47:56 +03:30