2019-07-19 00:48:41 +00:00
## NOTE: to retain configuration; mount a Docker volume, or use a bind-mount, on /var/lib/zerotier-one
FROM debian:buster-slim as builder
2018-10-20 19:41:55 +00:00
## 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 && \
2019-07-19 00:48:41 +00:00
echo "deb http://download.zerotier.com/debian/buster buster main" > /etc/apt/sources.list.d/zerotier.list
2018-10-20 19:41:55 +00:00
RUN apt-get update && apt-get install -y zerotier-one= 1.2.12
2019-07-19 00:48:41 +00:00
RUN curl https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/ext/installfiles/linux/zerotier-containerized/main.sh > /var/lib/zerotier-one/main.sh
2018-10-20 19:41:55 +00:00
2016-07-27 00:08:09 +00:00
FROM alpine:latest
2018-10-20 19:41:55 +00:00
LABEL version = "1.2.12"
2016-07-27 00:08:09 +00:00
LABEL description = "Containerized ZeroTier One for use on CoreOS or other Docker-only Linux hosts."
# Uncomment to build in container
2019-07-19 00:48:41 +00:00
# RUN apk add --update alpine-sdk linux-headers
2016-07-27 00:08:09 +00:00
RUN apk add --update libgcc libstdc++
2019-07-19 00:48:41 +00:00
# ZeroTier relies on UDP port 9993
EXPOSE 9993/udp
2016-07-27 00:08:09 +00:00
2019-07-19 00:48:41 +00:00
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
2018-10-20 19:41:55 +00:00
COPY --from= builder /usr/sbin/zerotier-one /usr/sbin/zerotier-one
2019-07-19 00:48:41 +00:00
COPY --from= builder /var/lib/zerotier-one/main.sh /main.sh
2018-10-20 19:41:55 +00:00
2016-07-27 00:08:09 +00:00
RUN chmod 0755 /main.sh
2018-10-20 19:41:55 +00:00
ENTRYPOINT [ "/main.sh" ]
2019-07-19 00:48:41 +00:00
CMD [ "zerotier-one" ]