posimai-root/deploy-server.sh

51 lines
1.5 KiB
Bash

#!/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 "========================================"