summaryrefslogtreecommitdiff
path: root/makima/sh/start-postgres.sh
blob: 203b17861428c85f03f9528b2eec21b15116bc93 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
# Start PostgreSQL via Docker for local development

CONTAINER_NAME="makima-postgres"
POSTGRES_USER="makima"
POSTGRES_PASSWORD="makima_dev"
POSTGRES_DB="makima"
POSTGRES_PORT="5432"

# Check if container already exists
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
    echo "Container ${CONTAINER_NAME} exists. Starting..."
    docker start ${CONTAINER_NAME}
else
    echo "Creating new PostgreSQL container..."
    docker run -d \
        --name ${CONTAINER_NAME} \
        -e POSTGRES_USER=${POSTGRES_USER} \
        -e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
        -e POSTGRES_DB=${POSTGRES_DB} \
        -p ${POSTGRES_PORT}:5432 \
        -v makima_postgres_data:/var/lib/postgresql/data \
        postgres:16-alpine
fi

echo "Waiting for PostgreSQL to be ready..."
until docker exec ${CONTAINER_NAME} pg_isready -U ${POSTGRES_USER} 2>/dev/null; do
    sleep 1
done

echo "PostgreSQL is ready!"
echo "Connection URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:${POSTGRES_PORT}/${POSTGRES_DB}"