Dockerfile.strfry raw
1 FROM ubuntu:22.04 AS builder
2
3 ENV DEBIAN_FRONTEND=noninteractive
4
5 # Install build dependencies
6 RUN apt-get update && apt-get install -y \
7 git \
8 build-essential \
9 liblmdb-dev \
10 libsecp256k1-dev \
11 pkg-config \
12 libtool \
13 autoconf \
14 automake \
15 && rm -rf /var/lib/apt/lists/*
16
17 WORKDIR /build
18 COPY . .
19
20 # Build strfry
21 RUN make setup-golpe && \
22 make -j$(nproc)
23
24 FROM ubuntu:22.04
25 RUN apt-get update && apt-get install -y \
26 liblmdb0 \
27 libsecp256k1-0 \
28 curl \
29 && rm -rf /var/lib/apt/lists/*
30
31 WORKDIR /app
32 COPY --from=builder /build/strfry /app/
33 RUN mkdir -p /data
34
35 EXPOSE 8080
36 ENV STRFRY_DB_PATH=/data/strfry.lmdb
37 ENV STRFRY_RELAY_PORT=8080
38
39 HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
40 CMD curl -f http://localhost:8080 || exit 1
41
42 CMD ["/app/strfry", "relay"]
43