Rewrite of Dockerfile

This commit is contained in:
2024-09-15 21:30:28 -04:00
parent 9f0b984ea9
commit 3802da1541
3 changed files with 31 additions and 36 deletions

View File

@@ -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 }}

View File

@@ -1,34 +1,34 @@
ARG VERSION=1.16.0
FROM python:3.12-alpine3.20
LABEL maintainer="Bill Ballou <bill@bballou.com>"
ARG VERSION
COPY ./bin /usr/local/bin
FROM ubuntu:18.04
LABEL maintainer="Bill Ballou <bill@bballou.com>"
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"]
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"]

View File

@@ -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