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