61 lines
2.4 KiB
Bash
Executable File
61 lines
2.4 KiB
Bash
Executable File
#!/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 |