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"]