mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-02-18 17:00:17 +00:00
Add Docker image and build script for DSM 7
This commit is contained in:
parent
3c59de7c00
commit
8ee8870c27
@ -1,3 +1,5 @@
|
|||||||
|
# vim: ft=dockerfile
|
||||||
|
|
||||||
FROM debian:buster
|
FROM debian:buster
|
||||||
|
|
||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
## Synology
|
## Package for Synology's DSM 6
|
||||||
|
|
||||||
|
Documentation and downloads: [docs.zerotier.com/devices/synology](https://docs.zerotier.com/devices/synology)
|
||||||
|
|
||||||
### DSM 6 Packaging procedure
|
|
||||||
|
|
||||||
```
|
```
|
||||||
./build.sh build
|
./build.sh build
|
||||||
|
32
synology/dsm7-docker/Dockerfile
Normal file
32
synology/dsm7-docker/Dockerfile
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# vim: ft=dockerfile
|
||||||
|
|
||||||
|
FROM alpine:latest as builder
|
||||||
|
|
||||||
|
ARG COMMIT=04b77773c4cd384c359e3a48f40307b288233194
|
||||||
|
|
||||||
|
RUN apk add --no-cache rust cargo
|
||||||
|
RUN apk add openssl-dev
|
||||||
|
|
||||||
|
RUN apk add --update alpine-sdk linux-headers \
|
||||||
|
&& git clone --quiet https://github.com/zerotier/ZeroTierOne.git /src \
|
||||||
|
&& git -C src reset --quiet --hard ${COMMIT} \
|
||||||
|
&& cd /src \
|
||||||
|
&& make -f make-linux.mk
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
LABEL version="1.8.7"
|
||||||
|
LABEL description="ZeroTier One docker image for Synology NAS"
|
||||||
|
|
||||||
|
RUN apk add --update --no-cache bash jq libc6-compat libstdc++
|
||||||
|
|
||||||
|
EXPOSE 9993/udp
|
||||||
|
|
||||||
|
COPY --from=builder /src/zerotier-one /usr/sbin/
|
||||||
|
RUN mkdir -p /var/lib/zerotier-one \
|
||||||
|
&& ln -s /usr/sbin/zerotier-one /usr/sbin/zerotier-idtool \
|
||||||
|
&& ln -s /usr/sbin/zerotier-one /usr/sbin/zerotier-cli
|
||||||
|
|
||||||
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
RUN chmod 755 /entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
3
synology/dsm7-docker/README.md
Normal file
3
synology/dsm7-docker/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
## Docker image for Synology's DSM7
|
||||||
|
|
||||||
|
Documentation: [docs.zerotier.com/devices/synology](https://docs.zerotier.com/devices/synology)
|
20
synology/dsm7-docker/build.sh
Executable file
20
synology/dsm7-docker/build.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
ZTO_VER=$(jq -r '.version' ../config.json)
|
||||||
|
|
||||||
|
build()
|
||||||
|
{
|
||||||
|
sudo docker build --load --rm -t zerotier-synology .
|
||||||
|
LATEST_DOCKER_IMAGE_HASH=$(sudo docker images -q zerotier-synology)
|
||||||
|
sudo docker tag ${LATEST_DOCKER_IMAGE_HASH} zerotier/zerotier-synology:${ZTO_VER}
|
||||||
|
sudo docker tag ${LATEST_DOCKER_IMAGE_HASH} zerotier/zerotier-synology:latest
|
||||||
|
}
|
||||||
|
|
||||||
|
push()
|
||||||
|
{
|
||||||
|
sudo docker login --username=${DOCKERHUB_USERNAME}
|
||||||
|
sudo docker push zerotier/zerotier-synology:${ZTO_VER}
|
||||||
|
sudo docker push zerotier/zerotier-synology:latest
|
||||||
|
}
|
||||||
|
|
||||||
|
"$@"
|
29
synology/dsm7-docker/entrypoint.sh
Executable file
29
synology/dsm7-docker/entrypoint.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
zerotier-one -d
|
||||||
|
|
||||||
|
# Wait for ZT service to come online before attempting queries
|
||||||
|
sleep 15
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
NETWORK_COUNT=$(zerotier-cli -j listnetworks | jq -r '. | length')
|
||||||
|
if [ "$NETWORK_COUNT" -gt 0 ]; then
|
||||||
|
for ((j=0; j<=$((NETWORK_COUNT-1)); j++))
|
||||||
|
do
|
||||||
|
ROUTE_COUNT=$(zerotier-cli -j listnetworks | jq -r '.['$j'].routes | length')
|
||||||
|
for ((k=0; k<=$((ROUTE_COUNT-1)); k++))
|
||||||
|
do
|
||||||
|
ROUTE=$(zerotier-cli -j listnetworks | jq -r '.['$j'].routes['$k'].target')
|
||||||
|
EXIST=$(ip route show $ROUTE | wc -l)
|
||||||
|
if [ $EXIST -eq 0 ];
|
||||||
|
then
|
||||||
|
IFNAME=$(zerotier-cli -j listnetworks | jq -r '.['$j'] | .portDeviceName')
|
||||||
|
ip route add $ROUTE dev $IFNAME
|
||||||
|
# Routes will be deleted when ZT brings the interface down
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
sleep 15
|
||||||
|
fi
|
||||||
|
done
|
Loading…
x
Reference in New Issue
Block a user