feat: upgrade Docker image to python:3.14-slim-bookworm

Bump base image from 3.10 to 3.14 to match host Python version.
Add pip cache purge after install to reduce image size.

Note: spaCy remains commented out (no 3.14 wheel yet).
All other dependencies verified working on Python 3.14.4.

Co-Authored-By: RuFlo <ruv@ruv.net>
pull/2551/head
Hong Phuc 4 weeks ago
parent 208d1a0669
commit b922080046

@ -5,7 +5,7 @@
**VideoMakerBot** — Automated short-form video creator from social media content.
**Status:** Production-ready, actively maintained (v3.4.0)
**Language:** Python 3.14+ (host); Docker image uses python:3.10-slim-bookworm for stability
**Language:** Python 3.14+ (host + Docker image)
**Runtime:** **Docker only** — all CLI, GUI, and test invocations go through `docker compose`. Do not invoke `python` on the host.
**Platforms:** Reddit (PRAW API), Threads (Graph API + Web Scraping)
@ -320,7 +320,7 @@ Last 1-4: engagement metrics (likes, replies, reposts, quotes)
| `utils/background_audios.json` | Background audio manifest |
| `utils/gui_utils.py` | `add_background`, `delete_background`, `modify_settings`, `get_checks` (no eval) |
| `GUI.py` | Flask app: `/`, `/video/<id>`, `/backgrounds`, `/settings`, `/create`; CSRF + security headers |
| `Dockerfile` | python:3.10-slim-bookworm + ffmpeg + Playwright Chromium + pytest; runs as `appuser` |
| `Dockerfile` | python:3.14-slim-bookworm + ffmpeg + Playwright Chromium + pytest; runs as `appuser` |
| `docker-compose.yml` | Three services: `gui` (port 4000), `cli`, `test` |
| `tests/test_gui_utils.py` | Pytest regression for Background Manager round-trip |

@ -1,5 +1,4 @@
# For production, pin to a digest: FROM python:3.10-slim-bookworm@sha256:...
FROM python:3.10-slim-bookworm
FROM python:3.14-slim-bookworm
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
@ -15,10 +14,11 @@ RUN apt-get update \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt ./
# Pin pip for reproducible builds: --upgrade pip==24.0
# Pin pip for reproducible builds: --upgrade pip==25.x
RUN pip install --upgrade pip \
&& pip install -r requirements.txt \
&& pip install pytest
&& pip install pytest \
&& pip cache purge
RUN python -m playwright install --with-deps chromium

Loading…
Cancel
Save