11#! /bin/bash
22
3- CONTAINER_NAME=" postgres-local"
4- POSTGRES_VERSION=" 18"
3+ CONTAINER_NAME=" deploystack-postgres-local"
54POSTGRES_PASSWORD=" deploystack"
65POSTGRES_USER=" deploystack"
76POSTGRES_DB=" deploystack"
87HOST_PORT=" 5432"
98
10- # Pull the PostgreSQL 18 image
11- echo " Pulling PostgreSQL ${POSTGRES_VERSION} ..."
12- docker pull postgres:${POSTGRES_VERSION}
13-
149# Stop and remove existing container if it exists
1510if docker ps -a --format ' {{.Names}}' | grep -q " ^${CONTAINER_NAME} $" ; then
1611 echo " Stopping and removing existing container..."
1712 docker stop ${CONTAINER_NAME} 2> /dev/null
1813 docker rm ${CONTAINER_NAME} 2> /dev/null
1914fi
2015
21- # Start PostgreSQL container
22- echo " Starting PostgreSQL ${POSTGRES_VERSION} ..."
16+ # Start PostgreSQL container (same config as docker-compose.yml)
17+ echo " Starting PostgreSQL 18 ..."
2318docker run -d \
2419 --name ${CONTAINER_NAME} \
25- -e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
26- -e POSTGRES_USER=${POSTGRES_USER} \
2720 -e POSTGRES_DB=${POSTGRES_DB} \
21+ -e POSTGRES_USER=${POSTGRES_USER} \
22+ -e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
2823 -p ${HOST_PORT} :5432 \
29- -v postgres_data :/var/lib/postgresql/data \
30- postgres:${POSTGRES_VERSION}
24+ -v deploystack_postgres_data :/var/lib/postgresql/data \
25+ postgres:18-alpine
3126
3227# Wait for PostgreSQL to be ready
3328echo " Waiting for PostgreSQL to be ready..."
34- sleep 3
29+ for i in {1..30}; do
30+ if docker exec ${CONTAINER_NAME} pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB} > /dev/null 2>&1 ; then
31+ echo " "
32+ echo " PostgreSQL 18 is running!"
33+ echo " "
34+ echo " Connection details:"
35+ echo " Host: localhost"
36+ echo " Port: ${HOST_PORT} "
37+ echo " User: ${POSTGRES_USER} "
38+ echo " Password: ${POSTGRES_PASSWORD} "
39+ echo " Database: ${POSTGRES_DB} "
40+ echo " "
41+ echo " Connect with: psql -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB} "
42+ exit 0
43+ fi
44+ sleep 1
45+ done
3546
36- # Check if container is running
37- if docker ps --format ' {{.Names}}' | grep -q " ^${CONTAINER_NAME} $" ; then
38- echo " "
39- echo " PostgreSQL ${POSTGRES_VERSION} is running!"
40- echo " Connection details:"
41- echo " Host: localhost"
42- echo " Port: ${HOST_PORT} "
43- echo " User: ${POSTGRES_USER} "
44- echo " Password: ${POSTGRES_PASSWORD} "
45- echo " Database: ${POSTGRES_DB} "
46- echo " "
47- echo " Connect with: psql -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB} "
48- else
49- echo " Failed to start PostgreSQL. Check logs with: docker logs ${CONTAINER_NAME} "
50- exit 1
51- fi
47+ echo " Failed to start PostgreSQL. Check logs with: docker logs ${CONTAINER_NAME} "
48+ exit 1
0 commit comments