mirror of
https://git.lindalindsay.org/admin/linda.lindsay.changemaker.git
synced 2026-08-12 12:39:56 -06:00
initial commit
This commit is contained in:
84
Dockerfile.code-server
Normal file
84
Dockerfile.code-server
Normal file
@@ -0,0 +1,84 @@
|
||||
FROM codercom/code-server:latest
|
||||
|
||||
USER root
|
||||
|
||||
# Install Python and dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-venv \
|
||||
python3-full \
|
||||
pipx \
|
||||
# Dependencies for CairoSVG and Pillow (PIL)
|
||||
libcairo2-dev \
|
||||
libfreetype6-dev \
|
||||
libffi-dev \
|
||||
libjpeg-dev \
|
||||
libpng-dev \
|
||||
libz-dev \
|
||||
python3-dev \
|
||||
pkg-config \
|
||||
# Additional dependencies for advanced image processing
|
||||
libwebp-dev \
|
||||
libtiff5-dev \
|
||||
libopenjp2-7-dev \
|
||||
liblcms2-dev \
|
||||
libxml2-dev \
|
||||
libxslt1-dev \
|
||||
# PDF generation dependencies
|
||||
weasyprint \
|
||||
fonts-roboto \
|
||||
# Git for git-based plugins
|
||||
git \
|
||||
# For lxml
|
||||
zlib1g-dev \
|
||||
# Required for some plugins
|
||||
build-essential \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Switch to non-root user (coder)
|
||||
USER coder
|
||||
|
||||
# Set up a virtual environment for mkdocs
|
||||
RUN mkdir -p /home/coder/.venv
|
||||
RUN python3 -m venv /home/coder/.venv/mkdocs
|
||||
|
||||
# Install mkdocs-material in the virtual environment with all extras
|
||||
RUN /home/coder/.venv/mkdocs/bin/pip install "mkdocs-material[imaging,recommended,git]"
|
||||
|
||||
# Install additional useful MkDocs plugins
|
||||
RUN /home/coder/.venv/mkdocs/bin/pip install \
|
||||
mkdocs-minify-plugin \
|
||||
mkdocs-git-revision-date-localized-plugin \
|
||||
mkdocs-glightbox \
|
||||
mkdocs-redirects \
|
||||
mkdocs-awesome-pages-plugin \
|
||||
mkdocs-blog-plugin \
|
||||
mkdocs-rss-plugin \
|
||||
mkdocs-meta-descriptions-plugin \
|
||||
mkdocs-swagger-ui-tag \
|
||||
mkdocs-macros-plugin \
|
||||
mkdocs-material-extensions \
|
||||
mkdocs-section-index \
|
||||
mkdocs-table-reader-plugin \
|
||||
mkdocs-pdf-export-plugin \
|
||||
mkdocs-mermaid2-plugin \
|
||||
pymdown-extensions \
|
||||
pygments \
|
||||
pillow \
|
||||
cairosvg
|
||||
|
||||
# Add the virtual environment bin to PATH
|
||||
ENV PATH="/home/coder/.venv/mkdocs/bin:${PATH}"
|
||||
|
||||
# Add shell configuration to activate the virtual environment in .bashrc
|
||||
RUN echo 'export PATH="/home/coder/.venv/mkdocs/bin:$PATH"' >> ~/.bashrc
|
||||
RUN echo 'export PATH="/home/coder/.local/bin:$PATH"' >> ~/.bashrc
|
||||
|
||||
# Create a convenience script to simplify running mkdocs commands
|
||||
RUN mkdir -p /home/coder/.local/bin \
|
||||
&& echo '#!/bin/bash\ncd /home/coder/mkdocs\nmkdocs "$@"' > /home/coder/.local/bin/run-mkdocs \
|
||||
&& chmod +x /home/coder/.local/bin/run-mkdocs
|
||||
|
||||
WORKDIR /home/coder
|
||||
Reference in New Issue
Block a user