You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
photovoter_deploy/Dockerfile.photovoter-backend

45 lines
1.4 KiB

FROM pythonmagick
ARG BACKEND_LOCATION="/opt"
ARG DATA_LOCATION="/srv/photovoter"
ARG USERNAME="changeme"
ARG USERPASS="CHANGEME"
ENV BACKEND_LOCATION=${BACKEND_LOCATION}
# Required for python-regexp dependency
RUN apt-get update && \
apt-get upgrade && \
apt-get install -y python3-dev gcc
# Pull backend
RUN mkdir --parents $DATA_LOCATION/original $DATA_LOCATION/image && \
cd $BACKEND_LOCATION && \
git clone --depth=1 https://git.iamonlyherefortheicecream.ml/w2/photovoter_backend.git
# Install backend requirements
RUN cd $BACKEND_LOCATION && \
pip install --no-input --no-cache-dir -r photovoter_backend/requirements.txt && \
pip install --no-input --no-cache-dir -r photovoter_backend/util/requirements.txt
# Clean up
RUN apt-get remove --autoremove --purge -y gcc python3-dev && \
rm -rf /var/lib/apt/lists/*
# Configure backend
RUN sed --in-place \
--expression 's#DATA_LOCATION = "/tmp/123"#DATA_LOCATION = "'$DATA_LOCATION'"#' \
--expression 's#"testbox/photovoter.dblite"#"'$DATA_LOCATION'/photovoter.dblite"#' \
--expression 's#CRED_USERNAME = "changeme"#CRED_USERNAME = "'$USERNAME'"#' \
--expression 's#CRED_PASSWORD = "CHANGEME"#CRED_PASSWORD = "'$USERPASS'"#' \
$BACKEND_LOCATION/photovoter_backend/config.py
EXPOSE 8000
WORKDIR ${BACKEND_LOCATION}/photovoter_backend
CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]