#!/bin/bash set -e if [ -f "./.env" ]; then export $(grep -v '^#' ./.env | xargs -d '\n') || true fi # Check if PGRST_HOST starts with "localhost" if [[ "$PGRST_HOST" == localhost:* ]]; then echo "Starting PostgREST server locally..." # Generate PostgREST configuration in a writable directory POSTGREST_CONFIG_PATH="/tmp/postgrest.conf" echo "db-uri = \"${PGRST_DB_URI}\"" > "$POSTGREST_CONFIG_PATH" echo "db-pre-config = \"postgrest.pre_config\"" >> "$POSTGREST_CONFIG_PATH" echo "server-port = \"${PGRST_SERVER_PORT}\"" >> "$POSTGREST_CONFIG_PATH" # Starting PostgREST echo "Starting PostgREST..." postgrest "$POSTGREST_CONFIG_PATH" & else echo "Using external PostgREST at $PGRST_HOST." fi if [ -d "./server/dist" ]; then SETUP_CMD='npm run db:setup:prod' else SETUP_CMD='npm run db:setup' fi if [ -f "./.env" ]; then declare $(grep -v '^#' ./.env | xargs) fi if [ -z "$DATABASE_URL" ]; then ./server/scripts/wait-for-it.sh $PG_HOST:${PG_PORT:-5432} --strict --timeout=300 -- $SETUP_CMD else PG_HOST=$(echo "$DATABASE_URL" | awk -F'[/:@?]' '{print $6}') PG_PORT=$(echo "$DATABASE_URL" | awk -F'[/:@?]' '{print $7}') if [ -z "$DATABASE_PORT" ]; then DATABASE_PORT="5432" fi ./server/scripts/wait-for-it.sh "$PG_HOST:$PG_PORT" --strict --timeout=300 -- $SETUP_CMD fi exec "$@"