mirror of
https://github.com/umap-project/umap.git
synced 2025-05-05 06:01:48 +02:00

* 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>
70 lines
1.4 KiB
Docker
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
|