From 8658763a4c1da3c7458a70e3d130f48dca0e8c0a Mon Sep 17 00:00:00 2001 From: Newnius Date: Wed, 6 Nov 2019 15:38:29 +0800 Subject: [PATCH] add zerotier --- zerotier/Dockerfile | 28 ++++++++++++++++++++++++++++ zerotier/main.sh | 15 +++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 zerotier/Dockerfile create mode 100755 zerotier/main.sh diff --git a/zerotier/Dockerfile b/zerotier/Dockerfile new file mode 100644 index 0000000..3d58056 --- /dev/null +++ b/zerotier/Dockerfile @@ -0,0 +1,28 @@ +## NOTE: to retain configuration; mount a Docker volume, or use a bind-mount, on /var/lib/zerotier-one + +FROM debian:buster-slim as builder + +## Supports x86_64, x86, arm, and arm64 + +RUN apt-get update && apt-get install -y curl gnupg +RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 0x1657198823e52a61 && \ + echo "deb http://download.zerotier.com/debian/buster buster main" > /etc/apt/sources.list.d/zerotier.list +RUN apt-get update && apt-get install -y zerotier-one=1.4.4 +COPY ext/installfiles/linux/zerotier-containerized/main.sh /var/lib/zerotier-one/main.sh + +FROM debian:buster-slim +LABEL version="1.4.4" +LABEL description="Containerized ZeroTier One for use on CoreOS or other Docker-only Linux hosts." + +# ZeroTier relies on UDP port 9993 +EXPOSE 9993/udp + +RUN mkdir -p /var/lib/zerotier-one +COPY --from=builder /usr/sbin/zerotier-cli /usr/sbin/zerotier-cli +COPY --from=builder /usr/sbin/zerotier-idtool /usr/sbin/zerotier-idtool +COPY --from=builder /usr/sbin/zerotier-one /usr/sbin/zerotier-one +COPY --from=builder /var/lib/zerotier-one/main.sh /main.sh + +RUN chmod 0755 /main.sh +ENTRYPOINT ["/main.sh"] +CMD ["zerotier-one"] diff --git a/zerotier/main.sh b/zerotier/main.sh new file mode 100755 index 0000000..60765a4 --- /dev/null +++ b/zerotier/main.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin + +if [ ! -e /dev/net/tun ]; then + echo 'FATAL: cannot start ZeroTier One in container: /dev/net/tun not present.' + exit 1 +fi + +exec "$@" + + +if ! [[ -z "${NETWORK_ID}" ]]; then + zerotier-cli join ${NETWORK_ID} +fi