Dockerfile
This commit is contained in:
29
Docker/Dockerfile
Normal file
29
Docker/Dockerfile
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# syntax=docker/dockerfile:3
|
||||||
|
|
||||||
|
FROM alpine:3.15
|
||||||
|
|
||||||
|
#SHELL ["/bin/ash", "-ex", "-c"]
|
||||||
|
|
||||||
|
ENV ELECTRUM_USER=api
|
||||||
|
ENV ELECTRUM_PASSWORD=changeme
|
||||||
|
|
||||||
|
ENV HOME=/home/electrum
|
||||||
|
#ENV TESTNET=false
|
||||||
|
|
||||||
|
EXPOSE 7000
|
||||||
|
|
||||||
|
RUN adduser -D -h $HOME 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
|
||||||
|
|
||||||
47
README.md
Normal file
47
README.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# Intro
|
||||||
|
|
||||||
|
[Electrum client](https://electrum.org/) is light bitcoin wallet software operates through supernodes (Electrum server instances actually).
|
||||||
|
|
||||||
|
Electrum client running as a daemon in docker container with JSON-RPC API enabled.
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
Here are some example snippets to help you get started creating a container.
|
||||||
|
|
||||||
|
## docker-compose
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
electrum:
|
||||||
|
image: bitdeals/electrum
|
||||||
|
environment:
|
||||||
|
- ELECTRUM_TESTNET=0
|
||||||
|
- ELECTRUM_API_USER=<username>
|
||||||
|
- ELECTRUM_API_PASSWORD=<password>
|
||||||
|
ports:
|
||||||
|
- 7000:7000
|
||||||
|
```
|
||||||
|
|
||||||
|
## docker cli
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker run -d \
|
||||||
|
-e ELECTRUM_TESTNET=0 \
|
||||||
|
-e ELECTRUM_API_USER=api \
|
||||||
|
-e ELECTRUM_API_PASSWORD=changeme \
|
||||||
|
-p 127.0.0.1:7000:7000 \
|
||||||
|
bitdeals/electrum
|
||||||
|
```
|
||||||
|
|
||||||
|
# Parameters
|
||||||
|
|
||||||
|
Container images are configured using parameters passed at runtime.
|
||||||
|
|
||||||
|
|Parameter|Function|
|
||||||
|
|:--------|:-------|
|
||||||
|
|-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: `api`|
|
||||||
|
|-e ELECTRUM_API_PASSWORD=|JSON-RPC API password. Default: `changeme`|
|
||||||
|
|
||||||
11
docker-compose.yml
Normal file
11
docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
version: '3.9'
|
||||||
|
services:
|
||||||
|
electrum:
|
||||||
|
image: bitdeals/electrum:4.1.5-alpine
|
||||||
|
environment:
|
||||||
|
- ELECTRUM_API_USER=electrum_api_user
|
||||||
|
- ELECTRUM_API_PASSWORD=electrum_api_password
|
||||||
|
- ELECTRUM_TESTNET=1
|
||||||
|
ports:
|
||||||
|
- 7000:7000
|
||||||
|
|
||||||
24
electrum-appimage.service
Normal file
24
electrum-appimage.service
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Electrum appimage service
|
||||||
|
Documentation=https://electrum.readthedocs.io/en/latest/jsonrpc.html
|
||||||
|
ConditionPathExists=/home/electrum/electrum.AppImage
|
||||||
|
After=network.target
|
||||||
|
Wants=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/home/electrum/electrum.AppImage daemon
|
||||||
|
#ExecStartPost=/home/electrum/electrum.AppImage --testnet daemon load_wallet -w /home/electrum/.electrum/testnet/wallets/default_wallet
|
||||||
|
WorkingDirectory=/home/electrum
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
SyslogIdentifier=electrum
|
||||||
|
User=electrum
|
||||||
|
Group=electrum
|
||||||
|
PrivateTmp=yes
|
||||||
|
ProtectSystem=full
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
||||||
Reference in New Issue
Block a user