cara/caimira/docs/Dockerfile
Nicola Tarocco a34efcac88 Project documentation and CI/CD improvements:
- Added docs folder with MkDocs and Sphinx integration for documentation.
- Updated GitLab CI/CD configuration to include documentation jobs.
- Improved Dockerfile for streamlined builds.
- Added JavaScript file to support MathJax for equations in MkDocs.
- Created and included a UML diagram for architectural overview.
- Removed unused files to clean up the repository.
- Updated project and package README files for consistency.
- Revised diameter-dependent documentation for clarity.
- Added detailed REST API documentation.
- Updated project version for release tracking.
- Included open-source acknowledgments in the documentation.
- Added repository details and UI instructions to the user guide.
- Integrated CO2 fitting algorithm into the project.
- Included logo on the main documentation page and added CI/CD prod job.
2024-11-20 15:23:46 +01:00

35 lines
1,010 B
Docker

# Use the conda image to install Python
FROM registry.cern.ch/docker.io/condaforge/mambaforge AS conda
ARG PYTHON_VERSION=3.12
RUN mamba create --yes -p /opt/app python=${PYTHON_VERSION}
# Install system dependencies, including Graphviz
RUN conda install conda-forge::graphviz
# Copy project files to the container
COPY . /app
WORKDIR /app
# Install CAiMIRA docs
RUN pip install .[doc]
# Sphinx directory
WORKDIR /app/docs/sphinx
# Generate markdown project's documentation
RUN sphinx-build -b markdown . _build/markdown
# Base docs directory
WORKDIR /app/docs
# Run the Python script to update markdown files, move it, and generate UML diagram
RUN python3 style_docs.py \
&& mv sphinx/_build/markdown/index.md mkdocs/docs/code/models.md \
&& pyreverse -o png -p UML-CAiMIRA --output-directory mkdocs/docs/code ../src/caimira/calculator/models/models.py
# Mkdocs directory
WORKDIR /app/docs/mkdocs
# Command to serve the MkDocs site
CMD ["python", "-m", "mkdocs", "serve", "--dev-addr=0.0.0.0:8080"]