Files
hop.noname.company/scripts/enable-nas-discovery.sh

24 lines
1.0 KiB
Bash

#!/bin/sh
set -eu
cd "$(dirname "$0")/.."
umask 077
hop_settings=$(mktemp .env.discovery.XXXXXX)
hop_environment=$(mktemp .env.discovery.XXXXXX)
trap 'rm -f "$hop_settings" "$hop_environment"' 0
hop_container=$(sudo docker compose -f docker-compose.yaml ps -q hop)
if [ -z "$hop_container" ]; then
printf '%s\n' 'Docker 앱에서 새 버전의 hop 프로젝트를 먼저 시작하세요.' >&2
exit 1
fi
sudo docker exec "$hop_container" node apps/server/dist/check-proxy.js > "$hop_settings"
if [ "$(wc -l < "$hop_settings" | tr -d ' ')" != 3 ]; then
printf '%s\n' '프록시 확인 결과가 올바르지 않습니다.' >&2
exit 1
fi
awk '!/^(TRUSTED_PROXY_CIDRS|CLIENT_IP_SOURCE|SAME_NETWORK_DISCOVERY_ENABLED)=/' .env > "$hop_environment"
cat "$hop_settings" >> "$hop_environment"
mv "$hop_environment" .env
chmod 600 .env
docker compose -f docker-compose.yaml config --no-env-resolution --quiet
printf '\n%s\n' '자동 발견 설정 완료. 같은 docker-compose.yaml로 재배포하면 새 .env 설정이 적용됩니다.'