Add official Dockerfile (#17)
The Dockerfile builds on windows x86, linux x86/arm and mac x86/arm. It uses a JVM build, which is simpler and more portable than native builds. --------- Co-authored-by: Seth For Privacy <40500387+sethforprivacy@users.noreply.github.com>
This commit is contained in:
parent
3f1a64a4e1
commit
2964e34213
46
.docker/Dockerfile
Normal file
46
.docker/Dockerfile
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# 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.1.4
|
||||||
|
ARG PHOENIXD_COMMIT_HASH=04bd430c48b09611ac201d44fe4a25c32aad0a5f
|
||||||
|
|
||||||
|
# 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"]
|
Loading…
x
Reference in New Issue
Block a user