2021-06-28 16:16:14 -04:00
|
|
|
FROM ubuntu:20.04
|
|
|
|
|
|
|
|
# Install packages
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
|
build-essential \
|
|
|
|
make \
|
|
|
|
gcc \
|
|
|
|
git \
|
|
|
|
unzip \
|
|
|
|
wget \
|
|
|
|
python3-dev \
|
|
|
|
python3-pip
|
|
|
|
|
|
|
|
# tippeanoe
|
|
|
|
ENV TZ=America/Los_Angeles
|
|
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
RUN apt-get install -y software-properties-common libsqlite3-dev zlib1g-dev
|
|
|
|
RUN apt-add-repository -y ppa:git-core/ppa
|
|
|
|
RUN mkdir -p /tmp/tippecanoe-src && git clone https://github.com/mapbox/tippecanoe.git /tmp/tippecanoe-src
|
|
|
|
WORKDIR /tmp/tippecanoe-src
|
|
|
|
RUN /bin/sh -c make && make install
|
|
|
|
|
|
|
|
## gdal
|
|
|
|
RUN add-apt-repository ppa:ubuntugis/ppa
|
|
|
|
RUN apt-get -y install gdal-bin
|
|
|
|
|
2022-01-10 16:43:56 -05:00
|
|
|
# Python package installation using poetry. See:
|
|
|
|
# https://stackoverflow.com/questions/53835198/integrating-python-poetry-with-docker
|
|
|
|
ENV PYTHONFAULTHANDLER=1 \
|
|
|
|
PYTHONUNBUFFERED=1 \
|
|
|
|
PYTHONHASHSEED=random \
|
|
|
|
PIP_NO_CACHE_DIR=off \
|
|
|
|
PIP_DISABLE_PIP_VERSION_CHECK=on \
|
|
|
|
PIP_DEFAULT_TIMEOUT=100 \
|
|
|
|
POETRY_VERSION=1.1.12
|
|
|
|
|
2021-07-20 14:55:39 -04:00
|
|
|
WORKDIR /data-pipeline
|
2022-01-10 16:43:56 -05:00
|
|
|
COPY poetry.lock /data-pipeline/
|
|
|
|
|
|
|
|
RUN pip install "poetry==$POETRY_VERSION"
|
|
|
|
RUN poetry config virtualenvs.create false \
|
|
|
|
&& poetry config virtualenvs.in-project false \
|
|
|
|
&& poetry install --no-dev --no-interaction --no-ansi
|
2021-06-28 16:16:14 -04:00
|
|
|
|
2022-01-10 16:43:56 -05:00
|
|
|
# Copy all project files into the container
|
|
|
|
COPY . /data-pipeline
|
2021-09-14 14:15:34 -04:00
|
|
|
|
2021-11-01 18:05:05 -04:00
|
|
|
CMD python3 -m data_pipeline.application data-full-run --check -s aws
|