53 lines
1.4 KiB
Bash
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
|