docker-zerotier-planet/Dockerfile
Markxu d5cd1505da
修改为Alpine镜像 (#53)
* feat: 🎸 修改部署方式

* feat: 🎸 修改目录

* feat: 🎸 修改文案

* feat: 🎸 修改目录

* feat: 🎸 change mirror

* feat: 🎸 add ignore

* feat: 🎸 增加导出配置的接口

* feat: 🎸 增加导入和导出

* feat: 🎸 mod deploy

* feat: 🎸 del st

* feat: 🎸 使用全局便俩个

* feat: 🎸 增加导入

* 修改ignore

* feat: 🎸 修复打包权限的问题,处理path的我替你

* feat: 🎸 修改文案

* feat: 🎸 名字改下

* feat: 🎸 修改名字

* feat: 🎸 暴漏端口

* feat: 🎸 删除一段代码

* feat: 🎸 use apline

* feat: 🎸 fix path

* feat: 🎸 add json.hpp

* feat: 🎸 mkdir

* feat: 🎸 add mirros

* feat: 🎸 add binding.gyp

* feat: 🎸 update readme

---------

Co-authored-by: xubiaolin <xubiaolin2014@xiaochuankeji.cn>
Co-authored-by: prod <prod@markxu.vip>
2023-02-23 14:06:01 +08:00

35 lines
1.6 KiB
Docker

FROM alpine:latest
ENV TZ=Asia/Shanghai
WORKDIR /app
ADD . /app
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \
&& apk update\
&& mkdir -p /usr/include/nlohmann/ && cd /usr/include/nlohmann/ && wget https://ghproxy.com/https://github.com/nlohmann/json/releases/download/v3.10.5/json.hpp \
&& apk add --no-cache git python3 npm make g++ zerotier-one \
&& npm install -g node-gyp\
&& mkdir /app -p && cd /app && git clone https://ghproxy.com/https://github.com/key-networks/ztncui.git\
&& cd /app/ztncui/src \
&& cp /app/patch/binding.gyp .\
&& npm install \
&& echo 'HTTP_PORT=3443' >.env \
&& echo 'NODE_ENV=production' >>.env \
&& echo 'HTTP_ALL_INTERFACES=true' >>.env \
&& cp -v etc/default.passwd etc/passwd
RUN cd /app && git clone -v https://ghproxy.com/https://github.com/zerotier/ZeroTierOne.git --depth 1\
&& zerotier-one -d && sleep 5s && ps -ef |grep zerotier-one |grep -v grep |awk '{print $1}' |xargs kill -9 \
&& cd /var/lib/zerotier-one && zerotier-idtool initmoon identity.public >moon.json\
&& cd /app/patch && python3 patch.py \
&& cd /var/lib/zerotier-one && zerotier-idtool genmoon moon.json && mkdir moons.d && cp ./*.moon ./moons.d \
&& cd /app/ZeroTierOne/attic/world/ && sh build.sh \
&& sleep 5s \
&& cd /app/ZeroTierOne/attic/world/ && ./mkworld \
&& mkdir /app/bin -p && cp world.bin /app/bin/planet \
&& TOKEN=$(cat /var/lib/zerotier-one/authtoken.secret) \
&& echo "ZT_TOKEN=$TOKEN">> /app/ztncui/src/.env
CMD /bin/sh -c "zerotier-one -d; cd /app/ztncui/src;npm start"