forked from romanz/electrs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.ci
47 lines (40 loc) · 1.87 KB
/
Dockerfile.ci
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Important: This file is provided for demonstration purposes and may NOT be suitable for production use.
# The maintainers of electrs are not deeply familiar with Docker, so you should DYOR.
# If you are not familiar with Docker either it's probably be safer to NOT use it.
FROM debian:bookworm-slim as base
RUN apt-get update -qqy
RUN apt-get install -qqy librocksdb-dev wget
### Electrum Rust Server ###
FROM base as electrs-build
RUN apt-get install -qqy cargo clang cmake
# Install electrs
WORKDIR /build/electrs
COPY . .
ENV ROCKSDB_INCLUDE_DIR=/usr/include
ENV ROCKSDB_LIB_DIR=/usr/lib
RUN cargo install --locked --path .
### Groestlcoin Core ###
FROM base as groestlcoin-build
# Download
WORKDIR /build/groestlcoin
ARG ARCH=x86_64
ARG GROESTLCOIND_VERSION=26.0
RUN wget -q https://github.com/Groestlcoin/groestlcoin/releases/download/v$GROESTLCOIND_VERSION/groestlcoin-$GROESTLCOIND_VERSION-x86_64-linux-gnu.tar.gz
RUN tar xvf groestlcoin-$GROESTLCOIND_VERSION-x86_64-linux-gnu.tar.gz
RUN mv -v groestlcoin-$GROESTLCOIND_VERSION/bin/groestlcoind .
RUN mv -v groestlcoin-$GROESTLCOIND_VERSION/bin/groestlcoin-cli .
FROM base as result
# Copy the binaries
COPY --from=electrs-build /root/.cargo/bin/electrs /usr/bin/electrs
COPY --from=groestlcoin-build /build/groestlcoin/groestlcoind /build/groestlcoin/groestlcoin-cli /usr/bin/
RUN groestlcoind -version && groestlcoin-cli -version
### Electrum ###
# Clone latest Electrum wallet and a few test tools
WORKDIR /build/
RUN apt-get install -qqy git libsecp256k1-1 python3-cryptography python3-setuptools python3-venv python3-pip jq curl
RUN git clone --recurse-submodules https://github.com/Groestlcoin/electrum-grs/ && cd electrum-grs/ && git log -1
RUN python3 -m venv --system-site-packages venv && \
venv/bin/pip install -e electrum-grs/ && \
ln /build/venv/bin/electrum-grs /usr/bin/electrum-grs
RUN electrum-grs version --offline
WORKDIR /