mirror of
https://github.com/oskvr37/tiddl.git
synced 2026-06-13 04:05:08 +03:00
ea3571ae42
* Added actual ghcr.io URL for docker commands Added ghcr.io/oskvr37/tiddl:latest in docker-compose.yml example code and docker run example code, in README.md * Update Dockerfile
21 lines
841 B
Docker
21 lines
841 B
Docker
# --- Optimised Layer Caching --- #
|
|
# Layer 1 (ffmpeg) will never regenerate
|
|
# Layer 2 (pip install) will regenerate if pyproject.toml is changed
|
|
# Layer 3 (build & install tiddl), rengerates on any code change
|
|
|
|
FROM python:alpine
|
|
WORKDIR /root
|
|
|
|
# -- Layer 1 - ffmpeg install (it'll stay cached as a layer always) --
|
|
RUN apk add --no-cache ffmpeg
|
|
|
|
# -- Layer 2 - pip install depenencies (remains cached unless pyproject.toml changes) --
|
|
# Exports 'depenencies' from pyproject.toml formatted to requirements.txt format, pipelined to pip install
|
|
COPY pyproject.toml .
|
|
RUN python -c "import tomllib; f=open('pyproject.toml','rb'); print('\n'.join(tomllib.load(f)['project']['dependencies']))" | xargs pip install
|
|
|
|
# -- Layer 3 - Uncached layer (regenerates anytime a new build is released) --
|
|
COPY . .
|
|
RUN pip install --no-deps .
|
|
RUN rm -rf *
|