Files
hop.noname.company/scripts/reset-nas-transfer-data.sh

16 lines
923 B
Bash

#!/bin/sh
# One-time reset for prelaunch data; preserves registered accounts and admin settings.
set -eu
cd "$(dirname "$0")/.."
if [ "$(docker inspect --format '{{.State.Running}}' hop)" != false ]; then
printf '%s\n' 'hop 프로젝트를 먼저 중지하세요. 실행 중에는 초기화할 수 없습니다.' >&2
exit 1
fi
hop_reset_image=$(docker inspect --format '{{.Image}}' hop)
hop_reset_user=$(docker inspect --format '{{.Config.User}}' hop)
# Use the stopped container's exact database volume, image and user, with no network or app process.
docker run --rm --network none --volumes-from hop --user "$hop_reset_user" \
--mount "type=bind,source=$PWD/scripts/reset-transfer-records.mjs,target=/app/scripts/reset-transfer-records.mjs,readonly" \
--env DATABASE_PATH=/data/database/hop.sqlite \
--entrypoint node "$hop_reset_image" /app/scripts/reset-transfer-records.mjs --confirm-reset-transfer-records