mirror of
https://github.com/xubiaolin/docker-zerotier-planet.git
synced 2025-01-22 12:48:14 -05:00
84 lines
2.4 KiB
Docker
84 lines
2.4 KiB
Docker
FROM alpine:3.14 as builder
|
|
|
|
ENV TZ=Asia/Shanghai
|
|
ARG TAG=main
|
|
ENV TAG=${TAG}
|
|
|
|
WORKDIR /app
|
|
ADD ./patch/entrypoint.sh /app/entrypoint.sh
|
|
ADD ./patch/http_server.js /app/http_server.js
|
|
ADD ./patch/mkworld_custom.cpp /app/patch/mkworld_custom.cpp
|
|
|
|
# init tool
|
|
RUN set -x\
|
|
&& 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\
|
|
&& git checkout ${TAG}\
|
|
&& echo "切换到tag:${TAG}"\
|
|
&& 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!"\
|
|
&& cp /app/patch/mkworld_custom.cpp ./attic/world\
|
|
&& mv ./attic/world/mkworld.cpp ./attic/world/mkworld.cpp.bak \
|
|
&& mv ./attic/world/mkworld_custom.cpp ./attic/world/mkworld.cpp \
|
|
&& sh ./attic/world/build.sh \
|
|
&& mv ./attic/world/mkworld /var/lib/zerotier-one\
|
|
&& echo "mkworld build success!"
|
|
|
|
|
|
|
|
#make ztncui
|
|
RUN set -x \
|
|
&& mkdir /app -p \
|
|
&& cd /app \
|
|
&& git clone --progress https://ghproxy.imoyuapp.win/https://github.com/key-networks/ztncui.git\
|
|
&& 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://mirror.ghproxy.com/"
|
|
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
|
|
COPY --from=builder /app/ZeroTierOne/attic/world/mkworld /var/lib/zerotier-one/mkworld
|
|
|
|
RUN set -x \
|
|
&& apk update \
|
|
&& 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"]
|