NocoBase / run.sh
eienmojiki's picture
Update run.sh
cc79978 verified
#!/bin/bash
set -e
export DB_DIALECT="postgres"
export DB_HOST="localhost"
export DB_PORT="5432"
export TZ="UTC"
export APP_PORT="4444"
export NODE_OPTIONS=--openssl-legacy-provider
export APP_KEY="${APP_KEY:-PLEASE_SET_SECRET_APP_KEY}"
export DB_DATABASE="${DB_DATABASE:-nocobase_db}"
export DB_USER="${DB_USER:-nocobase_user}"
export DB_PASSWORD="${DB_PASSWORD:-nocobase_password}"
echo "--- INITIALIZING ---"
service postgresql start
until su - postgres -c "pg_isready"; do sleep 1; done
if ! su - postgres -c "psql -lqt" | cut -d \| -f 1 | grep -qw "$DB_DATABASE"; then
echo "Database '$DB_DATABASE' not found. Creating..."
su - postgres -c "psql -c \"CREATE USER $DB_USER WITH PASSWORD '$DB_PASSWORD';\"" || true
su - postgres -c "psql -c \"CREATE DATABASE $DB_DATABASE OWNER $DB_USER;\"" || true
cd /app/my-nocobase
DB_DIALECT=$DB_DIALECT DB_HOST=$DB_HOST DB_PORT=$DB_PORT \
DB_DATABASE=$DB_DATABASE DB_USER=$DB_USER DB_PASSWORD=$DB_PASSWORD \
TZ=$TZ APP_KEY=$APP_KEY yarn nocobase install --lang=en-US
else
echo "Database '$DB_DATABASE' exists. Skipping init."
fi
cd /app/my-nocobase
cat <<EOF > .env
DB_DIALECT=$DB_DIALECT
DB_HOST=$DB_HOST
DB_PORT=$DB_PORT
DB_DATABASE=$DB_DATABASE
DB_USER=$DB_USER
DB_PASSWORD=$DB_PASSWORD
APP_KEY=$APP_KEY
TZ=$TZ
APP_PORT=$APP_PORT
EOF
echo "--- STARTING NOCOBASE ON PORT $APP_PORT ---"
exec yarn dev --port $APP_PORT --host 0.0.0.0