From 918fac27420be9b857a76ceefec0f5fce55dafc0 Mon Sep 17 00:00:00 2001
From: th-kim0823
Date: Mon, 27 Apr 2026 20:19:25 +0900
Subject: [PATCH] =?UTF-8?q?docs:=20show-urls.sh=20=E2=80=94=20=ED=81=B0=20?=
=?UTF-8?q?=ED=99=94=EB=A9=B4=20+=20=EB=AA=A8=EB=B0=94=EC=9D=BC=20vote=20U?=
=?UTF-8?q?RL=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
show-urls.sh | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/show-urls.sh b/show-urls.sh
index d6ad853..a5055f5 100755
--- a/show-urls.sh
+++ b/show-urls.sh
@@ -3,26 +3,30 @@
set -euo pipefail
cd "$(dirname "$0")"
-if [[ ! -f .env ]]; then
- echo "❌ .env 파일 없음. 먼저 'cp .env.example .env' 후 ADMIN_TOKEN 설정."
+# docker-compose.yml에서 ADMIN_TOKEN 추출 (환경변수 override 가능)
+TOKEN="${ADMIN_TOKEN:-$(grep -E "^[[:space:]]*ADMIN_TOKEN:" docker-compose.yml | head -1 | sed -E 's/^[[:space:]]*ADMIN_TOKEN:[[:space:]]*//' | tr -d '"' | xargs)}"
+PORT="${PORT:-8501}"
+
+if [[ -z "$TOKEN" ]]; then
+ echo "❌ ADMIN_TOKEN 못 찾음. docker-compose.yml 확인."
exit 1
fi
-TOKEN=$(grep -E "^ADMIN_TOKEN=" .env | head -1 | cut -d= -f2- | tr -d '"')
-PORT=$(grep -E "^PORT=" .env 2>/dev/null | head -1 | cut -d= -f2- | tr -d '"' || echo "")
-PORT=${PORT:-8501}
-
# LAN IP 자동 감지 (macOS/Linux)
LAN_IP=$(ipconfig getifaddr en0 2>/dev/null || ip -4 addr show 2>/dev/null | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '^127\.' | head -1 || echo "")
echo "============================================"
-echo " 해커톤 투표 URL"
+echo " 해커톤 투표 URL (token: ${TOKEN})"
echo "============================================"
echo
-echo "👥 참가자 투표:"
+echo "🖥 큰 화면 (발표자):"
echo " http://localhost:${PORT}/"
[[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/ (LAN)"
echo
+echo "📱 모바일 투표 (QR target):"
+echo " http://localhost:${PORT}/?mode=vote"
+[[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/?mode=vote"
+echo
echo "🔐 진행자 어드민:"
echo " http://localhost:${PORT}/?mode=admin&token=${TOKEN}"
[[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/?mode=admin&token=${TOKEN}"
@@ -31,6 +35,10 @@ echo "🎉 시상식 (큰 화면):"
echo " http://localhost:${PORT}/?mode=ceremony&token=${TOKEN}"
[[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/?mode=ceremony&token=${TOKEN}"
echo
+echo "📦 JSON 원본 조회/다운로드:"
+echo " http://localhost:${PORT}/?mode=raw&token=${TOKEN}"
+[[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/?mode=raw&token=${TOKEN}"
+echo
echo "============================================"
echo " 팁: 'open' 으로 바로 브라우저 열기 (macOS)"
echo " open \"http://localhost:${PORT}/?mode=admin&token=${TOKEN}\""