Dockerfile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. FROM node:12 AS vendors
  2. COPY . /srv/umap
  3. WORKDIR /srv/umap
  4. RUN make installjs
  5. RUN make vendors
  6. FROM python:3.8-slim
  7. ENV PYTHONUNBUFFERED=1 \
  8. UMAP_SETTINGS=/srv/umap/umap/settings/docker.py \
  9. PORT=8000
  10. RUN mkdir -p /srv/umap/data && \
  11. mkdir -p /srv/umap/uploads
  12. COPY . /srv/umap
  13. COPY --from=vendors /srv/umap/umap/static/umap/vendors /srv/umap/umap/static/umap/vendors
  14. WORKDIR /srv/umap
  15. RUN apt-get update && \
  16. apt-get install -y --no-install-recommends \
  17. uwsgi \
  18. libpq-dev \
  19. build-essential \
  20. binutils \
  21. gdal-bin \
  22. libproj-dev \
  23. curl \
  24. git \
  25. gettext \
  26. sqlite3 \
  27. libffi-dev \
  28. libtiff5-dev \
  29. libjpeg62-turbo-dev \
  30. zlib1g-dev \
  31. libfreetype6-dev \
  32. liblcms2-dev \
  33. libwebp-dev \
  34. && \
  35. pip install --no-cache -r requirements-docker.txt && pip install . && \
  36. apt-get remove -y \
  37. binutils \
  38. libproj-dev \
  39. libffi-dev \
  40. libtiff5-dev \
  41. libjpeg62-turbo-dev \
  42. zlib1g-dev \
  43. libfreetype6-dev \
  44. liblcms2-dev \
  45. libwebp-dev \
  46. && \
  47. apt-get autoremove -y && \
  48. apt-get clean && \
  49. rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
  50. # Add Tini
  51. ENV TINI_VERSION v0.14.0
  52. ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
  53. RUN chmod +x /tini
  54. EXPOSE 8000
  55. ENTRYPOINT ["/tini", "--", "/srv/umap/docker-entrypoint.sh"]
  56. CMD ["/srv/umap/docker-entrypoint.sh"]