#!/usr/bin/env bash set -euo pipefail NETWORK_FLAG="--${ELECTRUM_NETWORK}" WALLET_PATH="/electrum/wallet/${ELECTRUM_WALLET_NAME}" DATA_DIR="/electrum/data" run_electrum() { electrum "${NETWORK_FLAG}" --dir "${DATA_DIR}" "$@"; } run_electrum_offline() { electrum --offline "${NETWORK_FLAG}" --dir "${DATA_DIR}" "$@"; } mkdir -p /electrum/wallet "${DATA_DIR}" chmod 700 /electrum/wallet if [[ ! -f "${WALLET_PATH}" ]]; then echo "Creating ${ELECTRUM_NETWORK} wallet at ${WALLET_PATH}..." run_electrum_offline create -w "${WALLET_PATH}" --password "${ELECTRUM_WALLET_PASSWORD}" chmod 600 "${WALLET_PATH}" 2>/dev/null || true echo "Wallet created at ${WALLET_PATH}" fi run_electrum_offline setconfig rpcuser "${ELECTRUM_DAEMON_RPC_USER}" run_electrum_offline setconfig rpcpassword "${ELECTRUM_DAEMON_RPC_PASSWORD}" run_electrum_offline setconfig rpchost 0.0.0.0 run_electrum_offline setconfig rpcport "${ELECTRUM_DAEMON_PORT}" run_electrum_offline setconfig server "${ELECTRUM_SERVER}" trap 'run_electrum daemon stop || true; exit 0' SIGTERM SIGINT run_electrum daemon -d run_electrum load_wallet -w "${WALLET_PATH}" --password "${ELECTRUM_WALLET_PASSWORD}" sleep infinity