#!/usr/bin/env bash # Based on https://gist.github.com/bobmaerten/9329752 CONTAINER_NAME="penultimate-dev-postgres" function getContainerStatus(){ CONTAINER_ID=$(docker ps -a | grep -v Exit | grep $CONTAINER_NAME | awk '{print $1}') if [[ -z $CONTAINER_ID ]] ; then echo "Not running." return 1 else echo "Running in container: $CONTAINER_ID" return 0 fi } case "$1" in start) docker ps -a | grep -v Exit | grep -q $CONTAINER_NAME if [ $? -ne 0 ]; then docker run --rm -p 65432:5432 -v "/tmp/penultimate-dev-postgres-data:/var/lib/postgresql/data" -e POSTGRES_PASSWORD=penultimatedeveloper --name $CONTAINER_NAME -d postgres:13 fi getContainerStatus ;; stop) CONTAINER_ID=$(docker ps -a | grep -v Exit | grep $CONTAINER_NAME | awk '{print $1}') if [[ -n $CONTAINER_ID ]] ; then SRV=$(docker stop $CONTAINER_ID) if [ $? -eq 0 ] ; then echo 'Stopped.' fi fi ;; *) printf "Usage: `basename $0` {start|stop} \nStarts (or stops and deletes) a postegres docker container named $CONTAINER_NAME on port 65432, which the dev environment is expecting to find.\n\n" exit 1 ;; esac exit 0