You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.2 KiB
62 lines
1.2 KiB
# strfry Dockerfile for negentropy interop testing |
|
# Uses Ubuntu for easier dependency management |
|
|
|
FROM ubuntu:22.04 AS builder |
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
|
|
# Install build dependencies |
|
RUN apt-get update && apt-get install -y \ |
|
git \ |
|
build-essential \ |
|
liblmdb-dev \ |
|
libsecp256k1-dev \ |
|
libflatbuffers-dev \ |
|
libzstd-dev \ |
|
libssl-dev \ |
|
zlib1g-dev \ |
|
pkg-config \ |
|
libtool \ |
|
autoconf \ |
|
automake \ |
|
curl \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
WORKDIR /build |
|
|
|
# Clone strfry |
|
RUN git clone https://github.com/hoytech/strfry.git . && \ |
|
git submodule update --init |
|
|
|
# Build strfry |
|
RUN make setup-golpe && \ |
|
make -j$(nproc) |
|
|
|
# Runtime image |
|
FROM ubuntu:22.04 |
|
|
|
RUN apt-get update && apt-get install -y \ |
|
liblmdb0 \ |
|
libsecp256k1-0 \ |
|
libflatbuffers1 \ |
|
libzstd1 \ |
|
libssl3 \ |
|
curl \ |
|
jq \ |
|
websocat \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
WORKDIR /app |
|
COPY --from=builder /build/strfry /app/ |
|
RUN mkdir -p /data/strfry-db |
|
|
|
# Copy config |
|
COPY strfry.conf /etc/strfry.conf |
|
|
|
EXPOSE 7777 |
|
|
|
HEALTHCHECK --interval=5s --timeout=5s --start-period=10s --retries=3 \ |
|
CMD curl -f http://localhost:7777 || exit 1 |
|
|
|
# Run strfry relay |
|
CMD ["/app/strfry", "--config=/etc/strfry.conf", "relay"]
|
|
|