You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.3 KiB
Bash

#!/bin/bash
# Start PostgreSQL container for development
echo "Starting PostgreSQL container for Know Foolery development..."
# Stop and remove existing container if it exists
docker stop knowfoolery-postgres 2>/dev/null || true
docker rm knowfoolery-postgres 2>/dev/null || true
# Start PostgreSQL container
docker run -d \
--name knowfoolery-postgres \
-e POSTGRES_DB=knowfoolery \
-e POSTGRES_USER=knowfoolery \
-e POSTGRES_PASSWORD=dev-password-2024 \
-p 5432:5432 \
-v knowfoolery_postgres_data:/var/lib/postgresql/data \
postgres:15-alpine
echo "Waiting for PostgreSQL to be ready..."
sleep 10
# Check if PostgreSQL is ready
until docker exec knowfoolery-postgres pg_isready -U knowfoolery -d knowfoolery; do
echo "PostgreSQL is not ready yet. Waiting..."
sleep 2
done
echo "PostgreSQL is ready!"
# Initialize database with our schema
echo "Initializing database schema..."
docker exec -i knowfoolery-postgres psql -U knowfoolery -d knowfoolery < ../infrastructure/docker/init-db.sql
echo "PostgreSQL setup complete!"
echo "Database URL: postgres://knowfoolery:dev-password-2024@localhost:5432/knowfoolery?sslmode=disable"
echo ""
echo "To connect to the database:"
echo " docker exec -it knowfoolery-postgres psql -U knowfoolery -d knowfoolery"
echo ""
echo "To stop the database:"
echo " docker stop knowfoolery-postgres"