add electrum wallet daemon with container entrypoint
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
ARG ELECTRUM_VERSION
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
ca-certificates curl libsecp256k1-1 python3 python3-cryptography \
|
||||
&& curl -fsSL "https://download.electrum.org/${ELECTRUM_VERSION}/Electrum-${ELECTRUM_VERSION}.tar.gz" \
|
||||
| tar -xz -C /opt \
|
||||
&& chmod +x "/opt/Electrum-${ELECTRUM_VERSION}/run_electrum" \
|
||||
&& ln -s "/opt/Electrum-${ELECTRUM_VERSION}/run_electrum" /usr/local/bin/electrum \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --chmod=755 docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user