FROM python:3.6-slim-stretch


ENV FLASK_APP=opaque.py


RUN apt-get update \
 && apt-get install --no-install-recommends --yes \
      build-essential \
      libpq-dev \
      wait-for-it \
 && rm -rf /var/lib/apt/lists/*


RUN groupadd --gid 1000 --system opaque \
 && useradd --create-home --gid opaque --no-log-init --system --uid 1000 opaque
USER opaque
WORKDIR /home/opaque


COPY ["app", "app"]
COPY ["migrations", "migrations"]
COPY ["tests", "tests"]
COPY ["config.py", "opaque.py", "requirements.txt", "./"]
RUN python -m venv venv \
 && venv/bin/pip install --requirement requirements.txt \
 && mkdir logs


EXPOSE 5000
VOLUME ["/home/opaque/logs", "/home/opaque/migrations"]


COPY ["docker-entrypoint.sh", "/usr/local/bin/"]
ENTRYPOINT ["docker-entrypoint.sh"]