mirror of
https://github.com/Retropex/dockerfile-deps.git
synced 2025-05-12 16:40:40 +02:00
add Electrum Personal Server v0.2.1.1 (#19)
This commit is contained in:
parent
8516f1fe22
commit
ac96274d52
33
EPS/0.2.1.1/docker-compose.yml
Normal file
33
EPS/0.2.1.1/docker-compose.yml
Normal file
@ -0,0 +1,33 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
electrum_ps:
|
||||
image: btcpayserver/eps:h
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "50002:50002"
|
||||
environment:
|
||||
EPS_CONFIG: |
|
||||
[master-public-keys]
|
||||
wallet = DOCKERXPUB
|
||||
[bitcoin-rpc]
|
||||
host = DOCKERHOST
|
||||
port = DOCKERPORT
|
||||
rpc_user = DOCKERRPC_USER
|
||||
rpc_password = DOCKERRPC_PASSWORD
|
||||
poll_interval_listening = 600
|
||||
poll_interval_connected = 5
|
||||
initial_import_count = 1000
|
||||
gap_limit = 25
|
||||
wallet_filename =
|
||||
[electrum-server]
|
||||
host = 0.0.0.0
|
||||
port = 50002
|
||||
broadcast_method = own-node
|
||||
ip_whitelist = *
|
||||
disable_mempool_fee_histogram = false
|
||||
# certfile = certs/cert.crt
|
||||
# keyfile = certs/cert.key
|
||||
# If you use your own certificates put them in the docker volume, comment out the above and use something like:
|
||||
#certfile = /srv/yourcert.crt
|
||||
#keyfile = /srv/yourkey.key
|
46
EPS/0.2.1.1/docker-entrypoint.sh
Executable file
46
EPS/0.2.1.1/docker-entrypoint.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
cat <<-EOF > "config.ini"
|
||||
${EPS_CONFIG}
|
||||
EOF
|
||||
|
||||
if ! [ -f "/data/cert.crt" ] || ! openssl x509 -checkend 86400 -noout -in /data/cert.crt > /dev/null; then
|
||||
rm -rf /data/cert.*
|
||||
echo "Generating SSL certificates..."
|
||||
openssl genrsa -des3 -passout pass:greenbanana -out /data/cert.pass.key 2048
|
||||
openssl rsa -passin pass:greenbanana -in /data/cert.pass.key -out /data/cert.key
|
||||
rm /data/cert.pass.key
|
||||
openssl req -new -key /data/cert.key -out /data/cert.csr -subj "/CN=SATOSHI NAKAMOTO/O=Electrum/ST=Personal/C=SV"
|
||||
openssl x509 -req -days 1825 -in /data/cert.csr -signkey /data/cert.key -out /data/cert.crt
|
||||
fi
|
||||
|
||||
# If we don't do this, eps crash
|
||||
if ! grep -q "\[watch-only-addresses\]" config.ini; then
|
||||
echo "[watch-only-addresses]" >> config.ini
|
||||
echo "Added dummy [watch-only-addresses] section to config.ini"
|
||||
fi
|
||||
|
||||
if grep -q "\[electrum-server\]" config.ini; then
|
||||
CERT_CONFIG="certfile = \/data\/cert.crt\nkeyfile = \/data\/cert.key"
|
||||
sed -i "s/\[electrum-server\]/\0\n$CERT_CONFIG/g" config.ini
|
||||
echo "Added certificate settings to the [electrum-server] section of config.ini"
|
||||
else
|
||||
echo "[electrum-server]
|
||||
certfile = /data/cert.crt
|
||||
keyfile = /data/cert.key
|
||||
" >> "config.ini"
|
||||
echo "Added [electrum-server] section with certificate settings to config.ini"
|
||||
fi
|
||||
|
||||
if [ "$1" != "electrum-personal-server" ]; then
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
if [[ "${READY_FILE}" ]]; then
|
||||
echo "Waiting $READY_FILE to be created..."
|
||||
while [ ! -f "$READY_FILE" ]; do sleep 1; done
|
||||
echo "The chain is fully synched"
|
||||
fi
|
||||
|
||||
exec "$@" config.ini
|
24
EPS/0.2.1.1/linuxamd64.Dockerfile
Normal file
24
EPS/0.2.1.1/linuxamd64.Dockerfile
Normal file
@ -0,0 +1,24 @@
|
||||
FROM python:3.8.1-slim-buster
|
||||
|
||||
ENV EPS_VERSION 0.2.1.1
|
||||
ENV EPS_SHA256 014ee376144c40a5b5c81405dc5713c5c6803b1a69f0525759a1e630de72269b
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -qq --no-install-recommends curl unzip wget tini && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /build
|
||||
WORKDIR /tmp
|
||||
RUN FILENAME="eps-v${EPS_VERSION}.zip" && \
|
||||
curl -fsSL "https://github.com/chris-belcher/electrum-personal-server/archive/$FILENAME" > "$FILENAME" && \
|
||||
echo "$EPS_SHA256 $FILENAME" | sha256sum -c - && \
|
||||
unzip "$FILENAME" && \
|
||||
DIRECTORY_NAME="electrum-personal-server-eps-v${EPS_VERSION}" && \
|
||||
mv "$DIRECTORY_NAME" "/build/eps" && rm "$FILENAME"
|
||||
|
||||
WORKDIR /build/eps
|
||||
RUN pip3 install . && mkdir -p /data
|
||||
|
||||
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||
ENTRYPOINT [ "tini", "-g", "--", "/docker-entrypoint.sh" ]
|
||||
CMD [ "electrum-personal-server" ]
|
29
EPS/0.2.1.1/linuxarm32v7.Dockerfile
Normal file
29
EPS/0.2.1.1/linuxarm32v7.Dockerfile
Normal file
@ -0,0 +1,29 @@
|
||||
FROM debian:buster-slim as builder
|
||||
RUN apt-get update && apt-get install -qq --no-install-recommends qemu-user-static
|
||||
|
||||
FROM arm32v7/python:3.8.1-slim-buster
|
||||
|
||||
COPY --from=builder /usr/bin/qemu-arm-static /usr/bin/qemu-arm-static
|
||||
|
||||
ENV EPS_VERSION 0.2.1.1
|
||||
ENV EPS_SHA256 014ee376144c40a5b5c81405dc5713c5c6803b1a69f0525759a1e630de72269b
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -qq --no-install-recommends curl unzip wget tini && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /build
|
||||
WORKDIR /tmp
|
||||
RUN FILENAME="eps-v${EPS_VERSION}.zip" && \
|
||||
curl -fsSL "https://github.com/chris-belcher/electrum-personal-server/archive/$FILENAME" > "$FILENAME" && \
|
||||
echo "$EPS_SHA256 $FILENAME" | sha256sum -c - && \
|
||||
unzip "$FILENAME" && \
|
||||
DIRECTORY_NAME="electrum-personal-server-eps-v${EPS_VERSION}" && \
|
||||
mv "$DIRECTORY_NAME" "/build/eps" && rm "$FILENAME"
|
||||
|
||||
WORKDIR /build/eps
|
||||
RUN pip3 install . && mkdir -p /data
|
||||
|
||||
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||
ENTRYPOINT [ "tini", "-g", "--", "/docker-entrypoint.sh" ]
|
||||
CMD [ "electrum-personal-server" ]
|
29
EPS/0.2.1.1/linuxarm64v8.Dockerfile
Normal file
29
EPS/0.2.1.1/linuxarm64v8.Dockerfile
Normal file
@ -0,0 +1,29 @@
|
||||
FROM debian:buster-slim as builder
|
||||
RUN apt-get update && apt-get install -qq --no-install-recommends qemu-user-static
|
||||
|
||||
FROM arm64v8/python:3.8.1-slim-buster
|
||||
|
||||
COPY --from=builder /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static
|
||||
|
||||
ENV EPS_VERSION 0.2.1.1
|
||||
ENV EPS_SHA256 014ee376144c40a5b5c81405dc5713c5c6803b1a69f0525759a1e630de72269b
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -qq --no-install-recommends curl unzip wget tini && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /build
|
||||
WORKDIR /tmp
|
||||
RUN FILENAME="eps-v${EPS_VERSION}.zip" && \
|
||||
curl -fsSL "https://github.com/chris-belcher/electrum-personal-server/archive/$FILENAME" > "$FILENAME" && \
|
||||
echo "$EPS_SHA256 $FILENAME" | sha256sum -c - && \
|
||||
unzip "$FILENAME" && \
|
||||
DIRECTORY_NAME="electrum-personal-server-eps-v${EPS_VERSION}" && \
|
||||
mv "$DIRECTORY_NAME" "/build/eps" && rm "$FILENAME"
|
||||
|
||||
WORKDIR /build/eps
|
||||
RUN pip3 install . && mkdir -p /data
|
||||
|
||||
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||
ENTRYPOINT [ "tini", "-g", "--", "/docker-entrypoint.sh" ]
|
||||
CMD [ "electrum-personal-server" ]
|
Loading…
Reference in New Issue
Block a user