1
- FROM ubuntu:focal
2
-
3
- FROM opendatacube/geobase:wheels-3.0.4 as env_builder
4
- ARG py_env_path=/env
5
-
1
+ FROM osgeo/gdal:ubuntu-small-3.3.1
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive \
4
+ LC_ALL=C.UTF-8 \
5
+ LANG=C.UTF-8 \
6
+ TINI_VERSION=v0.19.0 \
7
+ TZ=UTC \
8
+ RPY2_CFFI_MODE=ABI
6
9
# set rpy2 to ABI mode, since R is installed after rpy2
7
- ENV RPY2_CFFI_MODE=ABI
8
-
9
- # install required python libraries
10
- RUN mkdir -p /conf
11
- RUN pip3 install --upgrade pip
12
- COPY requirements.txt /conf/
13
- RUN env-build-tool new /conf/requirements.txt ${py_env_path} /wheels
14
10
15
- # install ODC
16
- FROM opendatacube/geobase:runner-3.0.4
17
- ARG py_env_path=/env
11
+ ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
12
+ RUN chmod +x /tini
13
+
14
+ RUN apt-get update && \
15
+ apt-get install -y \
16
+ build-essential \
17
+ git \
18
+ # For Psycopg2
19
+ libpq-dev python3-dev \
20
+ python3-pip \
21
+ wget \
22
+ && apt-get autoclean \
23
+ && apt-get autoremove \
24
+ && rm -rf /var/lib/{apt,dpkg,cache,log}
18
25
19
- COPY --chown=1000:100 --from=env_builder $py_env_path $py_env_path
20
- COPY --from=env_builder /bin/tini /bin/tini
21
-
22
- RUN export GDAL_DATA=$(gdal-config --datadir)
23
- ENV LC_ALL=C.UTF-8 \
24
- PATH="/env/bin:$PATH"
26
+ COPY requirements.txt /conf/
27
+ # COPY products.csv /conf/
28
+ RUN pip3 install --no-cache-dir --requirement /conf/requirements.txt
25
29
26
30
RUN useradd -m -s /bin/bash -N jovyan -g 100 -u 1000 \
27
31
&& chown jovyan /home/jovyan \
@@ -46,35 +50,34 @@ RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \
46
50
&& locale-gen en_US.utf8 \
47
51
&& /usr/sbin/update-locale LANG=en_US.UTF-8
48
52
49
- # set env variables for noninteractive
50
- ENV LC_ALL en_US.UTF-8
51
- ENV LANG en_US.UTF-8
52
- ENV TZ UTC
53
-
54
53
# install R and littler, and create a link for littler in /usr/local/bin
55
54
# Default CRAN repo is now set by R itself, and littler knows about it too
56
55
# r-cran-docopt is not currently in c2d4u so we install from source
57
56
ARG DEBIAN_FRONTEND=noninteractive
58
57
RUN apt-get update \
59
58
&& apt-get install -y --no-install-recommends \
60
59
littler \
61
- r-base \
62
- r-base-dev \
63
- r-recommended \
64
- && ln -s /usr/lib/R/site-library/littler/examples/install.r /usr/local/bin/install.r \
65
- && ln -s /usr/lib/R/site-library/littler/examples/install2.r /usr/local/bin/install2.r \
66
- && ln -s /usr/lib/R/site-library/littler/examples/installGithub.r /usr/local/bin/installGithub.r \
67
- && ln -s /usr/lib/R/site-library/littler/examples/testInstalled.r /usr/local/bin/testInstalled.r \
68
- && install.r docopt \
69
- && rm -rf /tmp/downloaded_packages/ /tmp/*.rds \
70
- && rm -rf /var/lib/apt/lists/*
60
+ r-base \
61
+ r-base-dev \
62
+ r-recommended \
63
+ && ln -s /usr/lib/R/site-library/littler/examples/install.r /usr/local/bin/install.r \
64
+ && ln -s /usr/lib/R/site-library/littler/examples/install2.r /usr/local/bin/install2.r \
65
+ && ln -s /usr/lib/R/site-library/littler/examples/installGithub.r /usr/local/bin/installGithub.r \
66
+ && ln -s /usr/lib/R/site-library/littler/examples/testInstalled.r /usr/local/bin/testInstalled.r \
67
+ && install.r docopt \
68
+ && rm -rf /tmp/downloaded_packages/ /tmp/*.rds \
69
+ && rm -rf /var/lib/apt/lists/*
71
70
72
71
# install system dependencies for suite of spatial R packages
73
72
ARG DEBIAN_FRONTEND=noninteractive
74
- RUN apt-get update&&apt-get install -y apt-utils pkg-config
75
- RUN apt-get install -y libsqlite3-dev libudunits2-dev libssl-dev libmagick++-dev libcurl4-openssl-dev \
76
- libprotobuf-dev protobuf-compiler libv8-dev libjq-dev
77
- RUN apt-get update&&apt-get install -y --no-install-recommends r-cran-reticulate
73
+ RUN add-apt-repository --yes "ppa:ubuntugis/ppa" \
74
+ && apt-get update \
75
+ && apt-get install -y apt-utils pkg-config \
76
+ && apt-get install -y libsqlite3-dev libssl-dev \
77
+ libmagick++-dev libcurl4-openssl-dev \
78
+ libprotobuf-dev protobuf-compiler libv8-dev libjq-dev \
79
+ libudunits2-dev libgdal-dev libgeos-dev libproj-dev \
80
+ && apt-get install -y --no-install-recommends r-cran-reticulate
78
81
79
82
# install R packages
80
83
RUN R -e 'install.packages(c("IRkernel", "rgdal", "sp", "raster", "sf", "basemaps", "ggplot2", "mapview", "mapedit", "devtools", "usethis", "testthat", "roxygen2", "geojsonio", "gdalUtils"))'
@@ -94,6 +97,6 @@ WORKDIR /notebooks
94
97
# CMD bash -c " && rstudio-server start"
95
98
# RUN "/init"
96
99
97
- ENTRYPOINT ["/bin/ tini" , "--" ] # "entrypoint.sh"
98
- CMD ["jupyter" , "notebook" , "--allow-root" , "--ip='0.0.0.0'" "--NotebookApp.token='secretpassword'" ]
100
+ ENTRYPOINT ["/tini" , "--" ]
101
+ CMD ["jupyter" , "notebook" , "--allow-root" , "--ip='0.0.0.0'" , "--NotebookApp.token='secretpassword'" ]
99
102
# CMD ["rstudio-server start"]
0 commit comments