FROM qgis/qgis:3.40.2-bookworm # Set environment variables for QGIS ENV QGIS_PREFIX_PATH=/usr ENV QT_QPA_PLATFORM=offscreen ENV XDG_RUNTIME_DIR=/tmp/runtime-root # Set environment variables ## Prevents Python from writing pyc files to disc (equivalent to python -B option) ENV PYTHONDONTWRITEBYTECODE 1 ## Prevents Python from buffering stdout and stderr (equivalent to python -u option) ENV PYTHONUNBUFFERED=1 RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -yqq nano sed curl git wget libldap2-dev libsasl2-dev locales && apt autoremove && apt clean && \ rm -rf /var/lib/apt/lists/* # Set the locale RUN sed -i '/fr_FR.UTF-8/s/^# //g' /etc/locale.gen && \ locale-gen ENV LANG fr_FR.UTF-8 ENV LANGUAGE fr_FR:en ENV LC_ALL fr_FR.UTF-8 #### DJANGO ####### WORKDIR /code COPY . /code/ # Assuming somewhere on top there is already `python3-venv` installed # via system package manager, e.g. `apt-get install -y python3-venv` # Link local QGIS Python bindings and local python packages with Python virtual environment RUN python3 -m venv --system-site-packages /opt/venv ENV PATH="/opt/venv/bin:$PATH" # Below you can continue using `pip install` as normal RUN pip3 install --no-cache-dir -r requirements.txt RUN echo 'alias python=python3' >> ~/.bashrc # Clean all RUN apt-get autoremove -y \ && rm /etc/localtime \ && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ && dpkg-reconfigure -f noninteractive tzdata \ && apt-get clean \ && apt-get purge \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*