video-to-gif/Dockerfile

27 lines
639 B
Docker

FROM python:3.14-slim-trixie
VOLUME /home
COPY video_to_gif.py pyproject.toml uv.lock .python-version /home/
WORKDIR /home
# https://stackoverflow.com/a/52445962
RUN apt update -y && \
apt upgrade -y && \
apt install ffmpeg -y && \
apt install curl -y && \
apt install build-essential -y
RUN pip install --upgrade pip && \
pip install uv && \
uv sync --frozen --no-dev
# https://stackoverflow.com/a/49676568
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
# https://crates.io/crates/gifski
RUN cargo install gifski
ENTRYPOINT ["uv", "run", "python", "video_to_gif.py"]