mirror of
https://github.com/hassio-addons/addon-zerotier.git
synced 2025-05-04 11:11:30 +00:00
✨ Initial add-on code
This commit is contained in:
parent
e82e7d5379
commit
8f65d52ba4
12 changed files with 498 additions and 0 deletions
224
README.md
Normal file
224
README.md
Normal file
|
@ -0,0 +1,224 @@
|
|||
# Community Hass.io Add-ons: ZeroTier One
|
||||
|
||||
[![GitHub Release][releases-shield]][releases]
|
||||
![Project Stage][project-stage-shield]
|
||||
[![License][license-shield]](LICENSE.md)
|
||||
|
||||
![Supports aarch64 Architecture][aarch64-shield]
|
||||
![Supports amd64 Architecture][amd64-shield]
|
||||
![Supports armhf Architecture][armhf-shield]
|
||||
![Supports armv7 Architecture][armv7-shield]
|
||||
![Supports i386 Architecture][i386-shield]
|
||||
|
||||
[![GitLab CI][gitlabci-shield]][gitlabci]
|
||||
![Project Maintenance][maintenance-shield]
|
||||
[![GitHub Activity][commits-shield]][commits]
|
||||
|
||||
[![Discord][discord-shield]][discord]
|
||||
[![Community Forum][forum-shield]][forum]
|
||||
|
||||
[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]
|
||||
|
||||
[![Support my work on Patreon][patreon-shield]][patreon]
|
||||
|
||||
Radically simplify your network with a virtual networking layer that works
|
||||
the same everywhere.
|
||||
|
||||
## About
|
||||
|
||||
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.
|
||||
It transforms the entire world into a single data center, to which you
|
||||
can now add your Home Assistant instance using this add-on.
|
||||
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in
|
||||
comparison to installing any other Hass.io add-on.
|
||||
|
||||
1. [Add our Hass.io add-ons repository][repository] to your Hass.io instance.
|
||||
1. Install the "ZeroTier One" 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
|
||||
1. Check the logs of the "ZeroTier One" add-on to see if everything went well.
|
||||
1. The instance will show up in your ZeroTier account.
|
||||
|
||||
**NOTE**: Do not add this repository to Hass.io, please use:
|
||||
`https://github.com/hassio-addons/repository`.
|
||||
|
||||
## Configuration
|
||||
|
||||
**Note**: _Remember to restart the add-on when the configuration is changed._
|
||||
|
||||
Example add-on configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"log_level": "info",
|
||||
"port": 9993,
|
||||
"network_id":"wgfyiwe73747457"
|
||||
}
|
||||
```
|
||||
|
||||
**Note**: _This is just an example, don't copy and paste it! Create your own!_
|
||||
|
||||
### Option: `log_level`
|
||||
|
||||
The `log_level` option controls the level of log output by the addon and can
|
||||
be changed to be more or less verbose, which might be useful when you are
|
||||
dealing with an unknown issue. Possible values are:
|
||||
|
||||
- `trace`: Show every detail, like all called internal functions.
|
||||
- `debug`: Shows detailed debug information.
|
||||
- `info`: Normal (usually) interesting events.
|
||||
- `warning`: Exceptional occurrences that are not errors.
|
||||
- `error`: Runtime errors that do not require immediate action.
|
||||
- `fatal`: Something went terribly wrong. Add-on becomes unusable.
|
||||
|
||||
Please note that each level automatically includes log messages from a
|
||||
more severe level, e.g., `debug` also shows `info` messages. By default,
|
||||
the `log_level` is set to `info`, which is the recommended setting unless
|
||||
you are troubleshooting.
|
||||
|
||||
### Option: `network_id`
|
||||
|
||||
Configures the network identifier of the network (VLAN) to join.
|
||||
You can find this number in your ZeroTier account.
|
||||
|
||||
**Note**: _This option support secrets, e.g., `!secret zerotier_network_id`._
|
||||
|
||||
### Option: `port`
|
||||
|
||||
ZeroTier UDP & TCP port for communications.
|
||||
|
||||
You **do not** need to expose this port to the outside world!
|
||||
So please **do not** forward this port in your router.
|
||||
|
||||
### Option: `api_auth_token`
|
||||
|
||||
ZeroTier exposes a local HTTP JSON API, which uses the port set using the
|
||||
`port` option above. It allows tools and programs to access this ZeroTier
|
||||
instance for quering data (or control it).
|
||||
|
||||
This token is like a password for accessing that API, you can leave this
|
||||
option empty if you are not planning on using this feature.
|
||||
|
||||
For more information on the ZeroTier JSON API, [check their documentation][api].
|
||||
|
||||
**Note**: _This option support secrets, e.g., `!secret zerotier_token`._
|
||||
|
||||
## Changelog & Releases
|
||||
|
||||
This repository keeps a change log using [GitHub's releases][releases]
|
||||
functionality. The format of the log is based on
|
||||
[Keep a Changelog][keepchangelog].
|
||||
|
||||
Releases are based on [Semantic Versioning][semver], and use the format
|
||||
of ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented
|
||||
based on the following:
|
||||
|
||||
- ``MAJOR``: Incompatible or major changes.
|
||||
- ``MINOR``: Backwards-compatible new features and enhancements.
|
||||
- ``PATCH``: Backwards-compatible bugfixes and package updates.
|
||||
|
||||
## Support
|
||||
|
||||
Got questions?
|
||||
|
||||
You have several options to get them answered:
|
||||
|
||||
- The [Community Hass.io Add-ons Discord chat server][discord] for add-on
|
||||
support and feature requests.
|
||||
- The [Home Assistant Discord chat server][discord-ha] for general Home
|
||||
Assistant discussions and questions.
|
||||
- The Home Assistant [Community Forum][forum].
|
||||
- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit]
|
||||
|
||||
You could also [open an issue here][issue] GitHub.
|
||||
|
||||
## Contributing
|
||||
|
||||
This is an active open-source project. We are always open to people who want to
|
||||
use the code or contribute to it.
|
||||
|
||||
We have set up a separate document containing our
|
||||
[contribution guidelines](CONTRIBUTING.md).
|
||||
|
||||
Thank you for being involved! :heart_eyes:
|
||||
|
||||
## Authors & contributors
|
||||
|
||||
The original setup of this repository is by [Franck Nijhof][frenck].
|
||||
|
||||
For a full list of all authors and contributors,
|
||||
check [the contributor's page][contributors].
|
||||
|
||||
## We have got some Hass.io add-ons for you
|
||||
|
||||
Want some more functionality to your Hass.io Home Assistant instance?
|
||||
|
||||
We have created multiple add-ons for Hass.io. For a full list, check out
|
||||
our [GitHub Repository][repository].
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 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
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
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.
|
||||
|
||||
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
|
||||
[api]: https://www.zerotier.com/manual.shtml#4_1
|
||||
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
|
||||
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
|
||||
[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg
|
||||
[buymeacoffee]: https://www.buymeacoffee.com/frenck
|
||||
[commits-shield]: https://img.shields.io/github/commit-activity/y/hassio-addons/addon-zerotier.svg
|
||||
[commits]: https://github.com/hassio-addons/addon-zerotier/commits/master
|
||||
[contributors]: https://github.com/hassio-addons/addon-zerotier/graphs/contributors
|
||||
[discord-ha]: https://discord.gg/c5DvZ4e
|
||||
[discord-shield]: https://img.shields.io/discord/478094546522079232.svg
|
||||
[discord]: https://discord.me/hassioaddons
|
||||
[dockerhub]: https://hub.docker.com/r/hassioaddons/zerotier
|
||||
[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg
|
||||
[forum]: https://community.home-assistant.io/?u=frenck
|
||||
[frenck]: https://github.com/frenck
|
||||
[gitlabci-shield]: https://gitlab.com/hassio-addons/addon-zerotier/badges/master/pipeline.svg
|
||||
[gitlabci]: https://gitlab.com/hassio-addons/addon-zerotier/pipelines
|
||||
[home-assistant]: https://home-assistant.io
|
||||
[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg
|
||||
[issue]: https://github.com/hassio-addons/addon-zerotier/issues
|
||||
[keepchangelog]: http://keepachangelog.com/en/1.0.0/
|
||||
[license-shield]: https://img.shields.io/github/license/hassio-addons/addon-zerotier.svg
|
||||
[maintenance-shield]: https://img.shields.io/maintenance/yes/2019.svg
|
||||
[patreon-shield]: https://www.frenck.nl/images/patreon.png
|
||||
[patreon]: https://www.patreon.com/
|
||||
[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg
|
||||
[reddit]: https://reddit.com/r/homeassistant
|
||||
[releases-shield]: https://img.shields.io/github/release/hassio-addons/addon-zerotier.svg
|
||||
[releases]: https://github.com/hassio-addons/addon-zerotier/releases
|
||||
[repository]: https://github.com/hassio-addons/repository
|
||||
[semver]: http://semver.org/spec/v2.0.0.htm
|
78
zerotier/.README.j2
Normal file
78
zerotier/.README.j2
Normal file
|
@ -0,0 +1,78 @@
|
|||
# Community Hass.io Add-ons: ZeroTier One
|
||||
|
||||
[![Release][release-shield]][release] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield]
|
||||
|
||||
[![Discord][discord-shield]][discord] [![Community Forum][forum-shield]][forum]
|
||||
|
||||
[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]
|
||||
|
||||
[![Support my work on Patreon][patreon-shield]][patreon]
|
||||
|
||||
Radically simplify your network with a virtual networking layer that works
|
||||
the same everywhere.
|
||||
|
||||
## About
|
||||
|
||||
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.
|
||||
It transforms the entire world into a single data center, to which you
|
||||
can now add your Home Assistant instance using this add-on.
|
||||
|
||||
[Click here for the full documentation][docs]
|
||||
|
||||
{% if channel == "edge" %}
|
||||
## WARNING! THIS IS AN EDGE VERSION!
|
||||
|
||||
This Hass.io Add-ons repository contains edge builds of add-ons. Edge builds
|
||||
add-ons are based upon the latest development version.
|
||||
|
||||
- They may not work at all.
|
||||
- They might stop working at any time.
|
||||
- They could have a negative impact on your system.
|
||||
|
||||
This repository was created for:
|
||||
|
||||
- Anybody willing to test.
|
||||
- Anybody interested in trying out upcoming add-ons or add-on features.
|
||||
- Developers.
|
||||
|
||||
If you are more interested in stable releases of our add-ons:
|
||||
|
||||
<https://github.com/hassio-addons/repository>
|
||||
|
||||
{% endif %}
|
||||
{% if channel == "beta" %}
|
||||
## WARNING! THIS IS A BETA VERSION!
|
||||
|
||||
This Hass.io Add-ons repository contains beta releases of add-ons.
|
||||
|
||||
- They might stop working at any time.
|
||||
- They could have a negative impact on your system.
|
||||
|
||||
This repository was created for:
|
||||
|
||||
- Anybody willing to test.
|
||||
- Anybody interested in trying out upcoming add-ons or add-on features.
|
||||
|
||||
If you are more interested in stable releases of our add-ons:
|
||||
|
||||
<https://github.com/hassio-addons/repository>
|
||||
|
||||
{% endif %}
|
||||
[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg
|
||||
[buymeacoffee]: https://www.buymeacoffee.com/frenck
|
||||
[discord-shield]: https://img.shields.io/discord/478094546522079232.svg
|
||||
[discord]: https://discord.me/hassioaddons
|
||||
[docs]: {{ repo }}/blob/{{ version }}/README.md
|
||||
[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg
|
||||
[forum]: https://community.home-assistant.io/?u=frenck
|
||||
[maintenance-shield]: https://img.shields.io/maintenance/yes/2019.svg
|
||||
[patreon-shield]: https://www.frenck.nl/images/patreon.png
|
||||
[patreon]: https://www.patreon.com/frenck
|
||||
[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg
|
||||
[release-shield]: https://img.shields.io/badge/version-{{ version }}-blue.svg
|
||||
[release]: {{ repo }}/tree/{{ version }}
|
54
zerotier/Dockerfile
Executable file
54
zerotier/Dockerfile
Executable file
|
@ -0,0 +1,54 @@
|
|||
ARG BUILD_FROM=hassioaddons/base:3.0.1
|
||||
# hadolint ignore=DL3006
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
# Set shell
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# Setup base
|
||||
RUN \
|
||||
apk add --no-cache --virtual .build-dependencies \
|
||||
build-base=0.5-r1 \
|
||||
linux-headers=4.18.13-r1 \
|
||||
git=2.20.1-r0 \
|
||||
\
|
||||
&& apk add --no-cache \
|
||||
libgcc=8.2.0-r2 \
|
||||
libstdc++=8.2.0-r2 \
|
||||
\
|
||||
&& git clone --branch "1.2.12" --depth=1 \
|
||||
"https://github.com/zerotier/ZeroTierOne.git" /tmp/zerotier \
|
||||
\
|
||||
&& cd /tmp/zerotier \
|
||||
&& make \
|
||||
&& make install \
|
||||
\
|
||||
&& rm -f -r /tmp/* \
|
||||
&& apk del --purge .build-dependencies
|
||||
|
||||
# Copy root filesystem
|
||||
COPY rootfs /
|
||||
|
||||
# Build arguments
|
||||
ARG BUILD_ARCH
|
||||
ARG BUILD_DATE
|
||||
ARG BUILD_REF
|
||||
ARG BUILD_VERSION
|
||||
|
||||
# Labels
|
||||
LABEL \
|
||||
io.hass.name="ZeroTier One" \
|
||||
io.hass.description="Radically simplify your network with a virtual networking layer that works the same everywhere" \
|
||||
io.hass.arch="${BUILD_ARCH}" \
|
||||
io.hass.type="addon" \
|
||||
io.hass.version=${BUILD_VERSION} \
|
||||
maintainer="Franck Nijhof <frenck@addons.community>" \
|
||||
org.label-schema.description="Radically simplify your network with a virtual networking layer that works the same everywhere" \
|
||||
org.label-schema.build-date=${BUILD_DATE} \
|
||||
org.label-schema.name="ZeroTier One" \
|
||||
org.label-schema.schema-version="1.0" \
|
||||
org.label-schema.url="https://community.home-assistant.io/?u=frenck" \
|
||||
org.label-schema.usage="https://github.com/hassio-addons/addon-zerotier/tree/master/README.md" \
|
||||
org.label-schema.vcs-ref=${BUILD_REF} \
|
||||
org.label-schema.vcs-url="https://github.com/hassio-addons/addon-zerotier" \
|
||||
org.label-schema.vendor="Community Hass.io Add-ons"
|
10
zerotier/build.json
Normal file
10
zerotier/build.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"build_from": {
|
||||
"aarch64": "hassioaddons/base-aarch64:3.0.1",
|
||||
"amd64": "hassioaddons/base-amd64:3.0.1",
|
||||
"armhf": "hassioaddons/base-armhf:3.0.1",
|
||||
"armv7": "hassioaddons/base-armv7:3.0.1",
|
||||
"i386": "hassioaddons/base-i386:3.0.1"
|
||||
},
|
||||
"args": {}
|
||||
}
|
43
zerotier/config.json
Executable file
43
zerotier/config.json
Executable file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"name": "ZeroTier One",
|
||||
"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",
|
||||
"startup": "services",
|
||||
"arch": [
|
||||
"aarch64",
|
||||
"amd64",
|
||||
"armhf",
|
||||
"armv7",
|
||||
"i386"
|
||||
],
|
||||
"boot": "auto",
|
||||
"hassio_api": true,
|
||||
"hassio_role": "default",
|
||||
"homeassistant_api": false,
|
||||
"host_network": true,
|
||||
"apparmor": true,
|
||||
"privileged": [
|
||||
"NET_ADMIN",
|
||||
"SYS_ADMIN"
|
||||
],
|
||||
"devices": [
|
||||
"/dev/net/tun:/dev/net/tun:rwm"
|
||||
],
|
||||
"map": [
|
||||
"config",
|
||||
"ssl:rw"
|
||||
],
|
||||
"options": {
|
||||
"network_id":"",
|
||||
"port": 9993,
|
||||
"api_auth_token": ""
|
||||
},
|
||||
"schema": {
|
||||
"api_auth_token": "str",
|
||||
"log_level": "match(^(trace|debug|info|notice|warning|error|fatal)$)?",
|
||||
"network_id":"match([0-9a-z]{16})",
|
||||
"port": "port"
|
||||
}
|
||||
}
|
BIN
zerotier/icon.png
Normal file
BIN
zerotier/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.2 KiB |
BIN
zerotier/logo.png
Normal file
BIN
zerotier/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
38
zerotier/rootfs/etc/cont-init.d/10-identity.sh
Normal file
38
zerotier/rootfs/etc/cont-init.d/10-identity.sh
Normal file
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ZeroTier One
|
||||
# Generates an identiy in case it does not exists yet
|
||||
# ==============================================================================
|
||||
readonly private='/ssl/zerotier/identity.secret'
|
||||
readonly public='/ssl/zerotier/identity.public'
|
||||
declare node
|
||||
|
||||
# Generate identity if it does not exist
|
||||
if ! bashio::fs.file_exists "${private}" \
|
||||
|| ! bashio::fs.file_exists "${public}";
|
||||
then
|
||||
bashio::log.info "Generating identity files..."
|
||||
|
||||
if bashio::fs.file_exists "${private}"; then
|
||||
rm -f "${private}" \
|
||||
|| bashio::exit.nok "Failed to delete old private identify file"
|
||||
fi
|
||||
|
||||
if bashio::fs.file_exists "${public}"; then
|
||||
rm -f "${public}" \
|
||||
|| bashio::exit.nok "Failed to delete old private identify file"
|
||||
fi
|
||||
|
||||
if ! bashio::fs.directory_exists '/ssl/zerotier'; then
|
||||
mkdir /ssl/zerotier \
|
||||
|| bashio::exit.nok "Failed to create identity folder"
|
||||
fi
|
||||
|
||||
zerotier-idtool generate "${private}" "${public}"
|
||||
fi
|
||||
|
||||
ln -s "${private}" /var/lib/zerotier-one/identity.secret
|
||||
ln -s "${public}" /var/lib/zerotier-one/identity.public
|
||||
|
||||
node=$(cut -d ':' -f1 < "${private}")
|
||||
bashio::log.info "ZeroTier node address: ${node}"
|
10
zerotier/rootfs/etc/cont-init.d/20-api.sh
Normal file
10
zerotier/rootfs/etc/cont-init.d/20-api.sh
Normal file
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ZeroTier One
|
||||
# Sets the auth token for the local JSON API
|
||||
# ==============================================================================
|
||||
declare token
|
||||
if bashio::config.has_value 'api_auth_token'; then
|
||||
token=$(bashio::config 'api_auth_token')
|
||||
echo "${token}" > /data/authtoken.secret
|
||||
fi
|
17
zerotier/rootfs/etc/cont-init.d/21-network.sh
Normal file
17
zerotier/rootfs/etc/cont-init.d/21-network.sh
Normal file
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ZeroTier One
|
||||
# Creates ZeroTier One configuration in case it is non-existing
|
||||
# ==============================================================================
|
||||
readonly network=$(bashio::config 'network_id')
|
||||
|
||||
# Ensure network folder exists
|
||||
mkdir -p "/var/lib/zerotier-one/networks.d" \
|
||||
|| bashio::exit.nok "Could not create networks folder"
|
||||
|
||||
# Ensure the file exists. An empty file will cause automatic join.
|
||||
touch "/data/network.${network}.conf"
|
||||
ln -s \
|
||||
"/data/network.${network}.conf" \
|
||||
"/var/lib/zerotier-one/networks.d/${network}.conf" \
|
||||
|| bashio::exit.nok "Could not create network file"
|
9
zerotier/rootfs/etc/services.d/zerotier/finish
Normal file
9
zerotier/rootfs/etc/services.d/zerotier/finish
Normal file
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/execlineb -S0
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: 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
|
15
zerotier/rootfs/etc/services.d/zerotier/run
Normal file
15
zerotier/rootfs/etc/services.d/zerotier/run
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/with-contenv bashio
|
||||
# ==============================================================================
|
||||
# Community Hass.io Add-ons: ZeroTier One
|
||||
# Runs ZeroTier One
|
||||
# ==============================================================================
|
||||
declare -a options
|
||||
|
||||
bashio::log.info "Starting ZeroTier One..."
|
||||
|
||||
# Note sure what this does.
|
||||
options+=(-U)
|
||||
options+=("-p$(bashio::config 'port')")
|
||||
|
||||
# Run the ZeroTier One
|
||||
exec zerotier-one "${options[@]}"
|
Loading…
Add table
Add a link
Reference in a new issue