Files
nullcart/monero-wallet-rpc/docker-entrypoint.sh
T
nobswebdev 0ab7f21bea Fix monero-wallet-rpc startup on mainnet by omitting --mainnet.
Monero treats mainnet as the default network; only --stagenet and --testnet are valid flags.
2026-09-12 23:01:20 +02:00

43 lines
1.2 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
WALLET_DIR="/monero/wallet"
WALLET_PATH="${WALLET_DIR}/${MONERO_WALLET_NAME}"
if [[ "${MONERO_NETWORK}" == "mainnet" ]]; then
NETWORK_FLAGS=()
else
NETWORK_FLAGS=(--"${MONERO_NETWORK}")
fi
mkdir -p "${WALLET_DIR}"
chmod 700 "${WALLET_DIR}"
if [[ ! -f "${WALLET_PATH}" && ! -f "${WALLET_PATH}.keys" ]]; then
echo "Creating ${MONERO_NETWORK} wallet at ${WALLET_PATH}..."
monero-wallet-cli "${NETWORK_FLAGS[@]}" \
--offline \
--log-file /dev/null \
--generate-new-wallet "${WALLET_PATH}" \
--password "${MONERO_WALLET_PASSWORD}" \
--mnemonic-language English \
--command save
chmod 600 "${WALLET_PATH}" "${WALLET_PATH}.keys" 2>/dev/null || true
echo "Wallet created at ${WALLET_PATH}"
fi
exec monero-wallet-rpc \
"${NETWORK_FLAGS[@]}" \
--daemon-address="${MONERO_DAEMON_ADDRESS}" \
--trusted-daemon \
--no-initial-sync \
--rpc-bind-ip=0.0.0.0 \
--rpc-bind-port="${MONERO_WALLET_RPC_PORT}" \
--confirm-external-bind \
--rpc-login="${MONERO_WALLET_RPC_USERNAME}:${MONERO_WALLET_RPC_PASSWORD}" \
--wallet-file="${WALLET_PATH}" \
--password="${MONERO_WALLET_PASSWORD}"