30 lines
797 B
Docker
30 lines
797 B
Docker
# -------- Stage 1: Build the documentation using mkdocs --------
|
|
FROM python:3.13-slim AS builder
|
|
|
|
# add pandoc to image
|
|
COPY --from=pandoc/minimal:3 /usr/local/bin/pandoc /usr/local/bin/pandoc
|
|
|
|
RUN chmod +x /usr/local/bin/pandoc
|
|
|
|
WORKDIR /build
|
|
|
|
# Install dependencies
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY mkdocs/ mkdocs/
|
|
COPY pandoc/filters pandoc/filters
|
|
COPY user/ user/
|
|
COPY admin/ admin/
|
|
|
|
RUN cd user && mkdocs build --clean && cd ..
|
|
RUN cd admin && mkdocs build --clean && cd ..
|
|
|
|
# -------- Stage 2: Serve the built documentation with nginx --------
|
|
FROM nginx:alpine
|
|
|
|
# Copy the built site from the builder stage
|
|
COPY --from=builder /build/admin/site /usr/share/nginx/html/admin
|
|
COPY --from=builder /build/user/site /usr/share/nginx/html/user
|
|
|