mirror of
https://github.com/getumbrel/umbrel-apps.git
synced 2024-11-11 16:09:18 +00:00
95 lines
3.2 KiB
Bash
95 lines
3.2 KiB
Bash
|
export APP_MONERO_IP="10.21.22.178"
|
||
|
export APP_MONERO_NODE_IP="10.21.21.179"
|
||
|
export APP_MONERO_TOR_PROXY_IP="10.21.21.180"
|
||
|
export APP_MONERO_I2P_DAEMON_IP="10.21.21.181"
|
||
|
|
||
|
export APP_MONERO_DATA_DIR="${EXPORTS_APP_DIR}/data/monero"
|
||
|
export APP_MONERO_RPC_PORT="18081"
|
||
|
export APP_MONERO_RESTRICTED_RPC_PORT="18089"
|
||
|
export APP_MONERO_P2P_PORT="18080"
|
||
|
export APP_MONERO_TOR_PORT="9901"
|
||
|
|
||
|
#temporarily set to mainnet
|
||
|
MONERO_NETWORK="mainnet"
|
||
|
MONERO_CHAIN="mainnet"
|
||
|
MONERO_ENV_FILE="${EXPORTS_APP_DIR}/.env"
|
||
|
|
||
|
{
|
||
|
MONERO_APP_CONFIG_FILE="${EXPORTS_APP_DIR}/data/app/monero-config.json"
|
||
|
if [[ -f "${MONERO_APP_CONFIG_FILE}" ]]
|
||
|
then
|
||
|
monero_app_network=$(jq -r '.network' "${MONERO_APP_CONFIG_FILE}")
|
||
|
case $monero_app_network in
|
||
|
"mainnet")
|
||
|
MONERO_NETWORK="mainnet";;
|
||
|
"testnet")
|
||
|
MONERO_NETWORK="testnet";;
|
||
|
"stagenet")
|
||
|
MONERO_NETWORK="stagenet";;
|
||
|
esac
|
||
|
fi
|
||
|
} > /dev/null || true
|
||
|
|
||
|
|
||
|
|
||
|
if [[ ! -f "${MONERO_ENV_FILE}" ]]; then
|
||
|
if [[ -z "${MONERO_NETWORK}" ]]; then
|
||
|
MONERO_NETWORK="mainnet"
|
||
|
fi
|
||
|
|
||
|
if [[ -z ${MONERO_RPC_USER+x} ]] || [[ -z ${MONERO_RPC_PASS+x} ]] || [[ -z ${MONERO_RPC_AUTH+x} ]]; then
|
||
|
MONERO_RPC_USER="monero"
|
||
|
MONERO_RPC_DETAILS=$("${EXPORTS_APP_DIR}/scripts/rpcauth.py" "${MONERO_RPC_USER}")
|
||
|
MONERO_RPC_PASS=$(echo "$MONERO_RPC_DETAILS" | tail -1)
|
||
|
MONERO_RPC_AUTH=$(echo "$MONERO_RPC_DETAILS" | head -2 | tail -1 | sed -e "s/^rpc-login=//")
|
||
|
fi
|
||
|
|
||
|
echo "export APP_MONERO_NETWORK='${MONERO_NETWORK}'" > "${MONERO_ENV_FILE}"
|
||
|
echo "export APP_MONERO_RPC_USER='${MONERO_RPC_USER}'" >> "${MONERO_ENV_FILE}"
|
||
|
echo "export APP_MONERO_RPC_PASS='${MONERO_RPC_PASS}'" >> "${MONERO_ENV_FILE}"
|
||
|
echo "export APP_MONERO_RPC_AUTH='${MONERO_RPC_AUTH}'" >> "${MONERO_ENV_FILE}"
|
||
|
fi
|
||
|
|
||
|
. "${MONERO_ENV_FILE}"
|
||
|
|
||
|
# Make sure we don't persist the original value in .env if we have a more recent
|
||
|
# value from the app config
|
||
|
{
|
||
|
if [[ ! -z ${MONERO_NETWORK+x} ]] && [[ "${MONERO_NETWORK}" ]] && [[ "${APP_MONERO_NETWORK}" ]]
|
||
|
then
|
||
|
APP_MONERO_NETWORK="${MONERO_NETWORK}"
|
||
|
fi
|
||
|
} > /dev/null || true
|
||
|
|
||
|
if [[ "${APP_MONERO_NETWORK}" == "mainnet" ]]; then
|
||
|
MONERO_CHAIN="mainnet"
|
||
|
elif [[ "${APP_MONERO_NETWORK}" == "testnet" ]]; then
|
||
|
MONERO_CHAIN="testnet"
|
||
|
export APP_MONERO_RPC_PORT="28081"
|
||
|
export APP_MONERO_P2P_PORT="28080"
|
||
|
|
||
|
elif [[ "${APP_MONERO_NETWORK}" == "stagenet" ]]; then
|
||
|
MONERO_CHAIN="stagenet"
|
||
|
export APP_MONERO_RPC_PORT="38081"
|
||
|
export APP_MONERO_P2P_PORT="38080"
|
||
|
else
|
||
|
echo "Warning (${EXPORTS_APP_ID}): Monero Network '${APP_MONERO_NETWORK}' is not supported"
|
||
|
fi
|
||
|
|
||
|
export MONERO_DEFAULT_NETWORK="${MONERO_CHAIN}"
|
||
|
|
||
|
BIN_ARGS=()
|
||
|
BIN_ARGS+=( "--rpc-bind-port=${APP_MONERO_RPC_PORT}" )
|
||
|
BIN_ARGS+=( "--rpc-bind-ip=0.0.0.0" )
|
||
|
BIN_ARGS+=( "--confirm-external-bind" )
|
||
|
|
||
|
BIN_ARGS+=( "--rpc-login=\"${APP_MONERO_RPC_AUTH}\"" )
|
||
|
|
||
|
export APP_MONERO_COMMAND=$(IFS=" "; echo "${BIN_ARGS[@]}")
|
||
|
|
||
|
# echo "${APP_MONERO_COMMAND}"
|
||
|
|
||
|
rpc_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-rpc/hostname"
|
||
|
p2p_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-p2p/hostname"
|
||
|
export APP_MONERO_RPC_HIDDEN_SERVICE="$(cat "${rpc_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||
|
export APP_MONERO_P2P_HIDDEN_SERVICE="$(cat "${p2p_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|