adding first version of docker images

This commit is contained in:
Simon Martín 2018-04-23 15:26:42 +02:00
parent 20b46a33cf
commit 55d2dcca04
2 changed files with 159 additions and 0 deletions

View File

@ -0,0 +1,76 @@
FROM ubuntu:xenial
# Use UTF8 to avoid encoding problems with pgsql
ENV LANG C.UTF-8
# Add external repos
RUN set -ex \
&& apt-get update \
&& apt-get install -y \
curl \
software-properties-common \
locales \
&& add-apt-repository -y ppa:ubuntu-toolchain-r/test \
&& add-apt-repository -y ppa:cartodb/postgresql-10 \
&& add-apt-repository -y ppa:cartodb/gis \
&& curl -sL https://deb.nodesource.com/setup_6.x | bash \
&& locale-gen en_US.UTF-8 \
&& update-locale LANG=en_US.UTF-8
# Install dependencies and PostGIS 2.4 from sources
RUN set -ex \
&& apt-get update \
&& apt-get install -y \
g++-4.9 \
gcc-4.9 \
git \
libcairo2-dev \
libgdal-dev \
libgdal1i \
libgdal20=2.2.2+dfsg-1~xenial1 \
libgeos-dev \
libgif-dev \
libjpeg8-dev \
libjson-c-dev \
libpango1.0-dev \
libpixman-1-dev \
libproj-dev \
libprotobuf-c-dev \
libxml2-dev \
make \
nodejs \
protobuf-c-compiler \
pkg-config \
wget \
postgresql-10=10.1.2+carto-1 \
postgresql-10-plproxy=2.8-1.pgdg16.04+1carto1 \
postgresql-10-postgis-2.4=2.4.1.6+carto-1 \
postgresql-10-postgis-2.4-scripts=2.4.1.6+carto-1 \
postgresql-10-postgis-scripts=2.4.1.6+carto-1 \
postgresql-client-10=10.1.2+carto-1 \
postgresql-client-common=187.pgdg16.04+1carto1 \
postgresql-common=187.pgdg16.04+1carto1 \
postgresql-contrib=10+187.pgdg16.04+1carto1 \
postgresql-plpython-10=10.1.2+carto-1 \
postgresql-server-dev-10=10.1.2+carto-1 \
postgis=2.4.1.6+carto-1 \
&& wget http://download.redis.io/releases/redis-4.0.8.tar.gz \
&& tar xvzf redis-4.0.8.tar.gz \
&& cd redis-4.0.8 \
&& make \
&& make install \
&& cd .. \
&& rm redis-4.0.8.tar.gz \
&& rm -R redis-4.0.8 \
&& apt-get purge -y wget protobuf-c-compiler \
&& apt-get autoremove -y
# Configure PostgreSQL
RUN set -ex \
&& echo "listen_addresses='*'" >> /etc/postgresql/10/main/postgresql.conf \
&& echo "local all all trust" > /etc/postgresql/10/main/pg_hba.conf \
&& echo "host all all 0.0.0.0/0 trust" >> /etc/postgresql/10/main/pg_hba.conf \
&& echo "host all all ::1/128 trust" >> /etc/postgresql/10/main/pg_hba.conf
WORKDIR /srv
EXPOSE 5858

View File

@ -0,0 +1,83 @@
FROM ubuntu:xenial
# Use UTF8 to avoid encoding problems with pgsql
ENV LANG C.UTF-8
# Add external repos
RUN set -ex \
&& apt-get update \
&& apt-get install -y \
curl \
software-properties-common \
locales \
&& add-apt-repository -y ppa:ubuntu-toolchain-r/test \
&& curl -sL https://deb.nodesource.com/setup_6.x | bash \
&& locale-gen en_US.UTF-8 \
&& update-locale LANG=en_US.UTF-8
# Install dependencies and PostGIS 2.4 from sources
RUN set -ex \
&& apt-get update \
&& apt-get install -y \
g++-4.9 \
gcc-4.9 \
git \
libcairo2-dev \
libgdal-dev \
libgdal1i \
libgeos-dev \
libgif-dev \
libjpeg8-dev \
libjson-c-dev \
libpango1.0-dev \
libpixman-1-dev \
libproj-dev \
libprotobuf-c-dev \
libxml2-dev \
make \
nodejs \
pkg-config \
postgresql-9.5 \
postgresql-plpython-9.5 \
postgresql-server-dev-9.5 \
protobuf-c-compiler \
redis-server \
wget \
&& wget http://download.osgeo.org/postgis/source/postgis-2.4.0.tar.gz \
&& tar xvfz postgis-2.4.0.tar.gz \
&& cd postgis-2.4.0 \
&& ./configure \
&& make \
&& make install \
&& cd .. \
&& rm -rf postgis-2.4.0 \
&& wget http://download.redis.io/releases/redis-4.0.8.tar.gz \
&& tar xvzf redis-4.0.8.tar.gz \
&& cd redis-4.0.8 \
&& make \
&& make install \
&& cd .. \
&& rm redis-4.0.8.tar.gz \
&& rm -R redis-4.0.8 \
&& apt-get purge -y wget protobuf-c-compiler \
&& apt-get autoremove -y
# Configure PostgreSQL
RUN set -ex \
&& echo "listen_addresses='*'" >> /etc/postgresql/9.5/main/postgresql.conf \
&& echo "local all all trust" > /etc/postgresql/9.5/main/pg_hba.conf \
&& echo "host all all 0.0.0.0/0 trust" >> /etc/postgresql/9.5/main/pg_hba.conf \
&& echo "host all all ::1/128 trust" >> /etc/postgresql/9.5/main/pg_hba.conf
WORKDIR /srv
EXPOSE 5858
CMD set -ex \
&& /etc/init.d/postgresql start \
&& node -v \
&& export NPROCS=1 \
&& export JOBS=1 \
&& export CXX=g++-4.9 \
&& npm install \
&& export PGUSER=postgres \
&& npm test