-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
51 lines (40 loc) · 1.79 KB
/
Dockerfile
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
48
49
50
51
# Builder stage
FROM debian:bullseye-slim AS builder
# Set environment variables
ENV LITECOIN_VERSION=0.21.3
ENV LITECOIN_PLATFORM=aarch64-linux-gnu
# Install required packages
RUN apt-get update && \
apt-get install --no-install-recommends -y gnupg curl ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Download and verify Litecoin checksum
WORKDIR /tmp
RUN curl -SLO https://download.litecoin.org/litecoin-${LITECOIN_VERSION}/davidburkett38-key.pgp && \
gpg --import /tmp/davidburkett38-key.pgp && \
curl -SLO https://download.litecoin.org/litecoin-${LITECOIN_VERSION}/linux/litecoin-${LITECOIN_VERSION}-${LITECOIN_PLATFORM}.tar.gz && \
curl -SLO https://download.litecoin.org/litecoin-${LITECOIN_VERSION}/SHA256SUMS.asc && \
gpg --verify SHA256SUMS.asc && \
grep "litecoin-${LITECOIN_VERSION}-${LITECOIN_PLATFORM}.tar.gz" SHA256SUMS.asc | sha256sum -c - && \
tar -xzf litecoin-${LITECOIN_VERSION}-${LITECOIN_PLATFORM}.tar.gz -C /tmp --strip-components=1 && \
rm /tmp/litecoin-${LITECOIN_VERSION}-${LITECOIN_PLATFORM}.tar.gz && \
rm /tmp/davidburkett38-key.pgp && \
rm /tmp/SHA256SUMS.asc
# Runtime stage
FROM debian:buster-slim
# Install runtime dependencies
RUN apt-get update && \
apt-get install --no-install-recommends -y ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Copy Litecoin binaries from the build stage
COPY --from=builder /tmp/bin /usr/local/litecoin/bin
# Set working directory
WORKDIR /opt/litecoin
# Create a non-root user and group, and set ownership
RUN addgroup --system litecoin && adduser --system --ingroup litecoin litecoin && \
chown -R litecoin:litecoin /opt/litecoin /usr/local/litecoin
# Switch to the non-root user
USER litecoin
# Expose Litecoin ports
EXPOSE 9332 9333
# Run litecoind
CMD ["/usr/local/litecoin/bin/litecoind"]