Skip to content

Commit

Permalink
Merge pull request #11 from slavikus/master
Browse files Browse the repository at this point in the history
Allow hosting of Electrum data on a Docker volume
  • Loading branch information
osminogin authored Apr 1, 2022
2 parents d5c6659 + e478148 commit 0d99fe4
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 18 deletions.
24 changes: 14 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
FROM python:3.9.1-alpine
FROM python:3.9.12-alpine

ARG BUILD_DATE
ARG VCS_REF
ARG VERSION
ARG CHECKSUM_SHA512
LABEL maintainer="[email protected]" \
org.label-schema.vendor="Distirbuted Solutions, Inc." \
org.label-schema.vendor="Boroda Group" \
org.label-schema.build-date=$BUILD_DATE \
org.label-schema.name="Electrum wallet (RPC enabled)" \
org.label-schema.description="Electrum wallet with JSON-RPC enabled (daemon mode)" \
Expand All @@ -24,25 +24,29 @@ ENV ELECTRUM_PASSWORD electrumz # XXX: CHANGE REQUIRED!
ENV ELECTRUM_HOME /home/$ELECTRUM_USER
ENV ELECTRUM_NETWORK mainnet

RUN mkdir -p /data ${ELECTRUM_HOME} && \
ln -sf /data ${ELECTRUM_HOME}/.electrum && \
chown ${ELECTRUM_USER} ${ELECTRUM_HOME}/.electrum /data
=======
# IMPORTANT: always verify gpg signature before changing a hash here!
ENV ELECTRUM_CHECKSUM_SHA512 $CHECKSUM_SHA512

RUN adduser -D $ELECTRUM_USER && \
apk --no-cache add --virtual build-dependencies gcc musl-dev && \
apk --no-cache add --virtual build-dependencies gcc musl-dev libsecp256k1 && \
wget https://download.electrum.org/${ELECTRUM_VERSION}/Electrum-${ELECTRUM_VERSION}.tar.gz && \
[ "${ELECTRUM_CHECKSUM_SHA512} Electrum-${ELECTRUM_VERSION}.tar.gz" = "$(sha512sum Electrum-${ELECTRUM_VERSION}.tar.gz)" ] && \
echo -e "**************************\n SHA 512 Checksum OK\n**************************" && \
pip3 install Electrum-${ELECTRUM_VERSION}.tar.gz && \
pip3 install pycryptodomex Electrum-${ELECTRUM_VERSION}.tar.gz && \
rm -f Electrum-${ELECTRUM_VERSION}.tar.gz && \
apk del build-dependencies

RUN mkdir -p /data \
${ELECTRUM_HOME}/.electrum/wallets/ \
${ELECTRUM_HOME}/.electrum/testnet/wallets/ \
${ELECTRUM_HOME}/.electrum/regtest/wallets/ \
${ELECTRUM_HOME}/.electrum/simnet/wallets/ && \
ln -sf ${ELECTRUM_HOME}/.electrum/ /data && \
chown -R ${ELECTRUM_USER} ${ELECTRUM_HOME}/.electrum /data
${ELECTRUM_HOME}/.electrum/wallets/ \
${ELECTRUM_HOME}/.electrum/testnet/wallets/ \
${ELECTRUM_HOME}/.electrum/regtest/wallets/ \
${ELECTRUM_HOME}/.electrum/simnet/wallets/ && \
ln -sf ${ELECTRUM_HOME}/.electrum/ /data && \
chown -R ${ELECTRUM_USER} ${ELECTRUM_HOME}/.electrum /data

USER $ELECTRUM_USER
WORKDIR $ELECTRUM_HOME
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2016-2020 Vladimir Osintsev <[email protected]>
Copyright (c) 2016-2022 Vladimir Osintsev <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.8
4.2.1
6 changes: 5 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '3'
version: '3.7'

services:
electrum:
Expand All @@ -9,3 +9,7 @@ services:
ELECTRUM_USER: electrum
ELECTRUM_PASSWORD: changeme
TESTNET: False
container_name: electrum
image: osminogin/docker-electrum-daemon
volumes:
- ../electrum:/data
10 changes: 5 additions & 5 deletions docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ fi
trap 'pkill -TERM -P1; electrum daemon stop; exit 0' SIGTERM

# Set config
electrum $FLAGS setconfig rpcuser ${ELECTRUM_USER}
electrum $FLAGS setconfig rpcpassword ${ELECTRUM_PASSWORD}
electrum $FLAGS setconfig rpchost 0.0.0.0
electrum $FLAGS setconfig rpcport 7000
electrum --offline $FLAGS setconfig rpcuser ${ELECTRUM_USER}
electrum --offline $FLAGS setconfig rpcpassword ${ELECTRUM_PASSWORD}
electrum --offline $FLAGS setconfig rpchost 0.0.0.0
electrum --offline $FLAGS setconfig rpcport 7000

# XXX: Check load wallet or create

# Run application
electrum $FLAGS daemon start
electrum $FLAGS daemon -d

# Wait forever
while true; do
Expand Down

0 comments on commit 0d99fe4

Please sign in to comment.