From a6c0c422716d8da509a2ac47aa6115ee6f6e748f Mon Sep 17 00:00:00 2001 From: status404 Date: Fri, 1 Nov 2024 17:57:51 +0300 Subject: [PATCH] dockerfile fix --- Docker/Dockerfile | 35 ----------------------------------- README.md | 13 ++++++------- docker-compose.yml | 7 +++---- docker/Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 46 deletions(-) delete mode 100644 Docker/Dockerfile create mode 100644 docker/Dockerfile diff --git a/Docker/Dockerfile b/Docker/Dockerfile deleted file mode 100644 index 2d7d8ff..0000000 --- a/Docker/Dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -# syntax=docker/dockerfile:3 - -FROM alpine:latest - -LABEL name="Electrum client" -LABEL project="electrum" - -EXPOSE 7000 - -ENV USER_UID=2000 -ENV USER_GID=2000 -ENV HOME=/home/electrum - -ENV ELECTRUM_USER=electrum_api -ENV ELECTRUM_PASSWORD=electrum_password -#ENV TESTNET=false - -#SHELL ["/bin/ash", "-ex", "-c"] - -RUN addgroup -g $USER_GID electrum ;\ - adduser -D -h $HOME -u $USER_UID -G electrum electrum - -RUN apk --no-cache add electrum - -USER electrum -WORKDIR $HOME - -ENTRYPOINT test "$ELECTRUM_TESTNET" = 1 -o "$ELECTRUM_TESTNET" = true && FLAGS='--testnet' ;\ - 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 ;\ - #electrum --offline $FLAGS create ;\ - exec electrum $FLAGS daemon - diff --git a/README.md b/README.md index 18e2776..0a1645a 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,6 @@ Here are some example snippets to help you get started creating a container. ## docker-compose ```yaml -version: "3" services: electrum: image: bitdeals/electrum @@ -19,8 +18,8 @@ services: - ELECTRUM_TESTNET=0 - ELECTRUM_API_USER= - ELECTRUM_API_PASSWORD= - ports: - - 7000:7000 + expose: + - "7000" ``` ## docker cli @@ -28,8 +27,8 @@ services: ```sh docker run -d \ -e ELECTRUM_TESTNET=0 \ - -e ELECTRUM_API_USER=api \ - -e ELECTRUM_API_PASSWORD=changeme \ + -e ELECTRUM_API_USER=electrum_api_user \ + -e ELECTRUM_API_PASSWORD=electrum_api_password \ -p 127.0.0.1:7000:7000 \ bitdeals/electrum ``` @@ -42,8 +41,8 @@ Container images are configured using parameters passed at runtime. |:--------|:-------| |-p 7000|JSON-RPC API port TCP| |-e ELECTRUM_TESTNET=|Set 1 to enable bitcoin testnet mode. Default: `0`| -|-e ELECTRUM_API_USER=|JSON-RPC API user. Default: `electrum_api`| -|-e ELECTRUM_API_PASSWORD=|JSON-RPC API password. Default: `electrum_password`| +|-e ELECTRUM_API_USER=|JSON-RPC API user. Default: `electrum_api_user`| +|-e ELECTRUM_API_PASSWORD=|JSON-RPC API password. Default: `electrum_api_password`| |-e USER_UID=|Electrum user id. Default: `2000`| |-e USER_GID=|Electrum user gid. Default: `2000`| diff --git a/docker-compose.yml b/docker-compose.yml index d693e08..24bdcca 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,11 +1,10 @@ -version: '3.9' services: electrum: - image: bitdeals/electrum:4.1.5-alpine + image: bitdeals/electrum:latest environment: - ELECTRUM_API_USER=electrum_api_user - ELECTRUM_API_PASSWORD=electrum_api_password - ELECTRUM_TESTNET=1 - ports: - - 7000:7000 + expose: + - "7000" diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..aa7950f --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,36 @@ +FROM alpine:latest + +#SHELL ["/bin/ash", "-ex", "-c"] + +LABEL name="Electrum client" +LABEL project="electrum" + +EXPOSE 7000 + +ENV USER_UID=2000 +ENV USER_GID=2000 +ENV HOME=/home/electrum + +ENV ELECTRUM_API_USER=electrum_api_user +ENV ELECTRUM_API_PASSWORD=electrum_api_password +#ENV TESTNET=false + +RUN addgroup -g $USER_GID electrum ;\ + adduser -D -h $HOME -u $USER_UID -G electrum electrum + +RUN apk --no-cache add electrum + +USER electrum +WORKDIR $HOME + +CMD test "$ELECTRUM_TESTNET" = 1 -o "$ELECTRUM_TESTNET" = true && FLAGS='--testnet' ;\ + electrum --offline $FLAGS setconfig rpcuser ${ELECTRUM_USER} 2>/dev/null ;\ + electrum --offline $FLAGS setconfig rpcpassword ${ELECTRUM_PASSWORD} 2>/dev/null ;\ + electrum --offline $FLAGS setconfig rpchost 0.0.0.0 2>/dev/null ;\ + electrum --offline $FLAGS setconfig rpcport 7000 2>/dev/null ;\ + #electrum --offline $FLAGS create ;\ + exec electrum $FLAGS daemon + +HEALTHCHECK --retries=0 --interval=30s \ + CMD { electrum getinfo ; electrum --testnet getinfo ;} | grep '"connected": true' +