umap/Dockerfile
Nikita Klyshko 0cffe1e174
Closes #1: Add docker environment for development and production (#12)
* Added docker support

* Remove erroring line for man

* Requirements.txt has been removed

* Prevent not displaying error

* Use latest Node JS LTS

* Removed suspended phantomjs and allows for arm64

* Copy statement didn't work in build container

* Install tini with package manager to allow arm64

* Closes #1: Add docker environment for development and production

* Fix

---------

Co-authored-by: Remco Schoen <remco@dieselwalm.nl>
2023-04-15 16:04:21 +03:00

70 lines
1.4 KiB
Docker

FROM node:18 AS vendors
COPY . /srv/app
WORKDIR /srv/app
RUN make installjs
RUN make vendors
FROM python:3.8-slim as app_python
RUN apt-get update && \
apt-get install -y --no-install-recommends \
tini \
uwsgi \
libpq-dev \
build-essential \
binutils \
gdal-bin \
libproj-dev \
curl \
git \
gettext \
sqlite3 \
libffi-dev \
libtiff5-dev \
libjpeg62-turbo-dev \
zlib1g-dev \
libfreetype6-dev \
liblcms2-dev \
libwebp-dev
ENV PYTHONUNBUFFERED=1 \
UMAP_SETTINGS=/srv/app/umap/settings/docker.py \
PORT=8000
COPY . /srv/app
RUN mkdir -p /srv/app/data && \
mkdir -p /srv/app/uploads
COPY --from=vendors /srv/app/umap/static/umap/vendors /srv/app/umap/static/umap/vendors
WORKDIR /srv/app
RUN pip install --no-cache -r requirements-docker.txt && pip install .
RUN apt-get remove -y \
binutils \
libproj-dev \
libffi-dev \
libtiff5-dev \
libjpeg62-turbo-dev \
zlib1g-dev \
libfreetype6-dev \
liblcms2-dev \
libwebp-dev \
&& \
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
EXPOSE 8000
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["/srv/app/docker-entrypoint.sh"]
FROM app_python as app_python_debug
WORKDIR /srv/app
RUN pip install debugpy==1.6.7