mirror of
https://github.com/newnius/Dockerfiles.git
synced 2025-12-13 01:36:43 +00:00
add zerotier
This commit is contained in:
28
zerotier/Dockerfile
Normal file
28
zerotier/Dockerfile
Normal file
@@ -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"]
|
||||
15
zerotier/main.sh
Executable file
15
zerotier/main.sh
Executable file
@@ -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
|
||||
Reference in New Issue
Block a user