Loading .dockerignore +0 −1 Original line number Diff line number Diff line * !rootfs .gitlab-ci.yml +7 −24 Original line number Diff line number Diff line Loading @@ -5,33 +5,16 @@ include: - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/deployment.yml' - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/deployment-custom-image.yml' stages: - pre-package - package - test-package - post-package - deploy .deploy: variables: STACK: inspire .deploy-development: variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} environment: name: dev/${CI_PROJECT_NAME} .deploy-production: variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} AWS_REGION=${AWS_REGION} environment: name: pro/${CI_PROJECT_NAME} Dockerfile +31 −26 Original line number Diff line number Diff line FROM mdillon/postgis:11-alpine ARG POSTGIS_IMAGE_TAG="11-3.2-alpine" FROM postgis/postgis:${POSTGIS_IMAGE_TAG} LABEL maintainer="info@redmic.es" ENV PG_CRON_VERSION="1.1.4" \ PG_PARTMAN_VERSION="4.0.0" \ POSTGRES_WORK_MEM="1GB" ARG PG_CRON_VERSION="1.4.1" \ PG_PARTMAN_VERSION="4.6.0" \ BUILD_BASE_VERSION="0.5-r2" \ CLANG_VERSION="12.0.1-r1" \ LLVM_VERSION="12.0.1-r0" \ CA_CERTIFICATES_VERSION="20211220-r0" \ OPENSSL_VERSION="1.1.1l-r8" \ TAR_VERSION="1.34-r0" RUN apk add --no-cache --virtual \ .build-deps \ build-base=0.5-r1 \ ca-certificates=20190108-r0 \ openssl=1.1.1b-r1 \ tar=1.32-r0 && \ wget -O /pg_cron.tgz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz && \ tar xvzf /pg_cron.tgz && \ cd pg_cron-${PG_CRON_VERSION} && \ # hadolint ignore=DL3003 RUN apk add --no-cache --virtual .build-deps \ build-base="${BUILD_BASE_VERSION}" \ clang="${CLANG_VERSION}" \ llvm="${LLVM_VERSION}" \ ca-certificates="${CA_CERTIFICATES_VERSION}" \ openssl="${OPENSSL_VERSION}" \ tar="${TAR_VERSION}" && \ # install pg_cron wget -q -O pg_cron.tar.gz "https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz" && \ tar -xzf pg_cron.tar.gz && \ cd pg_cron-* && \ sed -i.bak -e 's/-Werror//g' Makefile && \ sed -i.bak -e 's/-Wno-implicit-fallthrough//g' Makefile && \ make && \ make install && \ cd .. && \ rm -rf pg_cron.tgz pg_cron-* && \ wget -O /pg_partman.tgz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz && \ tar xvzf /pg_partman.tgz && \ cd pg_partman-${PG_PARTMAN_VERSION} && \ cd .. ; \ # install pg_partman wget -q -O pg_partman.tar.gz "https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz" && \ tar -xzf pg_partman.tar.gz && \ cd pg_partman-* && \ make && \ make NO_BGW=1 install && \ cd .. && \ rm -rf pg_partman.tgz pg_partman-* && \ echo "shared_preload_libraries='pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "checkpoint_timeout = 10min" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "max_wal_size = 2GB" >> /usr/local/share/postgresql/postgresql.conf.sample && \ mv /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint-origin.sh COPY rootfs / cd .. ; \ # clean rm -rf pg_cron* pg_partman* && \ apk del .build-deps README.md +2 −3 Original line number Diff line number Diff line # AIS Postgres Base de datos PostgreSQL para almacenar datos AIS. # Inspire PostgreSQL La tabla principal está particionada por tiempo, de esta forma sólo se accede agiliza las búsquedas que impliquen consultas por fechas. Base de datos PostgreSQL para almacenar datos de servicios OGC clasificados bajo temáticas de la directiva INSPIRE deploy/.env +20 −2 Original line number Diff line number Diff line PGDATA=/var/lib/postgresql/data/db-files/ POSTGIS_IMAGE_TAG=11-3.2-alpine PG_CRON_VERSION=1.4.1 PG_PARTMAN_VERSION=4.6.0 BUILD_BASE_VERSION=0.5-r2 CLANG_VERSION=12.0.1-r1 LLVM_VERSION=12.0.1-r0 CA_CERTIFICATES_VERSION=20211220-r0 OPENSSL_VERSION=1.1.1l-r8 TAR_VERSION=1.34-r0 SHARED_PRELOAD_LIBRARIES=pg_cron CHECKPOINT_TIMEOUT=10min WORK_MEM=128MB MAX_WAL_SIZE=1GB POSTGRES_DB=inspire POSTGRES_WORK_MEM=1GB POSTGRES_USER=postgres POSTGRES_PASSWORD=changeme PGDATA=/var/lib/postgresql/data/db-files/ NETWORK_ALIAS=inspire-db DATA_VOL_NAME=inspire-postgres-vol Loading
.gitlab-ci.yml +7 −24 Original line number Diff line number Diff line Loading @@ -5,33 +5,16 @@ include: - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/deployment.yml' - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/deployment-custom-image.yml' stages: - pre-package - package - test-package - post-package - deploy .deploy: variables: STACK: inspire .deploy-development: variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} environment: name: dev/${CI_PROJECT_NAME} .deploy-production: variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} AWS_REGION=${AWS_REGION} environment: name: pro/${CI_PROJECT_NAME}
Dockerfile +31 −26 Original line number Diff line number Diff line FROM mdillon/postgis:11-alpine ARG POSTGIS_IMAGE_TAG="11-3.2-alpine" FROM postgis/postgis:${POSTGIS_IMAGE_TAG} LABEL maintainer="info@redmic.es" ENV PG_CRON_VERSION="1.1.4" \ PG_PARTMAN_VERSION="4.0.0" \ POSTGRES_WORK_MEM="1GB" ARG PG_CRON_VERSION="1.4.1" \ PG_PARTMAN_VERSION="4.6.0" \ BUILD_BASE_VERSION="0.5-r2" \ CLANG_VERSION="12.0.1-r1" \ LLVM_VERSION="12.0.1-r0" \ CA_CERTIFICATES_VERSION="20211220-r0" \ OPENSSL_VERSION="1.1.1l-r8" \ TAR_VERSION="1.34-r0" RUN apk add --no-cache --virtual \ .build-deps \ build-base=0.5-r1 \ ca-certificates=20190108-r0 \ openssl=1.1.1b-r1 \ tar=1.32-r0 && \ wget -O /pg_cron.tgz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz && \ tar xvzf /pg_cron.tgz && \ cd pg_cron-${PG_CRON_VERSION} && \ # hadolint ignore=DL3003 RUN apk add --no-cache --virtual .build-deps \ build-base="${BUILD_BASE_VERSION}" \ clang="${CLANG_VERSION}" \ llvm="${LLVM_VERSION}" \ ca-certificates="${CA_CERTIFICATES_VERSION}" \ openssl="${OPENSSL_VERSION}" \ tar="${TAR_VERSION}" && \ # install pg_cron wget -q -O pg_cron.tar.gz "https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz" && \ tar -xzf pg_cron.tar.gz && \ cd pg_cron-* && \ sed -i.bak -e 's/-Werror//g' Makefile && \ sed -i.bak -e 's/-Wno-implicit-fallthrough//g' Makefile && \ make && \ make install && \ cd .. && \ rm -rf pg_cron.tgz pg_cron-* && \ wget -O /pg_partman.tgz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz && \ tar xvzf /pg_partman.tgz && \ cd pg_partman-${PG_PARTMAN_VERSION} && \ cd .. ; \ # install pg_partman wget -q -O pg_partman.tar.gz "https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz" && \ tar -xzf pg_partman.tar.gz && \ cd pg_partman-* && \ make && \ make NO_BGW=1 install && \ cd .. && \ rm -rf pg_partman.tgz pg_partman-* && \ echo "shared_preload_libraries='pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "checkpoint_timeout = 10min" >> /usr/local/share/postgresql/postgresql.conf.sample && \ echo "max_wal_size = 2GB" >> /usr/local/share/postgresql/postgresql.conf.sample && \ mv /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint-origin.sh COPY rootfs / cd .. ; \ # clean rm -rf pg_cron* pg_partman* && \ apk del .build-deps
README.md +2 −3 Original line number Diff line number Diff line # AIS Postgres Base de datos PostgreSQL para almacenar datos AIS. # Inspire PostgreSQL La tabla principal está particionada por tiempo, de esta forma sólo se accede agiliza las búsquedas que impliquen consultas por fechas. Base de datos PostgreSQL para almacenar datos de servicios OGC clasificados bajo temáticas de la directiva INSPIRE
deploy/.env +20 −2 Original line number Diff line number Diff line PGDATA=/var/lib/postgresql/data/db-files/ POSTGIS_IMAGE_TAG=11-3.2-alpine PG_CRON_VERSION=1.4.1 PG_PARTMAN_VERSION=4.6.0 BUILD_BASE_VERSION=0.5-r2 CLANG_VERSION=12.0.1-r1 LLVM_VERSION=12.0.1-r0 CA_CERTIFICATES_VERSION=20211220-r0 OPENSSL_VERSION=1.1.1l-r8 TAR_VERSION=1.34-r0 SHARED_PRELOAD_LIBRARIES=pg_cron CHECKPOINT_TIMEOUT=10min WORK_MEM=128MB MAX_WAL_SIZE=1GB POSTGRES_DB=inspire POSTGRES_WORK_MEM=1GB POSTGRES_USER=postgres POSTGRES_PASSWORD=changeme PGDATA=/var/lib/postgresql/data/db-files/ NETWORK_ALIAS=inspire-db DATA_VOL_NAME=inspire-postgres-vol