gisaf-database (latest)
Installation
docker pull /philorg/gisaf-database:latest
Or a better alternative to docker:
podman pull /philorg/gisaf-database:latest
sha256:8fa831a64f0dfb2ea3c85531ae7327db9b3209353704830e109eb15a6ff01fe4
About this package
PostGIS 3.5.0 spatial database extension with PostgreSQL 17 Alpine
Image layers
ADD alpine-minirootfs-3.20.3-x86_64.tar.gz / # buildkit |
CMD ["/bin/sh"] |
RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit |
ENV GOSU_VERSION=1.17 |
RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit |
ENV LANG=en_US.utf8 |
RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit |
ENV PG_MAJOR=17 |
ENV PG_VERSION=17.2 |
ENV PG_SHA256=82ef27c0af3751695d7f64e2d963583005fbb6a0c3df63d0e4b42211d7021164 |
ENV DOCKER_PG_LLVM_DEPS=llvm15-dev clang15 |
RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; wget -O config/config.guess 'https://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=7d3d27baf8107b630586c962c057e22149653deb'; wget -O config/config.sub 'https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=7d3d27baf8107b630586c962c057e22149653deb'; export LLVM_CONFIG="/usr/lib/llvm15/bin/llvm-config"; export CLANG=clang-15; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit |
RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit |
RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit |
ENV PGDATA=/var/lib/postgresql/data |
RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit |
VOLUME [/var/lib/postgresql/data] |
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit |
RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit |
ENTRYPOINT ["docker-entrypoint.sh"] |
STOPSIGNAL SIGINT |
EXPOSE map[5432/tcp:{}] |
CMD ["postgres"] |
LABEL maintainer=PostGIS Project - https://postgis.net org.opencontainers.image.description=PostGIS 3.5.0 spatial database extension with PostgreSQL 17 Alpine org.opencontainers.image.source=https://github.com/postgis/docker-postgis |
ENV POSTGIS_VERSION=3.5.0 |
ENV POSTGIS_SHA256=a47b8415ab88437390eba28e51b993cf0a2357057c277eea00378b8b76ab2316 |
RUN /bin/sh -c set -eux && apk add --no-cache --virtual .fetch-deps ca-certificates openssl tar && wget -O postgis.tar.gz "https://github.com/postgis/postgis/archive/${POSTGIS_VERSION}.tar.gz" && echo "${POSTGIS_SHA256} *postgis.tar.gz" | sha256sum -c - && mkdir -p /usr/src/postgis && tar --extract --file postgis.tar.gz --directory /usr/src/postgis --strip-components 1 && rm postgis.tar.gz && apk add --no-cache --virtual .build-deps gdal-dev geos-dev proj-dev proj-util sfcgal-dev $DOCKER_PG_LLVM_DEPS autoconf automake cunit-dev file g++ gcc gettext-dev git json-c-dev libtool libxml2-dev make pcre2-dev perl protobuf-c-dev && cd /usr/src/postgis && gettextize && ./autogen.sh && ./configure --enable-lto && make -j$(nproc) && make install && projsync --system-directory --file ch_swisstopo_CHENyx06_ETRS && projsync --system-directory --file us_noaa_eshpgn && projsync --system-directory --file us_noaa_prvi && projsync --system-directory --file us_noaa_wmhpgn && mkdir /tempdb && chown -R postgres:postgres /tempdb && su postgres -c 'pg_ctl -D /tempdb init' && su postgres -c 'pg_ctl -D /tempdb -c -l /tmp/logfile -o '-F' start ' && cd regress && make -j$(nproc) check RUNTESTFLAGS=--extension PGUSER=postgres && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis;"' && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_raster;"' && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_sfcgal;"' && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS fuzzystrmatch; --needed for postgis_tiger_geocoder "' && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS address_standardizer;"' && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS address_standardizer_data_us;"' && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;"' && su postgres -c 'psql -c "CREATE EXTENSION IF NOT EXISTS postgis_topology;"' && su postgres -c 'psql -t -c "SELECT version();"' >> /_pgis_full_version.txt && su postgres -c 'psql -t -c "SELECT PostGIS_Full_Version();"' >> /_pgis_full_version.txt && su postgres -c 'psql -t -c "\dx"' >> /_pgis_full_version.txt && su postgres -c 'pg_ctl -D /tempdb --mode=immediate stop' && rm -rf /tempdb && rm -rf /tmp/logfile && rm -rf /tmp/pgis_reg && apk add --no-cache --virtual .postgis-rundeps gdal geos proj sfcgal json-c libstdc++ pcre2 protobuf-c ca-certificates && cd / && rm -rf /usr/src/postgis && apk del .fetch-deps .build-deps && cat /_pgis_full_version.txt # buildkit |
COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/10_postgis.sh # buildkit |
COPY ./update-postgis.sh /usr/local/bin # buildkit |
ENV POSTGRES_USER gisaf |
ENV POSTGRES_PASSWORD secret |
Labels
Key | Value |
---|---|
io.buildah.version | 1.38.0 |
maintainer | PostGIS Project - https://postgis.net |
org.opencontainers.image.description | PostGIS 3.5.0 spatial database extension with PostgreSQL 17 Alpine |
org.opencontainers.image.source | https://github.com/postgis/docker-postgis |