diff --git a/Dockerfile b/Dockerfile index c5230499..982b64a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -FROM ubuntu:21.04 +FROM ubuntu:22.04 LABEL maintainer="Piero Toffanin " ARG TEST_BUILD @@ -10,20 +10,10 @@ ENV PYTHONUNBUFFERED=1 ENV PYTHONPATH=$WORKDIR ENV PROJ_LIB=/usr/share/proj ENV NODE_MAJOR=20 +ENV RELEASE_CODENAME=jammy #### Common setup #### -# Old-releases for 21.04 -COPY < /etc/apt/apt.conf.d/80-retries # Set timezone to UTC echo "UTC" > /etc/timezone # Build-time dependencies apt-get -qq update apt-get -qq install -y --no-install-recommends curl - apt-get install -y ca-certificates gnupg + apt-get install -y ca-certificates gnupg software-properties-common + # Enable universe, for pdal + add-apt-repository universe + # Python 3.9 support + add-apt-repository ppa:deadsnakes/ppa # Node.js deb source - mkdir -p /etc/apt/keyrings - curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg - echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/nodesource.gpg + echo "deb https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" > /etc/apt/sources.list.d/nodesource.list + # Postgres 13 + # curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg + # echo "deb http://apt.postgresql.org/pub/repos/apt $RELEASE_CODENAME-pgdg main" > /etc/apt/sources.list.d/postgresql.list # Update package list - apt-get -qq update + apt-get update # Install common deps, starting with NodeJS apt-get -qq install -y nodejs - # Python3, GDAL, PDAL, nginx, letsencrypt, psql - apt-get -qq install -y --no-install-recommends \ - python3 python3-pip python3-setuptools python3-wheel git binutils libproj-dev gdal-bin pdal \ - libgdal-dev python3-gdal nginx certbot gettext-base cron postgresql-client-13 gettext tzdata - # Python3 with priority 1 (default) - update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1 + # Python3.9, GDAL, PDAL, nginx, letsencrypt, psql + apt-get install -y --no-install-recommends \ + python3.9 python3.9-venv git binutils libproj-dev gdal-bin pdal \ + libgdal-dev nginx certbot gettext-base cron postgresql-client gettext tzdata + # Create virtualenv + python3.9 -m venv $WORKDIR/venv +EOT + +# Modify PATH to prioritize venv, effectively activating venv +ENV PATH="$WORKDIR/venv/bin:$PATH" + +RUN <