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