Files
HangmanLab/dev_build.sh
2025-04-14 17:02:22 +01:00

53 lines
1.4 KiB
Bash

#!/bin/bash
export $(grep -v '^#' .env | xargs)
FRONTEND_PORT=${FRONTEND_PORT:-3000}
BACKEND_PORT=${BACKEND_PORT:-5000}
KC_CLIENT_ID=${KC_CLIENT_ID:-labdev}
KC_HOST=${KC_HOST:-https://login.hangman-lab.top}
KC_REALM=${KC_REALM:-Hangman-Lab}
FRONTEND_HOST=${FRONTEND_HOST:-http://localhost:$FRONTEND_PORT}
BACKEND_HOST=${BACKEND_HOST:-http://localhost:$BACKEND_PORT}
cat <<EOL > HangmanLab.Frontend/public/config.json
{
"BACKEND_HOST": "$BACKEND_HOST",
"FRONTEND_HOST": "$FRONTEND_HOST",
"KC_CLIENT_ID": "$KC_CLIENT_ID",
"OIDC_CONFIG": {
"authority": "$KC_HOST/realms/$KC_REALM",
"client_id": "$KC_CLIENT_ID",
"redirect_uri": "$FRONTEND_HOST/callback",
"post_logout_redirect_uri": "$FRONTEND_HOST",
"response_type": "code",
"scope": "openid profile email roles",
"popup_redirect_uri": "$FRONTEND_HOST/popup_callback",
"silent_redirect_uri": "$FRONTEND_HOST/silent_callback"
}
}
EOL
echo "✅ config.json Generated"
echo "🚀 Launch React dev server (port: $FRONTEND_PORT)"
(
cd HangmanLab.Frontend || exit
npm install
npm start
) &
echo "🚀 Launch Flask dev server (port: $BACKEND_PORT)"
(
cd HangmanLab.Backend || exit
pip install -r requirements.txt
export FLASK_APP=app.py
export FLASK_ENV=development
export FLASK_RUN_PORT=$BACKEND_PORT
export FLASK_RUN_HOST=0.0.0.0
flask run
)
wait