Unify NAS operations on tracked docker-compose.yaml
This commit is contained in:
@@ -5,12 +5,10 @@ cd "$(dirname "$0")/.."
|
||||
umask 077
|
||||
|
||||
hop_env_tmp=''
|
||||
hop_yaml_tmp=''
|
||||
hop_echo_hidden=false
|
||||
cleanup() {
|
||||
if [ "$hop_echo_hidden" = true ]; then stty echo; fi
|
||||
if [ -n "$hop_env_tmp" ]; then rm -f "$hop_env_tmp"; fi
|
||||
if [ -n "$hop_yaml_tmp" ]; then rm -f "$hop_yaml_tmp"; fi
|
||||
}
|
||||
trap cleanup 0
|
||||
trap 'exit 130' INT
|
||||
@@ -114,14 +112,10 @@ if ! grep -Eq '^PROXY_DIAGNOSTIC_TOKEN=.{32,}$' .env; then
|
||||
unset hop_diagnostic_token
|
||||
fi
|
||||
sh scripts/prepare-nas-storage.sh
|
||||
hop_yaml_tmp=$(mktemp .compose.nas.XXXXXX)
|
||||
docker compose --project-name hop --project-directory "$PWD" --env-file .env -f compose.yaml config --no-env-resolution > "$hop_yaml_tmp"
|
||||
mv "$hop_yaml_tmp" compose.nas.yaml
|
||||
hop_yaml_tmp=''
|
||||
chmod 600 compose.nas.yaml
|
||||
# sudo writes configuration as root; return it to the SSH user for Git/Docker app access.
|
||||
docker compose -f docker-compose.yaml config --no-env-resolution --quiet
|
||||
# sudo writes .env as root; return it to the SSH user. Never rewrite the tracked Compose file.
|
||||
if [ "$(id -u)" = 0 ]; then
|
||||
chown "$hop_run_uid:$hop_run_gid" .env compose.nas.yaml
|
||||
chown "$hop_run_uid:$hop_run_gid" .env
|
||||
fi
|
||||
printf '\n%s\n' '완료. Docker 앱에서 프로젝트 이름 hop으로 아래 YAML을 불러오세요.'
|
||||
printf '%s/compose.nas.yaml\n' "$PWD"
|
||||
printf '\n%s\n' '완료. Git에서 관리하는 아래 파일을 Docker 앱과 터미널에서 함께 사용하세요.'
|
||||
printf '%s/docker-compose.yaml\n' "$PWD"
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 --project-name hop -f compose.nas.yaml ps -q hop)
|
||||
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
|
||||
@@ -19,5 +19,5 @@ awk '!/^(TRUSTED_PROXY_CIDRS|CLIENT_IP_SOURCE|SAME_NETWORK_DISCOVERY_ENABLED)=/'
|
||||
cat "$hop_settings" >> "$hop_environment"
|
||||
mv "$hop_environment" .env
|
||||
chmod 600 .env
|
||||
sh scripts/configure-nas.sh
|
||||
printf '\n%s\n' '자동 발견 설정 완료. Docker 앱에서 compose.nas.yaml을 다시 불러와 재배포하세요.'
|
||||
docker compose -f docker-compose.yaml config --no-env-resolution --quiet
|
||||
printf '\n%s\n' '자동 발견 설정 완료. 같은 docker-compose.yaml로 재배포하면 새 .env 설정이 적용됩니다.'
|
||||
|
||||
Reference in New Issue
Block a user