Move Snap and Synology packaging to new pkg dir

This commit is contained in:
Joseph Henry 2022-04-25 17:47:15 -07:00
commit a74532fa0b
No known key found for this signature in database
GPG key ID: C45B33FF5EBC9344
20 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,30 @@
# vim: ft=dockerfile
FROM alpine:latest as builder
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 ${ZTO_COMMIT} \
&& cd /src \
&& make -f make-linux.mk
FROM alpine:latest
LABEL version=${ZTO_VER}
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"]

View file

@ -0,0 +1,3 @@
## Docker image for Synology's DSM7
Documentation: [docs.zerotier.com/devices/synology](https://docs.zerotier.com/devices/synology)

View file

@ -0,0 +1,21 @@
#!/bin/bash
ZTO_VER=$(git describe --abbrev=0 --tags)
ZTO_COMMIT=$(git rev-parse HEAD)
build()
{
sudo docker build --load --rm -t zerotier-synology . --build-arg ZTO_COMMIT=${ZTO_COMMIT} --build-arg ZTO_VER=${ZTO_VER}
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
}
"$@"

View 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