게시판오목으로 이해하는 자기대국과 모방 학습예제 소스

예제 소스

오목으로 이해하는 자기대국과 모방 학습 · 파일 59개

deploy_omook_to_idc.sh

#!/usr/bin/env bash
# 집 Mac에서 실행: omook.mariago.kr → IDC(********) 배포
#
# 선행:
#   1) DNS: omook.mariago.kr A → ********
#   2) 집 Mac Next :3002 + VLM :9299 기동 (또는 omook 워치독)
#   3) ssh ethtrade 비밀번호 없이 접속 가능
#
#   bash scripts/deploy_omook_to_idc.sh

set -euo pipefail

OMOOK_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
GO_ROOT="$(cd "$OMOOK_ROOT/../go" && pwd)"
CONF="$OMOOK_ROOT/deploy/omook.mariago.kr.conf"
INSTALL="$OMOOK_ROOT/scripts/idc_install_omook_nginx.sh"

echo "== 1) go SSH 터널 워치독 재시작 (18082→3002 포함) =="
mkdir -p "$GO_ROOT/logs/mariago_ssh_tunnel"
pkill -f 'daemon_ssh_reverse_tunnel.py' 2>/dev/null || true
sleep 2
if ! pgrep -f 'daemon_ssh_reverse_tunnel.py' >/dev/null; then
  # launchd 가 안 띄우면 nohup
  nohup "$GO_ROOT/.venv/bin/python" "$GO_ROOT/scripts/daemon_ssh_reverse_tunnel.py" \
    >>"$GO_ROOT/logs/mariago_ssh_tunnel/tunnel.watchdog.nohup.log" 2>&1 &
  echo "tunnel watchdog pid=$!"
else
  echo "tunnel watchdog pid=$(pgrep -f 'daemon_ssh_reverse_tunnel.py' | tr '\n' ' ')"
fi

echo "== 2) conf / install 스크립트 업로드 =="
scp -o BatchMode=yes -o ConnectTimeout=20 \
  "$CONF" "$INSTALL" \
  ethtrade:~/

echo "== 3) IDC nginx 등록 =="
ssh -o BatchMode=yes -o ConnectTimeout=20 ethtrade \
  'chmod +x ~/idc_install_omook_nginx.sh && sudo ~/idc_install_omook_nginx.sh'

echo "== 4) DNS =="
dig +short omook.mariago.kr A || true
host omook.mariago.kr 2>/dev/null || true

echo "== 5) 터널·로컬 대기 =="
sleep 15
echo "--- tunnel HEARTBEAT ---"
cat "$GO_ROOT/logs/mariago_ssh_tunnel/HEARTBEAT.md" || true
echo "--- IDC local18082 ---"
ssh -o BatchMode=yes ethtrade \
  'curl -sS -o /dev/null -w "local18082=%{http_code}\n" --max-time 5 http://127.0.0.1:18082/ || echo local18082=DOWN'

echo ""
echo "인증서(DNS 전파 후, 최초 1회):"
echo "  ssh ethtrade 'sudo certbot --nginx -d omook.mariago.kr'"
echo ""
echo "확인: https://omook.mariago.kr/play"