FROM nginx:alpine # Set environment variables ENV PORT="80" ENV VIRTUAL_ENV="/mkdocs" ENV PATH = "$VIRTUAL_ENV/bin:$PATH" # Install necessary packages RUN apk add --no-cache git py3-pip envsubst # Create work directory RUN mkdir /mkdocs WORKDIR /mkdocs # Create virtual environment RUN python -m venv $VIRTUAL_ENV # Install necessary packages in virtual environment RUN pip install --no-cache-dir mkdocs mkdocs-material # Configure nginx environment COPY default.conf.env /etc/nginx/conf.d/default.conf.env # Configure entrypoints RUN touch /docker-entrypoint.d/port.sh \ && echo "exec envsubst < /etc/nginx/conf.d/default.conf.env > /etc/nginx/conf.d/default.conf && nginx -s reload" > /docker-entrypoint.d/port.sh \ && chmod 776 /docker-entrypoint.d/port.sh # Configure cron COPY root /etc/crontabs/root # Configure mkdocs-git COPY mkdocs-git /bin/mkdocs-git RUN chmod 744 /bin/mkdocs-git # Configure cron entrypoints RUN touch /docker-entrypoint.d/cron.sh \ && echo "exec crond" > /docker-entrypoint.d/cron.sh \ && chmod 776 /docker-entrypoint.d/cron.sh