hv2-api/Dockerfile

52 lines
990 B
Docker

FROM python:latest
LABEL Maintainer="Wolfgang Hottgenroth wolfgang.hottgenroth@icloud.com"
LABEL ImageName="registry.hottis.de/hv2/hv2-api"
ARG APP_DIR="/opt/app"
ARG CONF_DIR="${APP_DIR}/config"
RUN \
apt update && \
apt install -y postgresql-client-common && \
pip3 install psycopg2 && \
pip3 install dateparser && \
pip3 install connexion && \
pip3 install connexion[swagger-ui] && \
pip3 install uwsgi && \
pip3 install flask-cors && \
pip3 install python-jose[cryptography] && \
pip3 install loguru && \
pip3 install Cheetah3
RUN \
mkdir -p ${APP_DIR} && \
mkdir -p ${CONF_DIR} && \
useradd -d ${APP_DIR} -u 1000 user
COPY *.py ${APP_DIR}/
COPY openapi.yaml.tmpl ${APP_DIR}/
COPY methods.py.tmpl ${APP_DIR}/
COPY schema.json ${APP_DIR}/
COPY server.ini ${CONF_DIR}/
WORKDIR ${APP_DIR}
VOLUME ${CONF_DIR}
RUN \
python3 generate.py
USER 1000:1000
EXPOSE 5000
EXPOSE 9191
CMD [ "uwsgi", "./config/server.ini" ]