Compare commits
113 Commits
8
.github/dependabot.yaml
vendored
8
.github/dependabot.yaml
vendored
@@ -1,8 +0,0 @@
|
||||
---
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "06:00"
|
||||
62
.github/renovate.json
vendored
Normal file
62
.github/renovate.json
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"dependencyDashboard": true,
|
||||
"labels": ["dependencies", "no-stale"],
|
||||
"commitMessagePrefix": "⬆️",
|
||||
"commitMessageTopic": "{{depName}}",
|
||||
"customManagers": [
|
||||
{
|
||||
"customType": "regex",
|
||||
"fileMatch": ["/Dockerfile$", "/build.yaml$"],
|
||||
"matchStringsStrategy": "any",
|
||||
"matchStrings": [
|
||||
"ARG BUILD_FROM=(?<depName>.*?):(?<currentValue>.*?)\\s+",
|
||||
"(aarch64|amd64|armhf|armv7|i386):\\s[\"']?(?<depName>.*?):(?<currentValue>.*?)[\"']?\\s"
|
||||
],
|
||||
"datasourceTemplate": "docker"
|
||||
},
|
||||
{
|
||||
"customType": "regex",
|
||||
"fileMatch": ["/Dockerfile$"],
|
||||
"matchStringsStrategy": "any",
|
||||
"matchStrings": [
|
||||
"\\s\\s(?<package>[a-z0-9-]+)=(?<currentValue>[a-z0-9-_.]+)\\s+"
|
||||
],
|
||||
"versioningTemplate": "loose",
|
||||
"datasourceTemplate": "repology",
|
||||
"depNameTemplate": "alpine_3_21/{{package}}"
|
||||
},
|
||||
{
|
||||
"customType": "regex",
|
||||
"fileMatch": ["/Dockerfile$"],
|
||||
"matchStrings": [
|
||||
"ARG ZERO_TIER_ONE_VERSION=[\"']?(?<currentValue>.+?)[\"']?\\s+"
|
||||
],
|
||||
"datasourceTemplate": "github-releases",
|
||||
"depNameTemplate": "zerotier/ZeroTierOne"
|
||||
}
|
||||
],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchDatasources": ["repology"],
|
||||
"automerge": true
|
||||
},
|
||||
{
|
||||
"groupName": "Add-on base image",
|
||||
"matchDatasources": ["docker"]
|
||||
},
|
||||
{
|
||||
"groupName": "Add-on base image",
|
||||
"matchDatasources": ["docker"],
|
||||
"matchUpdateTypes": ["minor", "patch"],
|
||||
"automerge": true
|
||||
},
|
||||
{
|
||||
"matchDatasources": ["github-releases"],
|
||||
"matchDepNames": ["zerotier/ZeroTierOne"],
|
||||
"matchUpdateTypes": ["minor", "patch"],
|
||||
"automerge": true
|
||||
}
|
||||
]
|
||||
}
|
||||
2
.github/workflows/ci.yaml
vendored
2
.github/workflows/ci.yaml
vendored
@@ -14,5 +14,3 @@ on:
|
||||
jobs:
|
||||
workflows:
|
||||
uses: hassio-addons/workflows/.github/workflows/addon-ci.yaml@main
|
||||
secrets:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
1
.github/workflows/deploy.yaml
vendored
1
.github/workflows/deploy.yaml
vendored
@@ -17,4 +17,3 @@ jobs:
|
||||
uses: hassio-addons/workflows/.github/workflows/addon-deploy.yaml@main
|
||||
secrets:
|
||||
DISPATCH_TOKEN: ${{ secrets.DISPATCH_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/labels.yaml
vendored
2
.github/workflows/labels.yaml
vendored
@@ -10,5 +10,3 @@ on:
|
||||
jobs:
|
||||
workflows:
|
||||
uses: hassio-addons/workflows/.github/workflows/labels.yaml@main
|
||||
secrets:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/lock.yaml
vendored
2
.github/workflows/lock.yaml
vendored
@@ -10,5 +10,3 @@ on:
|
||||
jobs:
|
||||
workflows:
|
||||
uses: hassio-addons/workflows/.github/workflows/lock.yaml@main
|
||||
secrets:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/pr-labels.yaml
vendored
2
.github/workflows/pr-labels.yaml
vendored
@@ -13,5 +13,3 @@ on:
|
||||
jobs:
|
||||
workflows:
|
||||
uses: hassio-addons/workflows/.github/workflows/pr-labels.yaml@main
|
||||
secrets:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/release-drafter.yaml
vendored
2
.github/workflows/release-drafter.yaml
vendored
@@ -10,5 +10,3 @@ on:
|
||||
jobs:
|
||||
workflows:
|
||||
uses: hassio-addons/workflows/.github/workflows/release-drafter.yaml@main
|
||||
secrets:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/stale.yaml
vendored
2
.github/workflows/stale.yaml
vendored
@@ -10,5 +10,3 @@ on:
|
||||
jobs:
|
||||
workflows:
|
||||
uses: hassio-addons/workflows/.github/workflows/stale.yaml@main
|
||||
secrets:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MIT License
|
||||
|
||||
Copyright (c) 2019-2021 Franck Nijhof
|
||||
Copyright (c) 2019-2025 Franck Nijhof
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -80,7 +80,7 @@ our [GitHub Repository][repository].
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019-2021 Franck Nijhof
|
||||
Copyright (c) 2019-2025 Franck Nijhof
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -102,7 +102,7 @@ SOFTWARE.
|
||||
|
||||
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
|
||||
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
|
||||
[armhf-shield]: https://img.shields.io/badge/armhf-no-red.svg
|
||||
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
|
||||
[commits-shield]: https://img.shields.io/github/commit-activity/y/hassio-addons/addon-zerotier.svg
|
||||
[commits]: https://github.com/hassio-addons/addon-zerotier/commits/main
|
||||
@@ -118,10 +118,10 @@ SOFTWARE.
|
||||
[github-actions]: https://github.com/hassio-addons/addon-zerotier/actions
|
||||
[github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png
|
||||
[github-sponsors]: https://github.com/sponsors/frenck
|
||||
[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg
|
||||
[i386-shield]: https://img.shields.io/badge/i386-no-red.svg
|
||||
[issue]: https://github.com/hassio-addons/addon-zerotier/issues
|
||||
[license-shield]: https://img.shields.io/github/license/hassio-addons/addon-zerotier.svg
|
||||
[maintenance-shield]: https://img.shields.io/maintenance/yes/2021.svg
|
||||
[maintenance-shield]: https://img.shields.io/maintenance/yes/2025.svg
|
||||
[patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png
|
||||
[patreon]: https://www.patreon.com/frenck
|
||||
[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg
|
||||
|
||||
@@ -67,7 +67,7 @@ If you are more interested in stable releases of our add-ons:
|
||||
[forum]: https://community.home-assistant.io/t/home-assistant-community-add-on-zerotier-one/109091?u=frenck
|
||||
[github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png
|
||||
[github-sponsors]: https://github.com/sponsors/frenck
|
||||
[maintenance-shield]: https://img.shields.io/maintenance/yes/2021.svg
|
||||
[maintenance-shield]: https://img.shields.io/maintenance/yes/2025.svg
|
||||
[patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png
|
||||
[patreon]: https://www.patreon.com/frenck
|
||||
[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Home Assistant Community Add-on: ZeroTier One
|
||||
|
||||
ZeroTier delivers the capabilities of VPNs, SDN, and SD-WAN with a single
|
||||
system. Manage all your connected resources across both local and wide area
|
||||
networks as if the whole world is a single data center.
|
||||
[ZeroTier][zerotier] delivers the capabilities of VPNs, SDN, and SD-WAN with
|
||||
a single system. Manage all your connected resources across both local
|
||||
and wide area networks as if the whole world is a single data center.
|
||||
|
||||
People use ZeroTier to seamlessly connect laptops, desktops, phones,
|
||||
embedded devices, cloud resources, and apps any way they want anywhere they go.
|
||||
@@ -14,8 +14,12 @@ can now add your Home Assistant instance using this add-on.
|
||||
The installation of this add-on is pretty straightforward and not different in
|
||||
comparison to installing any other Home Assistant add-on.
|
||||
|
||||
1. Search for the "ZeroTier One" add-on in the Supervisor add-on store
|
||||
and install it.
|
||||
1. Click the Home Assistant My button below to open the add-on on your Home
|
||||
Assistant instance.
|
||||
|
||||
[![Open this add-on in your Home Assistant instance.][addon-badge]][addon]
|
||||
|
||||
1. Click the "Install" button to install the add-on.
|
||||
1. Create a free account at [zerotier.com][zerotier] and get a network ID.
|
||||
1. Set the "network_id" add-on option with your network ID.
|
||||
1. Start the "ZeroTier One" add-on
|
||||
@@ -114,7 +118,7 @@ check [the contributor's page][contributors].
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019-2021 Franck Nijhof
|
||||
Copyright (c) 2019-2025 Franck Nijhof
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -134,6 +138,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
[addon-badge]: https://my.home-assistant.io/badges/supervisor_addon.svg
|
||||
[addon]: https://my.home-assistant.io/redirect/supervisor_addon/?addon=a0d7b954_zerotier&repository_url=https%3A%2F%2Fgithub.com%2Fhassio-addons%2Frepository
|
||||
[api]: https://www.zerotier.com/manual.shtml#4_1
|
||||
[contributors]: https://github.com/hassio-addons/addon-zerotier/graphs/contributors
|
||||
[discord-ha]: https://discord.gg/c5DvZ4e
|
||||
@@ -143,5 +149,5 @@ SOFTWARE.
|
||||
[issue]: https://github.com/hassio-addons/addon-zerotier/issues
|
||||
[reddit]: https://reddit.com/r/homeassistant
|
||||
[releases]: https://github.com/hassio-addons/addon-zerotier/releases
|
||||
[semver]: http://semver.org/spec/v2.0.0.htm
|
||||
[semver]: https://semver.org/spec/v2.0.0.html
|
||||
[zerotier]: https://www.zerotier.com/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:10.2.3
|
||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base:17.2.1
|
||||
# hadolint ignore=DL3006
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
@@ -6,26 +6,32 @@ FROM ${BUILD_FROM}
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# Setup base
|
||||
ARG ZERO_TIER_ONE_VERSION="1.14.2"
|
||||
# hadolint ignore=DL3003
|
||||
RUN \
|
||||
apk add --no-cache --virtual .build-dependencies \
|
||||
build-base=0.5-r2 \
|
||||
linux-headers=5.10.41-r0 \
|
||||
git=2.32.0-r0 \
|
||||
build-base=0.5-r3 \
|
||||
cargo=1.83.0-r0 \
|
||||
git=2.47.2-r0 \
|
||||
linux-headers=6.6-r1 \
|
||||
openssl-dev=3.3.3-r0 \
|
||||
pkgconf=2.3.0-r0 \
|
||||
\
|
||||
&& apk add --no-cache \
|
||||
libgcc=10.3.1_git20210424-r2 \
|
||||
libstdc++=10.3.1_git20210424-r2 \
|
||||
libgcc=14.2.0-r4 \
|
||||
libstdc++=14.2.0-r4 \
|
||||
\
|
||||
&& git clone --branch "1.8.3" --depth=1 \
|
||||
&& git clone --branch "${ZERO_TIER_ONE_VERSION}" --depth=1 \
|
||||
"https://github.com/zerotier/ZeroTierOne.git" /tmp/zerotier \
|
||||
\
|
||||
&& cd /tmp/zerotier \
|
||||
&& make \
|
||||
&& CARGO_NET_GIT_FETCH_WITH_CLI=true make \
|
||||
&& make install \
|
||||
\
|
||||
&& apk del --no-cache --purge .build-dependencies \
|
||||
&& rm -f -r /tmp/*
|
||||
&& rm -f -r \
|
||||
/root/.cargo \
|
||||
/tmp/*
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
---
|
||||
build_from:
|
||||
aarch64: ghcr.io/hassio-addons/base/aarch64:10.2.3
|
||||
amd64: ghcr.io/hassio-addons/base/amd64:10.2.3
|
||||
armhf: ghcr.io/hassio-addons/base/armhf:10.2.3
|
||||
armv7: ghcr.io/hassio-addons/base/armv7:10.2.3
|
||||
i386: ghcr.io/hassio-addons/base/i386:10.2.3
|
||||
aarch64: ghcr.io/hassio-addons/base:17.2.1
|
||||
amd64: ghcr.io/hassio-addons/base:17.2.1
|
||||
armv7: ghcr.io/hassio-addons/base:17.2.1
|
||||
codenotary:
|
||||
base_image: codenotary@frenck.dev
|
||||
signer: codenotary@frenck.dev
|
||||
|
||||
@@ -4,14 +4,13 @@ version: dev
|
||||
slug: zerotier
|
||||
description: Radically simplify your network with a virtual networking layer that works the same everywhere
|
||||
url: https://github.com/hassio-addons/addon-zerotier
|
||||
codenotary: codenotary@frenck.dev
|
||||
startup: services
|
||||
init: false
|
||||
arch:
|
||||
- aarch64
|
||||
- amd64
|
||||
- armhf
|
||||
- armv7
|
||||
- i386
|
||||
ports:
|
||||
9993/tcp: 9993
|
||||
ports_description:
|
||||
|
||||
5
zerotier/rootfs/etc/cont-init.d/zerotier.sh → zerotier/rootfs/etc/s6-overlay/s6-rc.d/init-zerotier/run
Normal file → Executable file
5
zerotier/rootfs/etc/cont-init.d/zerotier.sh → zerotier/rootfs/etc/s6-overlay/s6-rc.d/init-zerotier/run
Normal file → Executable file
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
#!/command/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: ZeroTier One
|
||||
# Generates an identiy in case it does not exists yet
|
||||
@@ -42,7 +43,7 @@ bashio::log.info "ZeroTier node address: ${node}"
|
||||
# Sets the auth token for the local JSON API
|
||||
if bashio::config.has_value 'api_auth_token'; then
|
||||
token=$(bashio::config 'api_auth_token')
|
||||
echo "${token}" > /data/authtoken.secret
|
||||
echo "${token}" > /var/lib/zerotier-one/authtoken.secret
|
||||
fi
|
||||
|
||||
# Ensure network folder exists
|
||||
@@ -0,0 +1 @@
|
||||
oneshot
|
||||
1
zerotier/rootfs/etc/s6-overlay/s6-rc.d/init-zerotier/up
Normal file
1
zerotier/rootfs/etc/s6-overlay/s6-rc.d/init-zerotier/up
Normal file
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-zerotier/run
|
||||
27
zerotier/rootfs/etc/s6-overlay/s6-rc.d/zerotier/finish
Executable file
27
zerotier/rootfs/etc/s6-overlay/s6-rc.d/zerotier/finish
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/command/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: ZeroTier One
|
||||
# Take down the S6 supervision tree when ZeroTier fails
|
||||
# ==============================================================================
|
||||
declare exit_code
|
||||
readonly exit_code_container=$(</run/s6-linux-init-container-results/exitcode)
|
||||
readonly exit_code_service="${1}"
|
||||
readonly exit_code_signal="${2}"
|
||||
readonly service="ZeroTier One"
|
||||
|
||||
bashio::log.info \
|
||||
"Service ${service} exited with code ${exit_code_service}" \
|
||||
"(by signal ${exit_code_signal})"
|
||||
|
||||
if [[ "${exit_code_service}" -eq 256 ]]; then
|
||||
if [[ "${exit_code_container}" -eq 0 ]]; then
|
||||
echo $((128 + $exit_code_signal)) > /run/s6-linux-init-container-results/exitcode
|
||||
fi
|
||||
[[ "${exit_code_signal}" -eq 15 ]] && exec /run/s6/basedir/bin/halt
|
||||
elif [[ "${exit_code_service}" -ne 0 ]]; then
|
||||
if [[ "${exit_code_container}" -eq 0 ]]; then
|
||||
echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode
|
||||
fi
|
||||
exec /run/s6/basedir/bin/halt
|
||||
fi
|
||||
3
zerotier/rootfs/etc/services.d/zerotier/run → zerotier/rootfs/etc/s6-overlay/s6-rc.d/zerotier/run
Normal file → Executable file
3
zerotier/rootfs/etc/services.d/zerotier/run → zerotier/rootfs/etc/s6-overlay/s6-rc.d/zerotier/run
Normal file → Executable file
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
#!/command/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: ZeroTier One
|
||||
# Runs ZeroTier One
|
||||
1
zerotier/rootfs/etc/s6-overlay/s6-rc.d/zerotier/type
Normal file
1
zerotier/rootfs/etc/s6-overlay/s6-rc.d/zerotier/type
Normal file
@@ -0,0 +1 @@
|
||||
longrun
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/usr/bin/execlineb -S0
|
||||
# ==============================================================================
|
||||
# Home Assistant Community Add-on: ZeroTier One
|
||||
# Take down the S6 supervision tree when ZeroTier fails
|
||||
# ==============================================================================
|
||||
if -n { s6-test $# -ne 0 }
|
||||
if -n { s6-test ${1} -eq 256 }
|
||||
|
||||
s6-svscanctl -t /var/run/s6/services
|
||||
Reference in New Issue
Block a user