Files
kjh2064 6ed3de2749
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 6s
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 11s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
Separate QuantEngine database deployment
2026-07-01 13:55:03 +09:00

89 lines
2.5 KiB
Bash

#!/bin/bash
# Host Setup Script for Quant Engine (.NET 10 & Nginx)
# Must be executed with sudo privileges
set -e
NGINX_CONF="/etc/nginx/sites-available/gitea-ip.conf"
SERVICE_FILE="/etc/systemd/system/quantengine.service"
APP_ENV_FILE="/home/kjh2064/.config/quantengine.env"
echo "========================================="
echo "Configuring Host Infrastructure Services"
echo "========================================="
# 1. Update Nginx Site Config
if [ -f "$NGINX_CONF" ]; then
if ! grep -q "location /quant/" "$NGINX_CONF"; then
echo "Injecting /quant/ proxy pass block into Nginx..."
python3 -c "
p = '$NGINX_CONF'
c = open(p).read()
sub = ''' # Blazor Web App (Quant Engine)
location /quant/ {
proxy_pass http://127.0.0.1:5000/;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection \"Upgrade\";
proxy_set_header Host \$host;
proxy_cache_bypass \$http_upgrade;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto \$scheme;
}
'''
c = c.replace('location / {', sub + ' location / {')
open(p, 'w').write(c)
"
else
echo "Nginx /quant/ block already exists."
fi
else
echo "ERROR: Nginx conf not found at $NGINX_CONF"
exit 1
fi
# 2. Write Systemd Service File
echo "Writing systemd service file..."
cat > "$SERVICE_FILE" << 'EOF'
[Unit]
Description=Quant Engine Blazor Admin Web App (.NET 10)
After=network.target
[Service]
WorkingDirectory=/home/kjh2064/quantengine_active
ExecStart=/usr/bin/dotnet /home/kjh2064/quantengine_active/QuantEngine.Web.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=quantengine
User=kjh2064
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=ASPNETCORE_URLS=http://127.0.0.1:5000
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
EnvironmentFile=-/home/kjh2064/.config/quantengine.env
[Install]
WantedBy=multi-user.target
EOF
# 3. Reload Daemons
echo "Reloading systemd daemon..."
systemctl daemon-reload
systemctl enable quantengine
# 4. Run Deploy Script to populate active directory
echo "Executing deployment script..."
chmod +x /home/kjh2064/tmp/deploy.sh
bash /home/kjh2064/tmp/deploy.sh
# 5. Reload Nginx
echo "Testing Nginx config and reloading..."
nginx -t
systemctl reload nginx
echo "========================================="
echo "Host Configuration Successful!"
echo "========================================="