diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 4a96043..f28edbb 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-20.04 env: - VERSION: 1.16.0 + VERSION: 1.13.0 steps: @@ -45,4 +45,6 @@ jobs: with: platforms: ${{ steps.prepare.outputs.docker_platform }} push: true + build-args: + - VERSION=${{ steps.prepare.outputs.version }} tags: git.prettyhefty.com/${{ steps.prepare.outputs.repository }}:${{ steps.prepare.outputs.version }} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index c06cbb5..381cc92 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,34 +1,34 @@ -ARG VERSION=1.16.0 - -FROM python:3.12-alpine3.20 -LABEL maintainer="Bill Ballou " - ARG VERSION -COPY ./bin /usr/local/bin +FROM ubuntu:18.04 +LABEL maintainer="Bill Ballou " -RUN chmod a+x /usr/local/bin/* && \ - apk add --no-cache git build-base openssl && \ - apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.20/community/ leveldb-dev && \ - apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/v3.20/community/ rocksdb-dev && \ - pip install aiohttp pylru plyvel websockets python-rocksdb uvloop && \ - git clone -b $VERSION https://github.com/spesmilo/electrumx.git && \ - cd electrumx && \ - python setup.py install && \ - apk del git build-base && \ - rm -rf /tmp/* +WORKDIR / -VOLUME ["/data"] -ENV HOME /data -ENV ALLOW_ROOT 1 -ENV EVENT_LOOP_POLICY uvloop -ENV DB_DIRECTORY /data -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 +RUN git clone -b $VERSION https://github.com/spesmilo/electrumx.git -EXPOSE 50001 50002 50004 8000 +RUN apt-get update -CMD ["init"] \ No newline at end of file +RUN apt-get -y install python3.7 python3-pip librocksdb-dev libsnappy-dev libbz2-dev libz-dev liblz4-dev + +RUN pip3 install aiohttp pylru python-rocksdb + +RUN cd electrumx + +RUN python3 setup.py install + +ENV SERVICES="tcp://:50001" +ENV COIN=BitcoinSV +ENV DB_DIRECTORY=/db +ENV DAEMON_URL="http://username:password@hostname:port/" +ENV ALLOW_ROOT=true +ENV DB_ENGINE=rocksdb +ENV MAX_SEND=10000000 +ENV BANDWIDTH_UNIT_COST=50000 +ENV CACHE_MB=2000 + +VOLUME /db + +RUN mkdir -p "$DB_DIRECTORY" && ulimit -n 1048576 + +CMD ["/usr/bin/python3", "/usr/local/bin/electrumx_server"] \ No newline at end of file diff --git a/bin/init b/bin/init deleted file mode 100644 index 6534e22..0000000 --- a/bin/init +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -if [ ! -e "${SSL_CERTFILE}" ] || [ ! -e "${SSL_KEYFILE}" ]; then - openssl req -newkey rsa:2048 -sha256 -nodes -x509 -days 365 -subj "/O=ElectrumX" -keyout "${SSL_KEYFILE}" -out "${SSL_CERTFILE}" -fi - -exec /electrumx/electrumx_server \ No newline at end of file