1
0
Fork 0
docker-umap/Dockerfile

41 lines
1.4 KiB
Docker

FROM python:3.8-slim
RUN set -eux && \
mkdir -p /srv/umap /etc/umap /srv/umap/data /srv/umap/uploads && \
useradd -N umap -d /srv/umap/ -s /bin/bash && \
chown -R umap:users /etc/umap /srv/umap && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
python3-virtualenv \
build-essential \
libpq-dev \
python3.9-dev \
gdal-bin \
uwsgi \
uwsgi-plugin-python3 \
&& \
su - umap -c "virtualenv /srv/umap/venv --python=/usr/bin/python3.9" && \
su - umap -c "source /srv/umap/venv/bin/activate; pip install umap-project django-environ==0.9.0 django-redis==4.7.0" && \
sed -i 's/ value="{{ q|default:"" }}"//' /srv/umap/venv/lib/python3.9/site-packages/umap/templates/umap/search_bar.html && \
apt-get purge -y build-essential libpq-dev python3.9-dev && \
apt-get autoremove --purge -y && \
rm -rf /var/lib/apt/lists/*
RUN sed -i 's/must_revalidate/no_cache/' /srv/umap/venv/lib/python3.9/site-packages/umap/urls.py
ADD umap.conf /etc/umap/umap.conf
ADD uwsgi.ini /srv/umap/uwsgi.ini
ADD drop-privileges.sh /srv/umap/drop-privileges.sh
ADD docker-entrypoint.sh /srv/umap/docker-entrypoint.sh
EXPOSE 80/tcp
# Add Tini
ENV TINI_VERSION v0.14.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
ENTRYPOINT ["/tini", "--"]
CMD ["/srv/umap/docker-entrypoint.sh"]