1+ # syntax=docker/dockerfile:1
12FROM ubuntu:jammy AS build
23
34ENV TZ=Europe/London
45
56WORKDIR /build
67
7- RUN apt update && apt install -y --no-install-recommends \
8+ RUN apt-get update && apt-get install -y --no-install-recommends \
89 git g++ make pkg-config libtool ca-certificates \
910 libssl-dev zlib1g-dev liblmdb-dev libflatbuffers-dev \
1011 libsecp256k1-dev libzstd-dev
1112
1213COPY . .
1314
1415RUN git submodule update --init
15-
1616RUN make setup-golpe
1717
1818RUN --mount=type=cache,target=/build/.cache \
@@ -22,13 +22,24 @@ FROM ubuntu:jammy AS runner
2222
2323WORKDIR /app
2424
25- RUN apt update && apt install -y --no-install-recommends \
26- liblmdb0 libflatbuffers1 libsecp256k1-0 libb2-1 libzstd1 \
25+ RUN apt-get update && apt-get install -y --no-install-recommends \
26+ liblmdb0 \
27+ libsecp256k1-0 \
28+ libzstd1 \
29+ libflatbuffers1 \
30+ libb2-1 \
2731 && rm -rf /var/lib/apt/lists/*
2832
29- COPY --from=build /build/strfry strfry
30- COPY --from=build /build/strfry.conf strfry.conf
31- COPY --from=build /build/strfry-db strfry-db
33+ # Create a non-root user for security
34+ RUN useradd -m -d /app -s /bin/bash strfry && \
35+ chown -R strfry:strfry /app
36+
37+ # Switch to the unprivileged user
38+ USER strfry
39+
40+ COPY --from=build --chown=strfry:strfry /build/strfry /app/strfry
41+ COPY --from=build --chown=strfry:strfry /build/strfry.conf /app/strfry.conf
42+ COPY --from=build --chown=strfry:strfry /build/strfry-db /app/strfry-db
3243
3344EXPOSE 7777
3445
0 commit comments