Synology Docker: update entrypoint.sh (#1704)

* update entrypoint.sh

- propagate TERM/QUIT/INT signals
- add some basic logging
- check for unbound variables
- update "route helper"
   - run as subshell, exit if zerotier-one is unavailable so pod can be restarted
   - only call `zerotier-cli` once, avoids race conditions
   - only add default routes if allowDefault is enabled for that network
   - add some more error handling
   - sleep after all networks are processed

* switch to polling ZT service at startup

Co-authored-by: Daniel Quinlan <dq@chaosengine.net>
This commit is contained in:
DQ 2022-07-15 09:03:20 -07:00 committed by GitHub
commit fac212fafa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 71 additions and 19 deletions

View file

@ -2,13 +2,12 @@
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 \
WORKDIR /src
RUN apk add --no-cache rust cargo \
&& apk add openssl-dev \
&& 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 \
&& git reset --quiet --hard ${ZTO_COMMIT} \
&& make -f make-linux.mk
FROM alpine:latest
@ -18,6 +17,7 @@ LABEL description="ZeroTier One docker image for Synology NAS"
RUN apk add --update --no-cache bash jq libc6-compat libstdc++
EXPOSE 9993/udp
ENV MAX_WAIT_SECS SLEEP_TIME
COPY --from=builder /src/zerotier-one /usr/sbin/
RUN mkdir -p /var/lib/zerotier-one \