Merge pull request #5626 from hellt/user-req

Add support for user-provided python packages
This commit is contained in:
Martin Donath 2023-06-29 12:05:29 +02:00 committed by GitHub
commit 954a6de0da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 6 deletions

View File

@ -34,7 +34,7 @@ WORKDIR /tmp
COPY material material COPY material material
COPY package.json package.json COPY package.json package.json
COPY README.md README.md COPY README.md README.md
COPY requirements.txt requirements.txt COPY *requirements.txt ./
COPY pyproject.toml pyproject.toml COPY pyproject.toml pyproject.toml
# Perform build and cleanup artifacts and caches # Perform build and cleanup artifacts and caches
@ -66,6 +66,8 @@ RUN \
"pillow>=9.0" \ "pillow>=9.0" \
"cairosvg>=2.5"; \ "cairosvg>=2.5"; \
fi \ fi \
&& \
[ -e user-requirements.txt ] && pip install -U -r user-requirements.txt \
&& \ && \
apk del .build \ apk del .build \
&& \ && \

View File

@ -117,11 +117,12 @@ The following plugins are bundled with the Docker image:
Material for MkDocs only bundles selected plugins in order to keep the size Material for MkDocs only bundles selected plugins in order to keep the size
of the official image small. If the plugin you want to use is not included, of the official image small. If the plugin you want to use is not included,
create a new `Dockerfile` and extend the official Docker image: create a `user-requirements.txt` file in the repository root with the packages
you want to install additionally, e.g.:
``` Dockerfile ``` txt title="user-requirements.txt"
FROM squidfunk/mkdocs-material mkdocs-macros-plugin==0.7.0
RUN pip install ... mkdocs-glightbox>=0.3.1
``` ```
Next, you can build the image with the following command: Next, you can build the image with the following command:
@ -130,7 +131,8 @@ The following plugins are bundled with the Docker image:
docker build -t squidfunk/mkdocs-material . docker build -t squidfunk/mkdocs-material .
``` ```
The new image can be used exactly like the official image. The new image will have additional packages installed and can be used
exactly like the official image.
### with git ### with git

View File

@ -79,6 +79,9 @@ docker login -u ${GH_USERNAME} -p ${GHCR_TOKEN} ghcr.io
docker pull ghcr.io/${GH_USERNAME}/mkdocs-material-insiders docker pull ghcr.io/${GH_USERNAME}/mkdocs-material-insiders
``` ```
Should you wish to add additional plugins to the insiders container image, follow the steps
outlined in the [Getting Started guide](../getting-started.md#with-docker).
[^2]: [^2]:
Earlier, Insiders provided a dedicated Docker image which was available to Earlier, Insiders provided a dedicated Docker image which was available to
all sponsors. On March 21, 2021, the image was deprecated for the reasons all sponsors. On March 21, 2021, the image was deprecated for the reasons