mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-10 20:37:15 +02:00
Redrafted Sphinx for CyMaIS
This commit is contained in:
37
docs/Dockerfile
Normal file
37
docs/Dockerfile
Normal file
@@ -0,0 +1,37 @@
|
||||
ARG DOCKER_PYTHON_VERSION
|
||||
FROM python:${DOCKER_PYTHON_VERSION}
|
||||
|
||||
ARG SPHINX_SOURCE_DIR
|
||||
ARG SPHINX_OUTPUT_DIR
|
||||
ARG SPHINX_EXEC_DIR
|
||||
ARG SPHINX_DOCKER_EXEC_DIR
|
||||
ARG SPHINX_SOURCE_DIR_RELATIVE
|
||||
|
||||
# Set the environment variables so they are available during build for Makefile
|
||||
ENV SPHINX_SOURCE_DIR=${SPHINX_SOURCE_DIR}
|
||||
ENV SPHINX_OUTPUT_DIR=${SPHINX_OUTPUT_DIR}
|
||||
ENV SPHINX_REQUIREMENTS_DIR=${SPHINX_EXEC_DIR}/requirements
|
||||
|
||||
# Build the requirement files
|
||||
RUN cd ${SPHINX_EXEC_DIR} && make requirements
|
||||
|
||||
# Install required packages
|
||||
RUN apt-get update && xargs -a ${SPHINX_REQUIREMENTS_DIR}/apt.txt apt install -y
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR ${SPHINX_DOCKER_EXEC_DIR}
|
||||
|
||||
# Copy the project files into the container
|
||||
COPY ${SPHINX_SOURCE_DIR_RELATIVE} ${SPHINX_DOCKER_EXEC_DIR}
|
||||
|
||||
# Install Python packages via requirements.txt
|
||||
RUN pip install --upgrade pip && pip install -r ${SPHINX_REQUIREMENTS_DIR}/pip.txt
|
||||
|
||||
# Build the HTML documentation using Sphinx with the defined directories
|
||||
RUN cd ${SPHINX_EXEC_DIR} && make html
|
||||
|
||||
# Expose port 8000 where the HTTP server will run
|
||||
EXPOSE 8000
|
||||
|
||||
# Start a simple HTTP server to serve the built documentation
|
||||
CMD python -m http.server 8000 --directory "${SPHINX_OUTPUT_DIR}html/"
|
Reference in New Issue
Block a user