FROM python:3.12-alpine3.19
# Install system dependencies required for MkDocs builds
RUN apk add --no-cache git openssl curl
# Set working directory for the build
WORKDIR /app
# Copy repository contents into the image
COPY . .
# Install Python build dependencies (MkDocs and plugins) and MkDocs include
RUN pip install --no-cache-dir \
mkdocs-material mkdocs-video mkdocs-redirects mkdocs-glightbox mkdocs-rss-plugin \
git+https://github.com/pikvm/markdown-include
# Build the MkDocs site from source
RUN mkdocs build
# Expose port for serving the built documentation
EXPOSE 8000
# Serve the generated site with Python's simple HTTP server
CMD ["sh", "-lc", "python -m http.server 8000 --directory site"]