* lndk-eclair bolt12 test environment * use static certs for lndk dev * move eclair/lndk/cln to wallets profile, force lndk onto x86 platform * fix port conflict --------- Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com> Co-authored-by: k00b <k00b@stacker.news>
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
# based on https://github.com/LN-Zap/bolt12-playground
 | 
						|
FROM acinq/eclair:0.11.0
 | 
						|
 | 
						|
 | 
						|
ENTRYPOINT JAVA_OPTS="${JAVA_OPTS}" eclair-node/bin/eclair-node.sh "-Declair.datadir=${ECLAIR_DATADIR}"
 | 
						|
 | 
						|
#################
 | 
						|
# Builder image #
 | 
						|
#################
 | 
						|
FROM maven:3.8.6-openjdk-11-slim AS builder
 | 
						|
 | 
						|
RUN apt-get update \
 | 
						|
    && apt-get install -y --no-install-recommends \
 | 
						|
    git \
 | 
						|
    && apt-get clean \
 | 
						|
    && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
# References for eclair
 | 
						|
ARG ECLAIR_REF=b73a009a1d7d7ea3a158776cd233512b9a538550
 | 
						|
ARG ECLAIR_PLUGINS_REF=cdc26dda96774fdc3b54075df078587574891fb7
 | 
						|
 | 
						|
WORKDIR /usr/src/eclair
 | 
						|
RUN git clone https://github.com/ACINQ/eclair.git . \
 | 
						|
    && git reset --hard ${ECLAIR_REF}
 | 
						|
RUN mvn install -pl eclair-node -am -DskipTests -Dgit.commit.id=notag -Dgit.commit.id.abbrev=notag
 | 
						|
 | 
						|
WORKDIR /usr/src/eclair-plugins
 | 
						|
RUN git clone https://github.com/ACINQ/eclair-plugins.git . \
 | 
						|
    && git reset --hard ${ECLAIR_PLUGINS_REF}
 | 
						|
WORKDIR /usr/src/eclair-plugins/bolt12-tip-jar
 | 
						|
RUN mvn package -DskipTests
 | 
						|
 | 
						|
# ###############
 | 
						|
# # final image #
 | 
						|
# ###############
 | 
						|
FROM openjdk:11.0.16-jre-slim-bullseye
 | 
						|
WORKDIR /opt
 | 
						|
 | 
						|
# Add utils
 | 
						|
RUN apt-get update \
 | 
						|
    && apt-get install -y --no-install-recommends \
 | 
						|
    bash jq curl unzip \
 | 
						|
    && apt-get clean \
 | 
						|
    && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
# copy and install eclair-cli executable
 | 
						|
COPY --from=builder /usr/src/eclair/eclair-core/eclair-cli .
 | 
						|
RUN chmod +x eclair-cli && mv eclair-cli /sbin/eclair-cli
 | 
						|
 | 
						|
# we only need the eclair-node.zip to run
 | 
						|
COPY --from=builder /usr/src/eclair/eclair-node/target/eclair-node-*.zip ./eclair-node.zip
 | 
						|
RUN unzip eclair-node.zip && mv eclair-node-* eclair-node && chmod +x eclair-node/bin/eclair-node.sh
 | 
						|
 | 
						|
# copy and install bolt12-tip-jar plugin
 | 
						|
COPY --from=builder /usr/src/eclair-plugins/bolt12-tip-jar/target/bolt12-tip-jar-0.10.1-SNAPSHOT.jar .
 | 
						|
 | 
						|
ENV ECLAIR_DATADIR=/data
 | 
						|
ENV JAVA_OPTS=
 | 
						|
 | 
						|
RUN mkdir -p "$ECLAIR_DATADIR"
 | 
						|
VOLUME [ "/data" ]
 | 
						|
 | 
						|
ARG LN_NODE_FOR
 | 
						|
ENV LN_NODE_FOR=$LN_NODE_FOR
 | 
						|
COPY ["./$LN_NODE_FOR/*", "/data"]
 | 
						|
 | 
						|
# ENTRYPOINT JAVA_OPTS="${JAVA_OPTS}" eclair-node/bin/eclair-node.sh "-Declair.datadir=${ECLAIR_DATADIR}"
 | 
						|
ENTRYPOINT JAVA_OPTS="${JAVA_OPTS}" eclair-node/bin/eclair-node.sh bolt12-tip-jar-0.10.1-SNAPSHOT.jar "-Declair.datadir=${ECLAIR_DATADIR}" |