mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-17 14:08:29 +00:00
40 lines
1.1 KiB
Bash
Executable file
40 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
if [ -f "./.env" ]; then
|
|
export $(grep -v '^#' ./.env | xargs -d '\n') || true
|
|
fi
|
|
|
|
# Start Postgres
|
|
service postgresql start
|
|
|
|
# Create role if it doesn't exist
|
|
if ! PGPASSWORD="$PG_PASS" psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='${PG_USER}'" | grep -q 1; then
|
|
echo "Creating role ${PG_USER} with password from PG_PASS env variable..."
|
|
PGPASSWORD="$PG_PASS" psql -U postgres -c "CREATE ROLE ${PG_USER} WITH LOGIN SUPERUSER PASSWORD '${PG_PASS}';"
|
|
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 "$@"
|