63 lines
1.8 KiB
Docker
63 lines
1.8 KiB
Docker
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 <popovych.yegor@gmail.com>"
|
|
|
|
# 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/<Set name="host">127.0.0.1<\/Set>/<Set name="host">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" ] |