FROM python:3.8-buster ARG UMAP_VERSION=1.2.1 ENV PYTHONUNBUFFERED=1 \ UMAP_SETTINGS=/srv/umap/settings.py \ PORT=8000 # Create a user account and group to run uMap RUN mkdir -p /srv/umap/{data,uploads} && \ chown -R 10001:10001 /srv/umap && \ groupadd --gid 10001 umap && \ useradd --no-create-home --uid 10001 --gid 10001 --home-dir /srv/umap umap # Install dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ binutils \ libproj-dev \ gdal-bin \ build-essential \ curl \ libpq-dev \ postgresql-client \ gettext \ libffi-dev \ libtiff5-dev \ libjpeg62-turbo-dev \ zlib1g-dev \ libfreetype6-dev \ liblcms2-dev \ libwebp-dev \ unzip && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* WORKDIR /srv/umap COPY requirements-docker.txt . # Get uMap RUN pip install umap-project==${UMAP_VERSION} # Install Docker dependencies RUN pip install -r requirements-docker.txt COPY entrypoint.sh . COPY settings.py . RUN chmod +x entrypoint.sh RUN chown -R umap:umap . USER umap EXPOSE 8000 ENTRYPOINT [ "/srv/umap/entrypoint.sh" ] CMD [ "umap", "runserver", "0.0.0.0:8000" ]