bunkerweb/tests/ui/Dockerfile
2024-10-22 15:07:01 +02:00

48 lines
1.4 KiB
Docker

FROM python:3.13.0-alpine@sha256:c38ead8bcf521573dad837d7ecfdebbc87792202e89953ba8b2b83a9c5a520b6
# Install firefox and geckodriver
RUN apk add --no-cache --virtual .build-deps curl grep zip wget && \
apk add --no-cache firefox
# Installing geckodriver for firefox...
RUN GECKODRIVER_VERSION=`curl -i https://github.com/mozilla/geckodriver/releases/latest | grep -Po 'v[0-9]+\.[0-9]+\.[0-9]+'` && \
wget -O geckodriver.tar.gz -w 5 https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz && \
tar -C /usr/local/bin -xzvf geckodriver.tar.gz && \
chmod +x /usr/local/bin/geckodriver && \
rm geckodriver.tar.gz
WORKDIR /opt/tests_ui
COPY requirements.txt .
RUN MAKEFLAGS="-j $(nproc)" pip install --no-cache-dir --require-hashes --no-deps -r requirements.txt
RUN touch test.txt && \
zip test.zip test.txt && \
rm test.txt
RUN echo '{ \
"id": "discord", \
"name": "Discord", \
"description": "Send alerts to a Discord channel (using webhooks).", \
"version": "0.1", \
"stream": "no", \
"settings": {} \
}' > plugin.json && \
zip discord.zip plugin.json && \
rm plugin.json
# Clean up
RUN apk del .build-deps && \
rm -rf /var/cache/apk/*
ARG TEST_FILE=main.py
COPY base.py .
COPY wizard.py .
COPY utils.py .
COPY $TEST_FILE main.py
ENV PYTHONUNBUFFERED=1
CMD ["python3", "main.py"]