45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
# ============================================
|
|
# Posimai API — Synology server.js デプロイスクリプト
|
|
# 使い方: bash deploy-server.sh
|
|
# ============================================
|
|
set -e
|
|
|
|
HOST="mai@100.76.7.3"
|
|
SSH_KEY="$HOME/.ssh/id_ed25519"
|
|
CONTAINER="posimai_api"
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
SERVER_FILE="$SCRIPT_DIR/server.js"
|
|
REMOTE_TMP="/tmp/server-deploy.js"
|
|
DOCKER="/usr/local/bin/docker"
|
|
|
|
echo "========================================"
|
|
echo " Posimai API Deploy"
|
|
echo "========================================"
|
|
|
|
if [ ! -f "$SERVER_FILE" ]; then
|
|
echo "[ERROR] server.js が見つかりません: $SERVER_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "→ Step 1: server.js を Synology /tmp に転送..."
|
|
ssh -i "$SSH_KEY" -o BatchMode=yes "$HOST" "cat > $REMOTE_TMP" < "$SERVER_FILE"
|
|
echo " 転送完了"
|
|
|
|
echo ""
|
|
echo "→ Step 2: コンテナに適用 + 再起動..."
|
|
ssh -i "$SSH_KEY" -o BatchMode=yes "$HOST" "
|
|
$DOCKER cp $REMOTE_TMP $CONTAINER:/app/server.js && \
|
|
echo ' コピー完了' && \
|
|
$DOCKER restart $CONTAINER && \
|
|
echo ' 再起動完了。ログを確認中...' && \
|
|
sleep 5 && \
|
|
$DOCKER logs $CONTAINER --tail 20
|
|
"
|
|
|
|
echo ""
|
|
echo "========================================"
|
|
echo " Deploy 完了"
|
|
echo "========================================"
|