File: Dockerfile

package info (click to toggle)
stactools 0.5.3-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,796 kB
  • sloc: python: 4,498; xml: 554; sh: 395; makefile: 34
file content (41 lines) | stat: -rw-r--r-- 1,254 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
FROM continuumio/miniconda3 AS base
RUN conda update conda && conda install pip && conda clean -af
WORKDIR /opt/stactools
COPY environment.yml ./
RUN conda env update -f environment.yml -n base && conda clean -af
# For some pip env vars falsey means enable
ENV PIP_NO_BINARY rasterio
ENV PIP_NO_CACHE_DIR 0
ENTRYPOINT [ "python", "-m", "stactools.cli" ]


FROM base as dep_builder
# Some deps must be built (e.g. against the conda GDAL)
RUN apt-get update \
    && apt-get install -y gcc build-essential \
    && rm -rf /var/lib/apt/lists/*
COPY pyproject.toml ./
COPY src/stactools/core/__init__.py src/stactools/core/
# Install dependencies but remove the actual package
RUN pip install --prefix=/install .[s3] \
    && rm -r /install/lib/*/site-packages/stactools*


FROM base AS dev
# Install make for the docs build
RUN apt-get update \
    && apt-get install -y make build-essential \
    && rm -rf /var/lib/apt/lists/*
COPY --from=dep_builder /install /opt/conda
RUN conda install -c conda-forge pandoc && conda clean -af
COPY . ./
# pre-commit run --all-files fails w/o this line
RUN git init
RUN pip install -e .[dev,s3]


FROM base AS main
COPY --from=dep_builder /install /opt/conda
COPY src ./src
COPY pyproject.toml ./
RUN pip install .[s3]