#!/bin/bash # 호스트 LAN IP 자동 감지 → PUBLIC_BASE_URL 세팅 → 컨테이너 기동 set -euo pipefail cd "$(dirname "$0")" PORT=${PORT:-8501} # .env 의 PUBLIC_BASE_URL 우선. 비어 있으면 LAN IP 자동 감지. ENV_URL="" if [[ -f .env ]]; then ENV_URL=$(grep -E '^\s*PUBLIC_BASE_URL\s*=' .env | tail -1 | sed -E 's/^\s*PUBLIC_BASE_URL\s*=\s*//; s/^["'\'']//; s/["'\'']$//' || true) fi if [[ -n "${PUBLIC_BASE_URL:-}" ]]; then echo "[start] PUBLIC_BASE_URL=${PUBLIC_BASE_URL} (shell env)" elif [[ -n "$ENV_URL" ]]; then export PUBLIC_BASE_URL="$ENV_URL" echo "[start] PUBLIC_BASE_URL=${PUBLIC_BASE_URL} (.env)" else 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 "") if [[ -n "$LAN_IP" ]]; then export PUBLIC_BASE_URL="http://${LAN_IP}:${PORT}" echo "[start] PUBLIC_BASE_URL=${PUBLIC_BASE_URL} (LAN 자동 감지)" else echo "[start] PUBLIC_BASE_URL 미설정. 어드민에서 직접 설정 필요." fi fi exec docker compose up -d --build "$@"