mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-11-04 12:18:17 +00: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