#!/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