diff --git a/.github/workflows/build_image.yml b/.github/workflows/build_image.yml index fa2e4fb..95e9e5e 100644 --- a/.github/workflows/build_image.yml +++ b/.github/workflows/build_image.yml @@ -9,10 +9,10 @@ jobs: uses: rokroskar/workflow-run-cleanup-action@v0.3.3 env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: '3.13' # Version range or exact version of a Python version to use, using SemVer's version range syntax - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v5.0.0 - name: Build with retry uses: Wandalen/wretry.action@v3.8.0 with: diff --git a/Dockerfile b/Dockerfile index a81b898..74e8cbe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,37 @@ -FROM python:3.13.2 +# Use a stable Python base image (Debian 12 based) +FROM python:3.13-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 fc2996f..395c375 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -mkdocs-material==9.6.9 -mkdocs-glightbox==0.4.0 +mkdocs-material==9.6.20 +mkdocs-glightbox==0.5.1 mkdocs==1.6.1 mkdocs-htmlproofer-plugin pygments