mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-03-16 01:38:08 +01:00
55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
#!/usr/bin/with-contenv bashio
|
|
# shellcheck shell=bash
|
|
set -euo pipefail
|
|
|
|
# ==============================================================================
|
|
# Home Assistant Add-on: NetBird Server
|
|
# Runs the NetBird Dashboard
|
|
# ==============================================================================
|
|
|
|
DOMAIN="localhost"
|
|
EXTERNAL_BASE_URL=""
|
|
MANAGEMENT_LISTEN="0.0.0.0:33073"
|
|
AUTH_AUTHORITY=""
|
|
AUTH_CLIENT_ID=""
|
|
AUTH_CLIENT_SECRET=""
|
|
AUTH_AUDIENCE=""
|
|
AUTH_SUPPORTED_SCOPES="openid profile email api offline_access email_verified"
|
|
USE_AUTH0="false"
|
|
NETBIRD_MGMT_API_ENDPOINT=""
|
|
|
|
MANAGEMENT_PORT="${MANAGEMENT_LISTEN##*:}"
|
|
|
|
ENV_FILE="/config/netbird/dashboard/env"
|
|
if [[ -f "$ENV_FILE" ]]; then
|
|
set -a
|
|
# shellcheck disable=SC1090
|
|
. "$ENV_FILE"
|
|
set +a
|
|
fi
|
|
|
|
if [[ -n "$NETBIRD_MGMT_API_ENDPOINT" ]]; then
|
|
NETBIRD_MGMT_API_ENDPOINT="$NETBIRD_MGMT_API_ENDPOINT"
|
|
elif [[ -n "$EXTERNAL_BASE_URL" ]]; then
|
|
NETBIRD_MGMT_API_ENDPOINT="$EXTERNAL_BASE_URL"
|
|
elif [[ -n "$DOMAIN" ]]; then
|
|
NETBIRD_MGMT_API_ENDPOINT="http://${DOMAIN}:${MANAGEMENT_PORT}"
|
|
else
|
|
bashio::log.warning "external_base_url and domain are empty; defaulting NETBIRD_MGMT_API_ENDPOINT to localhost."
|
|
NETBIRD_MGMT_API_ENDPOINT="http://127.0.0.1:${MANAGEMENT_PORT}"
|
|
fi
|
|
|
|
export AUTH_AUTHORITY
|
|
export AUTH_CLIENT_ID
|
|
export AUTH_CLIENT_SECRET
|
|
export AUTH_AUDIENCE
|
|
export AUTH_SUPPORTED_SCOPES
|
|
export USE_AUTH0
|
|
export NETBIRD_MGMT_API_ENDPOINT
|
|
|
|
bashio::log.info "Preparing NetBird Dashboard assets..."
|
|
/usr/local/bin/init_react_envs.sh
|
|
|
|
bashio::log.info "Starting NetBird Dashboard..."
|
|
exec nginx -g "daemon off;"
|