-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.deployment
46 lines (37 loc) · 1.35 KB
/
Dockerfile.deployment
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# pull official base image
FROM python:3.10.6-slim-buster
# set working directory
WORKDIR /usr/local/dMLPA-flask/dMLPA-flask
# Accept the commit hash as a build argument so user can add to HTML reports - not set in test mode
ARG IMG_VERSIONED="VERSION_NOT_SET"
# set environment variables
ENV IMG_VERSIONED ${IMG_VERSIONED}
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
#ENV FLASK_DEBUG 1
#ENV FLASK_ENV development
ENV SCRIPT_NAME=/dMLPA-flask
ENV FLASK_APP /usr/local/dMLPA-flask/dMLPA-flask/app.py
ENV PYTHONPATH /usr/local/dMLPA-flask/dMLPA-flask
ENV UPLOAD_FOLDER /var/local/dMLPA-flask/uploads
ENV SESSION_FILE_DIR /var/local/dMLPA-flask/flask_sessions
# only for development
# add and install requirements
COPY ./requirements.txt .
RUN pip3 install -r requirements.txt
USER 0
RUN mkdir -p /var/local/dMLPA-flask/logs/
RUN mkdir -p /var/local/dMLPA-flask/uploads/
RUN mkdir -p /var/local/dMLPA-flask/flask_sessions/
RUN chmod 777 /var/local/dMLPA-flask/logs/
RUN chmod 777 /var/local/dMLPA-flask/uploads/
RUN chmod 777 /var/local/dMLPA-flask/flask_sessions/
USER $CONTAINER_USER_ID
RUN apt-get update && apt-get install -y wkhtmltopdf
# add app
COPY ["dMLPA-flask", "requirements.txt", "tests", "wsgi.py", \
"pytest.ini", ".coverage", "docs", "gunicorn.conf.py", "./"]
COPY ["test_data/", "../test_data/"]
EXPOSE 5000
# run server
CMD ["gunicorn", "wsgi:app"]