| set -e | |
| # Initialize Postgres data directory if empty | |
| if [ ! -d "/var/lib/postgresql/data/base" ]; then | |
| echo "Initializing database..." | |
| initdb -D /var/lib/postgresql/data | |
| fi | |
| # Start Postgres | |
| echo "Starting Postgres..." | |
| pg_ctl -D /var/lib/postgresql/data -o "-k /run/postgresql" -l /tmp/postgres.log start | |
| # Wait for Postgres to be ready | |
| until pg_isready -h localhost; do | |
| echo "Waiting for database..." | |
| sleep 1 | |
| done | |
| # Create plandex user and database if they don't exist | |
| echo "Setting up database and user..." | |
| psql -d postgres -c "CREATE USER plandex WITH PASSWORD 'plandex' SUPERUSER;" || true | |
| psql -d postgres -c "CREATE DATABASE plandex OWNER plandex;" || true | |
| # Run Plandex server | |
| echo "Starting Plandex server on port $PORT..." | |
| exec ./plandex-server | |