diff --git a/shared/Dockerfile b/shared/Dockerfile new file mode 100644 index 00000000..ef39850f --- /dev/null +++ b/shared/Dockerfile @@ -0,0 +1,26 @@ +# Parent dockerfile for all Selene services and APIs +# +# This Dockerfile contains the steps that are common to building all the +# docker images for the Selene backend to Mycroft + +FROM python:3.7 +LABEL maintainer="Mycroft AI " + +# Install the software required for this image +RUN pip install pipenv + +# Copy the applicaction code to the image +COPY selene_util /opt/selene/selene_util +WORKDIR /opt/selene/ + +# Use pipenv to install the dependencies for selene-util +COPY Pipfile Pipfile +COPY Pipfile.lock Pipfile.lock +RUN pipenv install --system + +# Now that pipenv has installed all the packages required by selene-util +# the Pipfile can be removed from the container. This makes way for the +# pepenv to use these files to install dependencies for the Selene services +# or applications that will use this Docker config +RUN rm /opt/selene/Pipfile +RUN rm /opt/selene/Pipfile.lock \ No newline at end of file