#!/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"