FROM ubuntu:16.04 MAINTAINER Vaclav Petras # system environment ENV DEBIAN_FRONTEND noninteractive # GRASS GIS compile dependencies RUN apt-get update \ && apt-get install -y --install-recommends \ autoconf2.13 \ autotools-dev \ bison \ flex \ g++ \ gettext \ libblas-dev \ libbz2-dev \ libcairo2-dev \ libfftw3-dev \ libfreetype6-dev \ libgdal-dev \ libgeos-dev \ libglu1-mesa-dev \ libjpeg-dev \ liblapack-dev \ liblas-c-dev \ libncurses5-dev \ libnetcdf-dev \ libpng-dev \ libpq-dev \ libproj-dev \ libreadline-dev \ libsqlite3-dev \ libtiff-dev \ libxmu-dev \ make \ netcdf-bin \ proj-bin \ python \ python-dev \ python-numpy \ python-pil \ python-ply \ unixodbc-dev \ zlib1g-dev \ && apt-get autoremove \ && apt-get clean RUN mkdir /code RUN mkdir /code/grass # add repository files to the image COPY . /code/grass WORKDIR /code/grass # install GRASS GIS RUN ./configure \ --enable-largefile=yes \ --with-nls \ --with-cxx \ --with-readline \ --with-bzlib \ --with-pthread \ --with-proj-share=/usr/share/proj \ --with-geos=/usr/bin/geos-config \ --with-cairo \ --with-opengl-libs=/usr/include/GL \ --with-freetype=yes --with-freetype-includes="/usr/include/freetype2/" \ --with-sqlite=yes \ --with-liblas=yes --with-liblas-config=/usr/bin/liblas-config \ && make && make install && ldconfig # enable simple grass command regardless of version number RUN ln -s /usr/local/bin/grass* /usr/local/bin/grass # create a user RUN useradd -m -U grass VOLUME ["/data"] # switch the user USER grass WORKDIR /data