Commit 8837adf0 authored by Ignacio's avatar Ignacio
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading

.dockerignore

0 → 100644
+2 −0
Original line number Diff line number Diff line
*
!rootfs

.gitlab-ci.yml

0 → 100644
+37 −0
Original line number Diff line number Diff line
include:
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/packaging.yml'
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment.yml'

stages:
  - package
  - test-package
  - deploy

variables:
  STACK: recreation

.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

0 → 100644
+36 −0
Original line number Diff line number Diff line
FROM mdillon/postgis:11-alpine

LABEL maintainer="info@redmic.es"

ENV PG_CRON_VERSION="1.1.4" \
	PG_PARTMAN_VERSION="4.0.0" \
	POSTGRES_WORK_MEM="1GB"

RUN apk add --no-cache --virtual \
		.build-deps \
		build-base \
		ca-certificates \
		openssl \
		tar && \
	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} && \
	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} && \
	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 /

README.md

0 → 100644
+4 −0
Original line number Diff line number Diff line
# AIS Postgres
Base de datos PostgreSQL para almacenar datos AIS.

La tabla principal está particionada por tiempo, de esta forma sólo se accede agiliza las búsquedas que impliquen consultas por fechas.

deploy/.env

0 → 100644
+3 −0
Original line number Diff line number Diff line
PGDATA=/var/lib/postgresql/data/db-files/
POSTGRES_DB=recreation
POSTGRES_WORK_MEM=1GB