From 3c5a05bed4ca8618e142b5382608d05dfca3565f Mon Sep 17 00:00:00 2001 From: Linus Miller Date: Fri, 28 Aug 2020 20:10:40 +0200 Subject: [PATCH] add docker-compose with postgres --- docker-compose.yml | 20 ++++++++++++++++++++ docker/postgres/01-schema.sql | 0 docker/postgres/02-data.sql | 0 docker/postgres/dump.sh | 29 +++++++++++++++++++++++++++++ server/config/postgres.js | 22 +++++++++------------- 5 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 docker-compose.yml create mode 100644 docker/postgres/01-schema.sql create mode 100644 docker/postgres/02-data.sql create mode 100755 docker/postgres/dump.sh diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c3372b1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,20 @@ +version: '3.7' + +volumes: + postgres: + +services: + postgres: + image: postgres:12-alpine + restart: always + environment: + - POSTGRES_DB=journey + - POSTGRES_USER=journey + - POSTGRES_PASSWORD=journey + - PGDATA=/var/lib/postgresql/data/volume + ports: + - 5432:5432 + volumes: + - ./docker/postgres/01-schema.sql:/docker-entrypoint-initdb.d/01-schema.sql + - ./docker/postgres/02-data.sql:/docker-entrypoint-initdb.d/02-data.sql + - postgres:/var/lib/postgresql/data/volume diff --git a/docker/postgres/01-schema.sql b/docker/postgres/01-schema.sql new file mode 100644 index 0000000..e69de29 diff --git a/docker/postgres/02-data.sql b/docker/postgres/02-data.sql new file mode 100644 index 0000000..e69de29 diff --git a/docker/postgres/dump.sh b/docker/postgres/dump.sh new file mode 100755 index 0000000..ae881be --- /dev/null +++ b/docker/postgres/dump.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +script_dir=$(dirname $(readlink -f "$0")) + +SCHEMA=true +DATA=true + +while getopts "as" opt; do + case $opt in + "a") + SCHEMA=false + ;; + "s") + DATA=false + ;; + esac +done + +if [ $SCHEMA = "true" ]; then + echo -n "dumping schema..." + docker-compose exec -T postgres pg_dump -U journey -d journey -s -O > $script_dir/01-schema.sql + echo " done!" +fi + +if [ $DATA = "true" ]; then + echo -n "dumping data..." + docker-compose exec -T postgres pg_dump -U journey -d journey -a -O > $script_dir/02-data.sql + echo " done!" +fi diff --git a/server/config/postgres.js b/server/config/postgres.js index 99220eb..7cca1fa 100644 --- a/server/config/postgres.js +++ b/server/config/postgres.js @@ -1,15 +1,11 @@ -'use strict' +import env from './env' -const defaults = { - user: 'newseri_supreme', // env var: PGUSER - database: 'newseri', // env var: PGDATABASE - password: 'oh-look-it-is-raining-news', // env var: PGPASSWORD - // host: '192.168.1.11', // Server hosting the postgres database - host: 'hq.bitmill.co', // Server hosting the postgres database - // port: 5432, // env var: PGPORT - port: 6543, // env var: PGPORT - max: 10, // max number of clients in the pool - idleTimeoutMillis: 30000, // how long a client is allowed to remain idle before being closed +export default { + database: 'journey', + user: 'journey', + password: 'journey', + host: env.POSTGRES_HOST, + port: 5432, + idleTimeoutMillis: 30000, + max: 10, } - -module.exports = Object.assign(defaults, {}[ENV])