FROM alpine:latest AS builder # GIT TAG FOR BUILD ARG GIT_TAG="" ENV GIT_TAG=${GIT_TAG} RUN apk --no-cache add git gettext apache-ant openjdk8 curl jq zip RUN mkdir /src && wget https://i2pplus.github.io/installers/i2psnark-standalone.zip -O /src/i2psnark-standalone.zip RUN mkdir /snark && unzip /src/i2psnark-standalone.zip -d /snark FROM alpine:latest LABEL maintainer="Yehor Popovych " # GIT TAG FOR BUILD ARG GIT_TAG="" ENV GIT_TAG=${GIT_TAG} # allowed hostnames for web ui ARG HOSTNAMES="" ENV HOSTNAMES=${HOSTNAMES} # GID on the HOST from which i2psnark will work ARG HOST_GID=1000 ENV HOST_GID=${HOST_GID} # UID on the HOST from which i2psnark will work ARG HOST_UID=1000 ENV HOST_UID=${HOST_UID} # I2CP hostname ARG I2CP_HOST="" ENV I2CP_HOST=${I2CP_HOST} # I2CP port ARG I2CP_PORT=7654 ENV I2CP_PORT=${I2CP_PORT} RUN addgroup -g ${HOST_GID} i2psnark \ && adduser -h /snark -G i2psnark -u ${HOST_UID} -D i2psnark COPY --from=builder --chown=${HOST_GID}:${HOST_UID} /snark /snark RUN sed -i 's/127.0.0.1<\/Set>/0.0.0.0<\/Set>/' /snark/i2psnark/jetty-i2psnark.xml \ && echo "i2psnark.dir=/snark/downloads" > /snark/i2psnark.config.default \ && echo "i2psnark.i2cpHost=${I2CP_HOST}" >> /snark/i2psnark.config.default \ && echo "i2psnark.i2cpPort=${I2CP_PORT}" >> /snark/i2psnark.config.default \ && echo "i2psnark.allowedHosts=${HOSTNAMES}" >> /snark/i2psnark/i2psnark-appctx.config \ && chown -R i2psnark:i2psnark /snark \ && cd /snark/i2psnark && ln -s ../config i2psnark.config.d \ && rm -rf /src \ && apk --no-cache add openjdk8-jre-base su-exec shadow VOLUME /snark/config VOLUME /snark/downloads COPY entrypoint.sh /entrypoint.sh RUN chmod a+x /entrypoint.sh EXPOSE 8002 ENTRYPOINT [ "/entrypoint.sh" ]