Compare commits
2 Commits
78265d92ba
...
943dc190a3
| Author | SHA1 | Date | |
|---|---|---|---|
| 943dc190a3 | |||
| 80a892478f |
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(python -m venv .venv)",
|
||||
"Bash(.venv/bin/pip install *)",
|
||||
"Read(//home/sana/.config/uv/**)",
|
||||
"Read(//home/sana/.pip/**)",
|
||||
"Bash(make admin *)",
|
||||
"Bash(curl -s -o /dev/null -w \"%{http_code}\" http://127.0.0.1:8000/)",
|
||||
"Bash(kill %1)",
|
||||
"Bash(uv run *)",
|
||||
"Bash(curl -sv http://127.0.0.1:8000/)",
|
||||
"Bash(no_proxy=\"127.0.0.1\" curl -s -o /dev/null -w \"%{http_code}\" http://127.0.0.1:8000/)",
|
||||
"Bash(echo \"exit: $?\")",
|
||||
"Bash(google-chrome --version)",
|
||||
"Bash(google-chrome-stable --version)",
|
||||
"Bash(chromium --version)",
|
||||
"Bash(make patch-driver *)",
|
||||
"Bash(rtk ls *)",
|
||||
"Bash(./drivers/chromedriver *)",
|
||||
"Bash(rtk grep *)",
|
||||
"Bash(rtk git *)",
|
||||
"Bash(python *)",
|
||||
"Bash(rtk read *)",
|
||||
"Bash(uv add *)",
|
||||
"Bash(wait)",
|
||||
"Bash(fuser -k 8000/tcp)",
|
||||
"Bash(fuser -k 9000/tcp)",
|
||||
"Bash(rtk find *)"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
.venv
|
||||
venv
|
||||
.git
|
||||
+20
-20
@@ -13,23 +13,23 @@ COPY pyproject.toml uv.lock* ./
|
||||
RUN uv sync --frozen --no-dev --no-install-project
|
||||
|
||||
# ── Stage 2: runtime ──────────────────────────────────────────────────────────
|
||||
FROM python:3.11-slim AS runtime
|
||||
FROM python:3.14-slim AS runtime
|
||||
|
||||
# ── Chrome + system deps ──────────────────────────────────────────────────────
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
wget gnupg ca-certificates curl unzip \
|
||||
# X11 / rendering libs needed even in headless mode
|
||||
libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \
|
||||
libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
|
||||
libgbm1 libasound2 libpango-1.0-0 libcairo2 libx11-xcb1 \
|
||||
&& wget -qO- https://dl.google.com/linux/linux_signing_key.pub \
|
||||
| gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg \
|
||||
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] \
|
||||
http://dl.google.com/linux/chrome/deb/ stable main" \
|
||||
> /etc/apt/sources.list.d/google-chrome.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends google-chrome-stable \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
wget gnupg ca-certificates curl unzip \
|
||||
# X11 / rendering libs needed even in headless mode
|
||||
libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \
|
||||
libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
|
||||
libgbm1 libasound2 libpango-1.0-0 libcairo2 libx11-xcb1 \
|
||||
&& wget -qO- https://dl.google.com/linux/linux_signing_key.pub \
|
||||
| gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg \
|
||||
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] \
|
||||
http://dl.google.com/linux/chrome/deb/ stable main" \
|
||||
> /etc/apt/sources.list.d/google-chrome.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends google-chrome-stable \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# ── uv + venv from builder ────────────────────────────────────────────────────
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
||||
@@ -39,12 +39,12 @@ WORKDIR /app
|
||||
|
||||
# Make the venv's binaries the default Python
|
||||
ENV PATH="/app/.venv/bin:$PATH" \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
# Tell undetected-chromedriver where Chrome lives
|
||||
CHROME_BINARY=/usr/bin/google-chrome-stable \
|
||||
# Always run headless inside Docker
|
||||
HEADLESS=true
|
||||
PYTHONUNBUFFERED=1 \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
# Tell undetected-chromedriver where Chrome lives
|
||||
CHROME_BINARY=/usr/bin/google-chrome-stable \
|
||||
# Always run headless inside Docker
|
||||
HEADLESS=true
|
||||
|
||||
# ── Application code ──────────────────────────────────────────────────────────
|
||||
COPY . .
|
||||
|
||||
Reference in New Issue
Block a user