FROM alpine:3.8 # Taking care of glibc shit (glibc not natively supported by Alpine but lightning-cli uses it) ENV GLIBC_VERSION 2.27-r0 ENV GLIBC_SHA256 938bceae3b83c53e7fa9cc4135ce45e04aae99256c5e74cf186c794b97473bc7 ENV GLIBCBIN_SHA256 3a87874e57b9d92e223f3e90356aaea994af67fb76b71bb72abfb809e948d0d6 # Download and install glibc (https://github.com/jeanblanchard/docker-alpine-glibc/blob/master/Dockerfile) RUN wget -O /etc/apk/keys/sgerrand.rsa.pub https://github.com/sgerrand/alpine-pkg-glibc/releases/download/$GLIBC_VERSION/sgerrand.rsa.pub \ && wget -O glibc.apk "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk" \ && echo "$GLIBC_SHA256 glibc.apk" | sha256sum -c - \ && wget -O glibc-bin.apk "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk" \ && echo "$GLIBCBIN_SHA256 glibc-bin.apk" | sha256sum -c - \ && apk add --update --no-cache glibc-bin.apk glibc.apk \ && /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib \ && echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf \ && rm -rf glibc.apk glibc-bin.apk ENV HOME /proxy RUN apk add --update --no-cache \ sqlite \ jq \ curl \ su-exec COPY app/data/cyphernode.sql ${HOME} COPY app/data/sqlmigrate* ${HOME} COPY app/html/statuspage.sh ${HOME} COPY app/script/callbacks_job.sh ${HOME} COPY app/script/blockchainrpc.sh ${HOME} COPY app/script/call_lightningd.sh ${HOME} COPY app/script/bitcoin.sh ${HOME} COPY app/script/ots.sh ${HOME} COPY app/script/requesthandler.sh ${HOME} COPY app/script/watchrequest.sh ${HOME} COPY app/script/walletoperations.sh ${HOME} COPY app/script/confirmation.sh ${HOME} COPY app/script/startproxy.sh ${HOME} COPY app/script/trace.sh ${HOME} COPY app/script/sendtobitcoinnode.sh ${HOME} COPY app/script/responsetoclient.sh ${HOME} COPY app/script/importaddress.sh ${HOME} COPY app/script/sql.sh ${HOME} COPY app/script/computefees.sh ${HOME} COPY app/script/unwatchrequest.sh ${HOME} COPY app/script/getactivewatches.sh ${HOME} COPY app/script/manage_missed_conf.sh ${HOME} COPY app/script/tests.sh ${HOME} COPY app/script/tests-cb.sh ${HOME} COPY --from=cyphernode/clightning:v0.6.2 /usr/bin/lightning-cli ${HOME} WORKDIR ${HOME} RUN chmod +x startproxy.sh requesthandler.sh lightning-cli sqlmigrate*.sh \ && chmod o+w . \ && mkdir db VOLUME ["${HOME}/db", "/.lightning"] ENTRYPOINT ["su-exec"]