Compare commits

...

28 Commits

Author SHA1 Message Date
Vivek Teega
134cd34343 Updare README.md for FLO
Some checks failed
Build on master push / Build Docker image (push) Has been cancelled
2021-12-10 16:54:59 +05:30
Vivek Teega
224ee03a4c Removed extra checkout command 2021-12-10 16:43:26 +05:30
Vivek Teega
1e65ac24f7 Change the electrum repository to RanchiMall's docker-image branch 2021-12-10 10:53:22 +00:00
Vivek Teega
16bac03eb5 redirect repository to Ranchimall's version 2021-12-10 15:09:08 +05:30
Luke Childs
ae0dcbb302
Automate multi arch builds on GitHub Actions (#65) 2021-10-12 22:08:37 +01:00
Luke Childs
550590c891 Use uvloop
Resolves https://github.com/spesmilo/electrumx/issues/92
2021-05-16 21:51:46 +07:00
Charles Hill
306061fd24
Change docs link to spesmilo fork (#62) 2021-02-27 00:52:06 +07:00
Luke Childs
cbedc7e181 v1.16.0 2021-02-03 16:20:44 +07:00
bavarianledger
df67c3360a
Updated to spesmilo's fork (#59) 2021-02-03 16:17:40 +07:00
Vítor Matias
414bae37ba
v1.15.0 (#57) 2020-05-29 15:58:00 +07:00
dmeyerholt
1fcf5c8fbc
Fix alpine version, use version for leveldb-dev (#54) 2020-03-21 00:34:45 +07:00
Luke Childs
18cd61aa4c
Update badges 2020-02-27 15:09:20 +07:00
Mave95
574f051a84 v1.14.0 (#51) 2020-02-12 18:28:20 +07:00
Luke Childs
c25d387987
Create FUNDING.yml 2019-11-19 17:33:10 +07:00
Luke Childs
43a81cf88f
Remove RocksDB documentation from readme
We don't need to document it here, it's already documented in the linked ElectrumX documentation.
2019-11-06 20:34:13 +07:00
Axel Gembe
e11faebe81 Get leveldb-dev from main repository (#40) 2019-11-05 15:52:08 +07:00
Mave95
1cd386c283 v1.13.0 (#39) 2019-10-08 10:03:13 +07:00
Marvin D
eea20f012b Support RocksDB (#35) 2019-06-17 15:22:32 +07:00
Marvin D
a89d072599 Update base image to python:3.7-alpine3.9 (#34) 2019-06-13 14:37:30 +07:00
Marvin D
1af263321a Add websockets dependency (#33) 2019-06-13 14:10:33 +07:00
Marvin D
54ca0450d9 Allow remote connection for RPC service (#29) 2019-05-16 14:51:00 +07:00
Luke Childs
6bc0b59eae Enable RPC port 2019-05-16 07:33:46 +07:00
Luke Childs
728780177c Enable WebSocket port 2019-05-16 07:28:12 +07:00
Marvin D
8317befc76 v1.12.0 (#28) 2019-05-16 07:25:00 +07:00
Luke Childs
5d5a762396 Remove version check on Travis
Sometimes the git tag doesn't exactly match the electrum version.
e.g tag 1.12.0 = version 1.12
2019-05-16 07:22:53 +07:00
Michael Schmoock
43d64c787c v1.11.0 2019-04-23 15:12:09 +07:00
Michael Schmoock
fb93f3a85b Update leveldb repository link (#22) 2019-04-23 15:00:26 +07:00
Luke Childs
275de08342 v1.10.1 2019-04-14 16:21:34 +07:00
6 changed files with 87 additions and 27 deletions

7
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,7 @@
github:
- 'lukechilds'
custom:
- 'https://blockstream.info/address/1LukeQU5jwebXbMLDVydeH4vFSobRV9rkj'
- 'https://blockstream.info/address/3Luke2qRn5iLj4NiFrvLBu2jaEj7JeMR6w'
- 'https://blockstream.info/address/bc1qlukeyq0c69v97uss68fet26kjkcsrymd2kv6d4'
- 'https://tippin.me/@lukechilds'

39
.github/workflows/on-master-push.yml vendored Normal file
View File

@ -0,0 +1,39 @@
name: Build on master push
on:
push:
branches:
- master
env:
DOCKER_CLI_EXPERIMENTAL: enabled
jobs:
build:
name: Build Docker image
runs-on: ubuntu-18.04
env:
VERSION: 1.16.0
steps:
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u lukechilds --password-stdin
- name: Checkout project
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
id: qemu
- name: Setup Docker buildx action
uses: docker/setup-buildx-action@v1
id: buildx
- name: Run Docker buildx
run: |
docker buildx build \
--platform linux/amd64,linux/arm64 \
--build-arg VERSION=$VERSION \
--tag lukechilds/electrumx:v$VERSION \
--tag lukechilds/electrumx:latest \
--output "type=registry" .

View File

@ -1,7 +0,0 @@
sudo: required
services:
- docker
script: docker build -t electrumx . && ( docker run electrumx cat /electrumx/electrumx/__init__.py | tee /dev/stderr | grep -q "'ElectrumX $(cat VERSION)'" ) 2>&1
notifications:
email:
on_success: never

View File

@ -1,15 +1,18 @@
FROM python:3.7-alpine3.7
ARG VERSION=1.16.0
FROM python:3.7-alpine3.11
LABEL maintainer="Luke Childs <lukechilds123@gmail.com>"
COPY ./bin /usr/local/bin
COPY ./VERSION /tmp
ARG VERSION
RUN VERSION=$(cat /tmp/VERSION) && \
chmod a+x /usr/local/bin/* && \
COPY ./bin /usr/local/bin
RUN chmod a+x /usr/local/bin/* && \
apk add --no-cache git build-base openssl && \
apk add --no-cache --repository http://nl.alpinelinux.org/alpine/edge/testing leveldb-dev && \
pip install aiohttp pylru plyvel && \
git clone -b $VERSION https://github.com/kyuupichan/electrumx.git && \
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.11/main leveldb-dev && \
apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing rocksdb-dev && \
pip install aiohttp pylru plyvel websockets python-rocksdb uvloop && \
git clone -b docker-image https://github.com/ranchimall/electrumx.git && \
cd electrumx && \
python setup.py install && \
apk del git build-base && \
@ -18,14 +21,14 @@ RUN VERSION=$(cat /tmp/VERSION) && \
VOLUME ["/data"]
ENV HOME /data
ENV ALLOW_ROOT 1
ENV EVENT_LOOP_POLICY uvloop
ENV DB_DIRECTORY /data
ENV TCP_PORT=50001
ENV SSL_PORT=50002
ENV SERVICES=tcp://:50001,ssl://:50002,wss://:50004,rpc://0.0.0.0:8000
ENV SSL_CERTFILE ${DB_DIRECTORY}/electrumx.crt
ENV SSL_KEYFILE ${DB_DIRECTORY}/electrumx.key
ENV HOST ""
WORKDIR /data
EXPOSE 50001 50002
EXPOSE 50001 50002 50004 8000
CMD ["init"]

View File

@ -4,7 +4,9 @@
[![Build Status](https://travis-ci.org/lukechilds/docker-electrumx.svg?branch=master)](https://travis-ci.org/lukechilds/docker-electrumx)
[![Image Layers](https://images.microbadger.com/badges/image/lukechilds/electrumx.svg)](https://microbadger.com/images/lukechilds/electrumx)
[![Docker Pulls](https://img.shields.io/docker/pulls/lukechilds/electrumx.svg)](https://hub.docker.com/r/lukechilds/electrumx/)
[![tippin.me](https://badgen.net/badge/%E2%9A%A1%EF%B8%8Ftippin.me/@lukechilds/F0918E)](https://tippin.me/@lukechilds)
[![GitHub Donate](https://badgen.net/badge/GitHub/Sponsor/D959A7?icon=github)](https://github.com/sponsors/lukechilds)
[![Bitcoin Donate](https://badgen.net/badge/Bitcoin/Donate/F19537?icon=bitcoin)](https://blockstream.info/address/3Luke2qRn5iLj4NiFrvLBu2jaEj7JeMR6w)
[![Lightning Donate](https://badgen.net/badge/Lightning/Donate/F6BC41?icon=bitcoin-lightning)](https://tippin.me/@lukechilds?refurl=github.com/lukechilds/docker-electrumx)
> Run an Electrum server with one command
@ -12,24 +14,41 @@ An easily configurable Docker image for running an Electrum server.
## Usage
Create a Docker volume to store the data, and then run the container
```
docker volume create electrumx
docker run \
-v /home/username/electrumx:/data \
-e DAEMON_URL=http://user:pass@host:port \
-e COIN=BitcoinSegwit \
-p 50002:50002 \
lukechilds/electrumx
-d --network="host"
-v electrumx:/data \
-e DAEMON_URL=http://user:pass@127.0.0.1:7313 \
-e COIN=FLO \
ranchimallfze/electrumx
```
If there's an SSL certificate/key (`electrumx.crt`/`electrumx.key`) in the `/data` volume it'll be used. If not, one will be generated for you.
You can view all ElectrumX environment variables here: https://github.com/kyuupichan/electrumx/blob/master/docs/environment.rst
You can view all ElectrumX environment variables here: https://github.com/spesmilo/electrumx/blob/master/docs/environment.rst
### TCP Port
By default only the SSL port is exposed. You can expose the unencrypted TCP port with `-p 50001:50001`, although this is strongly discouraged.
### Version
### WebSocket Port
You can expose the WebSocket port with `-p 50004:50004`.
### RPC Port
To access RPC from your host machine, you'll also need to expose port 8000. You probably only want this available to localhost: `-p 127.0.0.1:8000:8000`.
If you're only accessing RPC from within the container, there's no need to expose the RPC port.
### Version
**Note - this feature is to be finished for RanchiMall's FLO version**
You can also run a specific version of ElectrumX if you want.

View File

@ -1 +0,0 @@
1.10.0