#!/usr/bin/env bash
# 서버 한 벌 기동 (systemd 유닛이 부른다). 사용: run-server.sh off|on
# 환경은 env -i 로 새로 만든다: 개발자 셸의 자격증명 · 토큰이 서버에 닿지 않게 한다.
# .env.live 의 키 목록 (URL 은 전부 127.0.0.1:9 로 막혀 있다) + PORT · GK_PORT · FCM_PRIVATE_KEY 만 더한다.
set -euo pipefail
here=$(cd "$(dirname "$0")" && pwd)
. "$here/lib.sh"

which=${1:-}
case "$which" in
  off) SRC=$OFF_SRV; PORT=$SRV_OFF_PORT ;;
  on) SRC=$ON_SRV; PORT=$SRV_ON_PORT ;;
  *) echo "사용: run-server.sh off|on" >&2; exit 2 ;;
esac

load_env_live
mapfile -t KV < "$L/.env.live"
FCM=$(cat "$L/run/fcm.pem")
mkdir -p "$L/run/home"
cd "$SRC"
exec env -i PATH="$PATH" HOME="$L/run/home" TZ=Asia/Seoul \
  "${KV[@]}" \
  "PORT=$PORT" "GK_PORT=$PORT" "FCM_PRIVATE_KEY=$FCM" \
  node -r "$L/listen-preload.cjs" dist/apps/api/apps/api/src/main.js
