#!/usr/bin/env bash # ============================================ # Posimai API — VPS server.js デプロイスクリプト # 使い方: bash deploy-server.sh # ============================================ set -e VPS_HOST="root@85.131.245.239" VPS_KEY="$HOME/.ssh/soar-enrich-openssh.pem" APP_DIR="/opt/posimai" SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" SERVER_FILE="$SCRIPT_DIR/server.js" echo "========================================" echo " Posimai API Deploy → VPS" echo "========================================" if [ ! -f "$SERVER_FILE" ]; then echo "[ERROR] server.js が見つかりません: $SERVER_FILE" exit 1 fi echo "" echo "→ Step 1: server.js を VPS に転送..." scp -i "$VPS_KEY" -o BatchMode=yes "$SERVER_FILE" "$VPS_HOST:$APP_DIR/server.js" echo " 転送完了" echo "" echo "→ Step 1b: routes/ を VPS に転送..." ROUTES_DIR="$SCRIPT_DIR/routes" if [ -d "$ROUTES_DIR" ]; then ssh -i "$VPS_KEY" -o BatchMode=yes "$VPS_HOST" "mkdir -p $APP_DIR/routes" scp -i "$VPS_KEY" -o BatchMode=yes -r "$ROUTES_DIR"/* "$VPS_HOST:$APP_DIR/routes/" echo " routes/ 転送完了" fi echo "" echo "→ Step 2: コンテナ再起動..." ssh -i "$VPS_KEY" -o BatchMode=yes "$VPS_HOST" " cd $APP_DIR && \ docker compose restart api && \ echo ' 再起動完了。ログを確認中...' && \ sleep 5 && \ docker compose logs api --tail 15 " echo "" echo "========================================" echo " Deploy 完了" echo "========================================"