guardia-fa/setup_fa_service.sh
ython 16ad654cbe chore(deploy): FA 클린 재동기화 + Claude provider 전환
- 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 자동 폴백
2026-07-11 10:57:46 +09:00

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}"