diff --git a/Dockerfile b/Dockerfile index 6771c28..c595205 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,37 @@ -FROM python:3.13.6 +# Use a stable Python base image (Debian 12 based) +FROM python:3.11-slim + +# Set environment variables ENV WEBHOOK_URL_PREFIX="wiki/hooks" -RUN apt update -RUN apt install -y unzip apache2 build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info git + +# Install system dependencies +RUN apt update && apt install -y --no-install-recommends \ + unzip apache2 build-essential python3-dev python3-pip \ + python3-setuptools python3-wheel python3-cffi libcairo2 \ + libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf-2.0-0 \ + libffi-dev shared-mime-info git wget curl ca-certificates \ + && apt clean && rm -rf /var/lib/apt/lists/* + +# Copy and install Python dependencies ADD requirements.txt . -RUN python -m pip install -r requirements.txt -RUN wget -qO- https://github.com/adnanh/webhook/releases/download/2.8.1/webhook-linux-amd64.tar.gz \ - | tar xzv --strip 1 -C /usr/local/bin -RUN mkdir -p /var/webhook /srv_root/docs +RUN pip install --no-cache-dir -r requirements.txt + +# Install webhook binary +RUN wget -qO- https://github.com/adnanh/webhook/releases/download/2.8.1/webhook-linux-amd64.tar.gz \ + | tar xzv --strip 1 -C /usr/local/bin + +# Create required directories +RUN mkdir -p /var/webhook /srv_root/docs /var/www/html/wiki + +# Copy your scripts and config files ADD update.sh /usr/local/bin/update.sh COPY config/hooks.json /usr/local/bin/hooks.json COPY config/apache2.conf /etc/apache2/apache2.conf ADD start.sh /usr/local/bin/start.sh -RUN mkdir /var/www/html/wiki -ENTRYPOINT "start.sh" + +# Ensure shell scripts are executable +RUN chmod +x /usr/local/bin/start.sh /usr/local/bin/update.sh + +# Set container entrypoint +ENTRYPOINT ["/usr/local/bin/start.sh"] + diff --git a/requirements.txt b/requirements.txt index 0a61353..26945b9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ mkdocs-material==9.6.16 -mkdocs-glightbox==0.4.0 +mkdocs-glightbox==0.5.1 mkdocs==1.6.1 mkdocs-htmlproofer-plugin pygments