- db/105_ai_provider_claude.sql: fa_setting ai.provider ollama->claude 멱등 UPSERT - setup_fa_service.sh: 104 시드 + 105 flip psql 등재(멱등) - provider 결정 경로: AiTextRouter -> AiConfigService.isClaudeActive -> fa_setting.ai.provider - 무회귀: 키 미설정/실패 시 AiTextRouter Ollama 자동 폴백
55 lines
1.5 KiB
Bash
55 lines
1.5 KiB
Bash
#!/bin/bash
|
|
# GUARDiA FA Setup Script
|
|
# Run as root on target server
|
|
|
|
set -e
|
|
|
|
APP_NAME="guardia-fa"
|
|
APP_DIR="/opt/${APP_NAME}"
|
|
DB_NAME="fa_db"
|
|
DB_USER="fa_user"
|
|
DB_PASS="fa_pass2026"
|
|
APP_PORT="8017"
|
|
|
|
echo "=== GUARDiA FA 서비스 설정 ==="
|
|
|
|
# Create DB
|
|
echo "PostgreSQL DB 생성 중..."
|
|
sudo -u postgres psql -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASS}';" 2>/dev/null || true
|
|
sudo -u postgres psql -c "CREATE DATABASE ${DB_NAME} OWNER ${DB_USER};" 2>/dev/null || true
|
|
sudo -u postgres psql -d "${DB_NAME}" -f /opt/guardia-fa/schema.sql 2>/dev/null || true
|
|
# AI 플랫폼 설정 시드(104) + Claude provider flip(105) — 멱등, 재실행 안전
|
|
sudo -u postgres psql -d "${DB_NAME}" -f /opt/guardia-fa/104_seed_ai_config.sql 2>/dev/null || true
|
|
sudo -u postgres psql -d "${DB_NAME}" -f /opt/guardia-fa/105_ai_provider_claude.sql 2>/dev/null || true
|
|
|
|
# Create app directory
|
|
mkdir -p ${APP_DIR}
|
|
|
|
# Create systemd service
|
|
cat > /etc/systemd/system/guardia-fa.service << EOF
|
|
[Unit]
|
|
Description=GUARDiA FA Factory Automation Platform
|
|
After=network.target postgresql.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=${APP_DIR}
|
|
ExecStart=/usr/bin/java -jar ${APP_DIR}/guardia-fa-1.0.0.jar
|
|
Restart=on-failure
|
|
RestartSec=10
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable guardia-fa
|
|
|
|
echo "=== 완료 ==="
|
|
echo "서비스 시작: systemctl start guardia-fa"
|
|
echo "포트: ${APP_PORT}"
|
|
echo "URL: http://SERVER_IP:${APP_PORT}"
|