Рефакторизация структуры кода для улучшения читаемости и удобства сопровождения.
This commit is contained in:
Executable
+61
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
APP_DATA_DIR="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/../data)"
|
||||
DESIRED_OWNER="1000:1000"
|
||||
|
||||
set_correct_permissions() {
|
||||
local -r path="${1}"
|
||||
|
||||
# Проверьте, существует ли файл
|
||||
if [[ -f "${path}" ]]; then
|
||||
owner=$(stat -c "%u:%g" "${path}")
|
||||
|
||||
if [[ "${owner}" != "${DESIRED_OWNER}" ]]; then
|
||||
chown "${DESIRED_OWNER}" "${path}"
|
||||
echo "Changed ownership of ${path} to ${DESIRED_OWNER}"
|
||||
fi
|
||||
else
|
||||
echo "Skipping ${path} - file does not exist"
|
||||
fi
|
||||
}
|
||||
|
||||
# Мы устанавливаем правильные разрешения для любых файлов, которые могли быть созданы предыдущим приложением, работающим с правами root:
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/umbrel-bitcoin.conf"
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/bitcoin.conf"
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/bitcoin.conf.save"
|
||||
# settings.json для любой сети могло быть исправлено самим старым приложением, работающим под root.
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/settings.json"
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/regtest/settings.json"
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/signet/settings.json"
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/testnet3/settings.json"
|
||||
set_correct_permissions "${APP_DATA_DIR}/bitcoin/testnet4/settings.json"
|
||||
|
||||
# Устанавливайте разрешения рекурсивно для всего каталога привязки /app.
|
||||
if [[ -d "${APP_DATA_DIR}/app" ]]; then
|
||||
chown -R "${DESIRED_OWNER}" "${APP_DATA_DIR}/app"
|
||||
fi
|
||||
|
||||
# Отложите загрузку полной версии приложения до тех пор, пока не будут готовы скрытые службы Tor RPC и P2P.
|
||||
|
||||
HIDDEN_SERVICE_FILE="${TOR_DATA_DIR}/app-${APP_ID}-rpc/hostname"
|
||||
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" up --detach app
|
||||
"${DFWEBOS_ROOT}/scripts/app" compose "${APP_ID}" up --detach tor
|
||||
|
||||
echo "App: ${APP_ID} - Generating Tor Hidden Service..."
|
||||
|
||||
for attempt in $(seq 1 100); do
|
||||
if [[ -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file created successfully!"
|
||||
break
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
if [[ ! -f "${HIDDEN_SERVICE_FILE}" ]]; then
|
||||
echo "App: ${APP_ID} - Hidden service file wasn't created"
|
||||
fi
|
||||
Reference in New Issue
Block a user