FROM python:3.8-slim AS common

# Environment variables
ENV PIP_NO_CACHE_DIR false
ENV CAPO_PROFILE docker

# Set up Capo
WORKDIR /root/.capo
COPY docker.properties docker.properties

# Get postgres/mysql development stuff in the image
RUN apt-get update \
    && apt-get install -y libmariadb-dev-compat gcc libpq-dev \
    && rm -rf /var/lib/apt/lists

# Get the code into the image
WORKDIR /code
COPY . .

FROM common AS workflow
EXPOSE 3456
WORKDIR /code/services/workflow

# Python library installation
RUN pip install -r requirements.txt \
    && python setup.py develop

ENTRYPOINT pserve --reload development.ini

FROM common AS capability
EXPOSE 3457
WORKDIR /code/services/capability

# Python library installation
RUN pip install -r requirements.txt \
    && python setup.py develop

ENTRYPOINT pserve --reload development.ini