|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | | -set pipefail -euo |
4 | | - |
5 | 3 | SOURCE_DIR=`dirname "${BASH_SOURCE[0]}"` |
| 4 | + |
| 5 | +source "$SOURCE_DIR/env-postgres.sh" |
| 6 | + |
6 | 7 | source "$SOURCE_DIR/common.sh" |
7 | 8 |
|
8 | | -CONTAINER_NAME=pgsql-${PG_VERSION}-metabase |
9 | | -DB_NAME=metabase |
10 | | -DB_USER=metabase |
11 | | -DB_PASSWORD=Password1234 |
12 | | -HOST_PORT=${PGSQL_PORT:-5432} |
13 | | -DATA_DIR=${PGSQL_DATA_DIR:-$HOME/metabase-pgsql-data} |
| 9 | +DATA_DIR=${HOME}/metabase-pgsql-${PG_VERSION}-data |
14 | 10 | DOCKER_NETWORK=psql-metabase-network |
15 | 11 |
|
16 | | -kill-existing $CONTAINER_NAME |
17 | | -create-network-if-needed $DOCKER_NETWORK |
| 12 | +kill-existing ${CONTAINER_NAME} |
| 13 | +create-network-if-needed ${DOCKER_NETWORK} |
18 | 14 |
|
19 | 15 | docker run \ |
20 | 16 | --rm \ |
21 | 17 | -d \ |
22 | | - -p $HOST_PORT:5432 \ |
23 | | - --network $DOCKER_NETWORK \ |
24 | | - -e POSTGRES_USER=$DB_USER \ |
25 | | - -e POSTGRES_DB=$DB_NAME \ |
26 | | - -e POSTGRES_PASSWORD=$DB_PASSWORD \ |
| 18 | + -p ${HOST_PORT}:5432 \ |
| 19 | + --network ${DOCKER_NETWORK} \ |
| 20 | + -e POSTGRES_USER=${DB_USER} \ |
| 21 | + -e POSTGRES_DB=${DB_NAME} \ |
| 22 | + -e POSTGRES_PASSWORD=${DB_PASSWORD} \ |
27 | 23 | -e PGDATA=/var/lib/postgresql/data \ |
28 | | - -v $DATA_DIR:/var/lib/postgresql/data:Z \ |
29 | | - --name $CONTAINER_NAME \ |
| 24 | + -v ${DATA_DIR}:/var/lib/postgresql/data:Z \ |
| 25 | + --name ${CONTAINER_NAME} \ |
30 | 26 | postgres:${PG_VERSION} |
31 | 27 |
|
32 | 28 | cat << EOF |
33 | | -Started PostgreSQL ${PG_VERSION} port $HOST_PORT via Docker (container name: $CONTAINER_NAME). Data will be persisted in $DATA_DIR on the host machine (delete it to reset). |
34 | | -
|
35 | | -JDBC URL: jdbc:postgres://localhost:$HOST_PORT/$DB_NAME?user=$DB_USER |
36 | 29 |
|
37 | | -Environment variables for Metabase (to use as app DB): |
38 | | -MB_DB_TYPE=postgres MB_DB_DBNAME=$DB_NAME MB_DB_HOST=localhost MB_DB_PASS=$DB_PASSWORD MB_DB_PORT=$HOST_PORT MB_DB_USER=$DB_USER MB_POSTGRES_TEST_USER=$DB_USER |
| 30 | +Started PostgreSQL ${PG_VERSION} on port ${HOST_PORT} via Docker (container name: ${CONTAINER_NAME}). |
| 31 | +Data will be persisted in ${DATA_DIR} on the host machine (delete it to reset). |
39 | 32 |
|
40 | 33 | To open a SQL client session: |
41 | | -docker run -it --rm --network $DOCKER_NETWORK postgres:12 psql -h $CONTAINER_NAME -U $DB_USER |
42 | | -And enter the DB user password for $DB_USER: $DB_PASSWORD |
| 34 | +docker run -it --rm --network ${DOCKER_NETWORK} postgres:${PG_VERSION} psql -h ${CONTAINER_NAME} -U ${DB_USER} |
| 35 | +And enter the DB user password for ${DB_USER}: ${DB_PASSWORD} |
| 36 | +
|
| 37 | +JDBC URL: jdbc:postgres://localhost:${HOST_PORT}/${DB_NAME}?user=${DB_USER} |
| 38 | +
|
43 | 39 | EOF |
| 40 | + |
| 41 | +print-postgres-vars |
0 commit comments