docker-zerotier-planet/Dockerfile

73 lines
2.0 KiB
Docker
Raw Normal View History

FROM alpine:3.14 as builder
ENV TZ=Asia/Shanghai
WORKDIR /app
ADD ./entrypoint.sh /app/entrypoint.sh
ADD ./http_server.js /app/http_server.js
2024-01-19 01:33:48 -05:00
ADD ./mkmoonworld-x86_64 /app/mkmoonworld-x86_64
# init tool
RUN set -x\
2023-05-14 22:19:35 -04:00
&& apk update\
&& apk add --no-cache git python3 npm make g++ linux-headers curl pkgconfig openssl-dev jq build-base gcc \
&& echo "env prepare success!"
# make zerotier-one
RUN set -x\
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\
&& source "$HOME/.cargo/env"\
&& git clone https://github.com/zerotier/ZeroTierOne.git\
&& cd ZeroTierOne\
&& make ZT_SYMLINK=1 \
&& make\
&& make install\
&& echo "make success!"\
; zerotier-one -d \
; sleep 5s && ps -ef |grep zerotier-one |grep -v grep |awk '{print $1}' |xargs kill -9\
&& echo "zerotier-one init success!"
#make ztncui
RUN set -x \
&& mkdir /app -p \
&& cd /app \
&& git clone --progress https://ghproxy.markxu.online/https://github.com/key-networks/ztncui.git\
2023-05-14 22:19:35 -04:00
&& cd /app/ztncui/src \
&& npm config set registry https://registry.npmmirror.com\
&& npm install -g node-gyp\
&& npm install
FROM alpine:3.14
WORKDIR /app
ENV IP_ADDR4=''
ENV IP_ADDR6=''
ENV ZT_PORT=9994
ENV API_PORT=3443
ENV FILE_SERVER_PORT=3000
ENV GH_MIRROR="https://ghproxy.markxu.online/"
ENV FILE_KEY=''
ENV TZ=Asia/Shanghai
COPY --from=builder /app/ztncui /bak/ztncui
COPY --from=builder /var/lib/zerotier-one /bak/zerotier-one
COPY --from=builder /app/ZeroTierOne/zerotier-one /usr/sbin/zerotier-one
COPY --from=builder /app/entrypoint.sh /app/entrypoint.sh
COPY --from=builder /app/http_server.js /app/http_server.js
2024-01-19 01:33:48 -05:00
COPY --from=builder /app/mkmoonworld-x86_64 /app/mkmoonworld-x86_64
RUN set -x ;sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \
&& apk update \
2024-01-06 08:07:05 -05:00
&& apk add --no-cache npm curl jq openssl\
&& mkdir /app/config -p
VOLUME [ "/app/dist","/app/ztncui","/var/lib/zerotier-one","/app/config"]
CMD ["/bin/sh","/app/entrypoint.sh"]