Create attractive VASL scenarios, with loads of useful information embedded to assist with game play.
https://vasl-templates.org
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.9 KiB
63 lines
1.9 KiB
# NOTE: Use the run-container.sh script to build and launch this container.
|
|
|
|
# We do a multi-stage build (requires Docker >= 17.05) to install everything, then copy it all
|
|
# to the final target image.
|
|
|
|
FROM centos:8 AS base
|
|
|
|
# update packages and install Python
|
|
RUN dnf -y upgrade-minimal && \
|
|
dnf install -y python36 && \
|
|
dnf clean all
|
|
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
FROM base AS build
|
|
|
|
# set up a virtualenv
|
|
RUN python3.6 -m venv /opt/venv
|
|
ENV PATH="/opt/venv/bin:$PATH"
|
|
RUN pip install --upgrade pip
|
|
|
|
# install the application requirements
|
|
COPY requirements.txt requirements-dev.txt ./
|
|
RUN pip install -r requirements.txt
|
|
ARG ENABLE_TESTS
|
|
RUN if [ "$ENABLE_TESTS" ]; then pip install -r requirements-dev.txt ; fi
|
|
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
FROM base
|
|
|
|
# copy the virtualenv from the build image
|
|
COPY --from=build /opt/venv /opt/venv
|
|
ENV PATH="/opt/venv/bin:$PATH"
|
|
|
|
# install Firefox
|
|
RUN dnf install -y wget bzip2 xorg-x11-server-Xvfb gtk3 dbus-glib
|
|
RUN wget -qO- "https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US" | tar -C /usr/local/ -jx && \
|
|
ln -s /usr/local/firefox/firefox /usr/bin/firefox && \
|
|
echo "exclude=firefox" >> /etc/dnf/dnf.conf
|
|
|
|
# install geckodriver
|
|
RUN url=$( curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | grep -Eoh 'https.*linux64\.tar\.gz' ) && \
|
|
curl -sL "$url" | tar -C /usr/bin/ -xz
|
|
|
|
# install the application
|
|
WORKDIR /app
|
|
COPY vasl_templates vasl_templates
|
|
COPY setup.py requirements.txt requirements-dev.txt LICENSE.txt ./
|
|
RUN pip install -e .
|
|
|
|
# copy the config files
|
|
COPY docker/config/* vasl_templates/webapp/config/
|
|
ARG ENABLE_TESTS
|
|
RUN if [ "$ENABLE_TESTS" ]; then echo "ENABLE_REMOTE_TEST_CONTROL = 1" >>vasl_templates/webapp/config/debug.cfg ; fi
|
|
|
|
# create a new user
|
|
RUN useradd --create-home app
|
|
USER app
|
|
|
|
EXPOSE 5010
|
|
COPY docker/run.sh .
|
|
CMD ./run.sh
|
|
|