2024-07-03 16:05:33 +02:00

47 lines
1.5 KiB
Docker

# Use Ubuntu image for building for compatibility with macOS arm64 builds
FROM eclipse-temurin:21-jdk-jammy AS BUILD
# Set necessary args and environment variables for building phoenixd
ARG PHOENIXD_BRANCH=v0.2.0
ARG PHOENIXD_COMMIT_HASH=6eb09406376b2ec34f898a81adfb67c4a0ca1ed3
# Upgrade all packages and install dependencies
RUN apt-get update \
&& apt-get upgrade -y
RUN apt-get install -y --no-install-recommends bash git \
&& apt clean
# Git pull phoenixd source at specified tag/branch and compile phoenixd
WORKDIR /phoenixd
RUN git clone --recursive --single-branch --branch ${PHOENIXD_BRANCH} -c advice.detachedHead=false \
https://github.com/ACINQ/phoenixd . \
&& test `git rev-parse HEAD` = ${PHOENIXD_COMMIT_HASH} || exit 1 \
&& ./gradlew distTar
# Alpine image to minimize final image size
FROM eclipse-temurin:21-jre-alpine as FINAL
# Upgrade all packages and install dependencies
RUN apk update \
&& apk upgrade --no-interactive
RUN apk add --update --no-cache bash
# Create a phoenix group and user
RUN addgroup -S phoenix -g 1000 \
&& adduser -S phoenix -G phoenix -u 1000 -h /phoenix
USER phoenix
# Unpack the release
WORKDIR /phoenix
COPY --chown=phoenix:phoenix --from=BUILD /phoenixd/build/distributions/phoenix-*-jvm.tar .
RUN tar --strip-components=1 -xvf phoenix-*-jvm.tar
# Indicate that the container listens on port 9740
EXPOSE 9740
# Expose default data directory as VOLUME
VOLUME [ "/phoenix" ]
# Run the daemon
ENTRYPOINT ["/phoenix/bin/phoenixd", "--agree-to-terms-of-service", "--http-bind-ip", "0.0.0.0"]