mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-08-11 07:32:30 +02:00
Fix NetBird server startup
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
## 0.64.5-8 (2026-07-06)
|
||||||
|
- Fix NetBird management startup by adding glibc compatibility for the upstream binary.
|
||||||
|
- Assign separate metrics ports for management, signal, and relay to avoid startup port conflicts.
|
||||||
|
- Quote dashboard OIDC scopes so the generated env file can be sourced correctly.
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ COPY ha_automodules.sh /ha_automodules.sh
|
|||||||
RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh
|
RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh
|
||||||
|
|
||||||
# Manual apps
|
# Manual apps
|
||||||
ENV PACKAGES="nginx gettext ca-certificates caddy openssl"
|
ENV PACKAGES="nginx gettext ca-certificates caddy openssl gcompat"
|
||||||
|
|
||||||
# Automatic apps & bashio
|
# Automatic apps & bashio
|
||||||
COPY ha_autoapps.sh /ha_autoapps.sh
|
COPY ha_autoapps.sh /ha_autoapps.sh
|
||||||
|
|||||||
@@ -23,5 +23,5 @@ ports_description:
|
|||||||
schema:
|
schema:
|
||||||
domain: str
|
domain: str
|
||||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/netbird-server
|
url: https://github.com/alexbelgium/hassio-addons/tree/master/netbird-server
|
||||||
version: 0.64.5-7
|
version: 0.64.5-8
|
||||||
webui: "[PROTO:ssl]://[HOST]:[PORT:443]"
|
webui: "[PROTO:ssl]://[HOST]:[PORT:443]"
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ DASHBOARD_PORT=8080
|
|||||||
SIGNAL_PORT=8083
|
SIGNAL_PORT=8083
|
||||||
SIGNAL_GRPC_PORT=10000
|
SIGNAL_GRPC_PORT=10000
|
||||||
RELAY_PORT=8084
|
RELAY_PORT=8084
|
||||||
|
RELAY_METRICS_PORT=9093
|
||||||
|
|
||||||
if [[ -z "$DOMAIN" || "$DOMAIN" == "netbird.example.com" ]]; then
|
if [[ -z "$DOMAIN" || "$DOMAIN" == "netbird.example.com" ]]; then
|
||||||
result=$(bashio::api.supervisor GET /core/api/config true || true)
|
result=$(bashio::api.supervisor GET /core/api/config true || true)
|
||||||
@@ -110,11 +111,15 @@ NB_LOG_LEVEL=info
|
|||||||
NB_LISTEN_ADDRESS=:${RELAY_PORT}
|
NB_LISTEN_ADDRESS=:${RELAY_PORT}
|
||||||
NB_EXPOSED_ADDRESS=${NETBIRD_RELAY_PROTO}://${DOMAIN}:${NETBIRD_PORT}
|
NB_EXPOSED_ADDRESS=${NETBIRD_RELAY_PROTO}://${DOMAIN}:${NETBIRD_PORT}
|
||||||
NB_AUTH_SECRET=${RELAY_AUTH_SECRET}
|
NB_AUTH_SECRET=${RELAY_AUTH_SECRET}
|
||||||
|
NB_METRICS_PORT=${RELAY_METRICS_PORT}
|
||||||
NB_ENABLE_STUN=true
|
NB_ENABLE_STUN=true
|
||||||
NB_STUN_LOG_LEVEL=info
|
NB_STUN_LOG_LEVEL=info
|
||||||
NB_STUN_PORTS=${NETBIRD_STUN_PORT}
|
NB_STUN_PORTS=${NETBIRD_STUN_PORT}
|
||||||
CONFIG
|
CONFIG
|
||||||
fi
|
fi
|
||||||
|
if ! grep -q '^NB_METRICS_PORT=' "$RELAY_ENV_FILE"; then
|
||||||
|
echo "NB_METRICS_PORT=${RELAY_METRICS_PORT}" >> "$RELAY_ENV_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
# Generate dashboard env file if missing
|
# Generate dashboard env file if missing
|
||||||
DASHBOARD_ENV_FILE="$DATA_DIR/dashboard/env"
|
DASHBOARD_ENV_FILE="$DATA_DIR/dashboard/env"
|
||||||
@@ -130,7 +135,7 @@ AUTH_CLIENT_ID=netbird-dashboard
|
|||||||
AUTH_CLIENT_SECRET=
|
AUTH_CLIENT_SECRET=
|
||||||
AUTH_AUTHORITY=${NETBIRD_HTTP_PROTOCOL}://${DOMAIN}/oauth2
|
AUTH_AUTHORITY=${NETBIRD_HTTP_PROTOCOL}://${DOMAIN}/oauth2
|
||||||
USE_AUTH0=false
|
USE_AUTH0=false
|
||||||
AUTH_SUPPORTED_SCOPES=openid profile email groups
|
AUTH_SUPPORTED_SCOPES="openid profile email groups"
|
||||||
AUTH_REDIRECT_URI=/nb-auth
|
AUTH_REDIRECT_URI=/nb-auth
|
||||||
AUTH_SILENT_REDIRECT_URI=/nb-silent-auth
|
AUTH_SILENT_REDIRECT_URI=/nb-silent-auth
|
||||||
# SSL
|
# SSL
|
||||||
@@ -140,6 +145,7 @@ LETSENCRYPT_DOMAIN=none
|
|||||||
CONFIG
|
CONFIG
|
||||||
chmod 600 "$DASHBOARD_ENV_FILE"
|
chmod 600 "$DASHBOARD_ENV_FILE"
|
||||||
fi
|
fi
|
||||||
|
sed -i 's/^AUTH_SUPPORTED_SCOPES=openid profile email groups$/AUTH_SUPPORTED_SCOPES="openid profile email groups"/' "$DASHBOARD_ENV_FILE"
|
||||||
|
|
||||||
# Generate Caddyfile if missing
|
# Generate Caddyfile if missing
|
||||||
CADDYFILE="$DATA_DIR/Caddyfile"
|
CADDYFILE="$DATA_DIR/Caddyfile"
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ DATA_DIR="/config/netbird"
|
|||||||
LOG_LEVEL="info"
|
LOG_LEVEL="info"
|
||||||
MANAGEMENT_CONFIG="$DATA_DIR/management/management.json"
|
MANAGEMENT_CONFIG="$DATA_DIR/management/management.json"
|
||||||
MANAGEMENT_PORT=8081
|
MANAGEMENT_PORT=8081
|
||||||
|
MANAGEMENT_METRICS_PORT=9091
|
||||||
|
|
||||||
if [[ ! -f "$MANAGEMENT_CONFIG" ]]; then
|
if [[ ! -f "$MANAGEMENT_CONFIG" ]]; then
|
||||||
bashio::log.error "Missing management configuration at ${MANAGEMENT_CONFIG}."
|
bashio::log.error "Missing management configuration at ${MANAGEMENT_CONFIG}."
|
||||||
@@ -21,6 +22,7 @@ bashio::log.info "Starting NetBird Management..."
|
|||||||
exec /usr/local/bin/netbird-mgmt management \
|
exec /usr/local/bin/netbird-mgmt management \
|
||||||
--config "$MANAGEMENT_CONFIG" \
|
--config "$MANAGEMENT_CONFIG" \
|
||||||
--port "$MANAGEMENT_PORT" \
|
--port "$MANAGEMENT_PORT" \
|
||||||
|
--metrics-port "$MANAGEMENT_METRICS_PORT" \
|
||||||
--log-level "$LOG_LEVEL" \
|
--log-level "$LOG_LEVEL" \
|
||||||
--log-file console \
|
--log-file console \
|
||||||
--disable-anonymous-metrics=false \
|
--disable-anonymous-metrics=false \
|
||||||
|
|||||||
@@ -8,10 +8,12 @@ set -euo pipefail
|
|||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
SIGNAL_PORT=8083
|
SIGNAL_PORT=8083
|
||||||
|
SIGNAL_METRICS_PORT=9092
|
||||||
LOG_LEVEL="info"
|
LOG_LEVEL="info"
|
||||||
|
|
||||||
bashio::log.info "Starting NetBird Signal on port ${SIGNAL_PORT} (legacy gRPC on 10000)..."
|
bashio::log.info "Starting NetBird Signal on port ${SIGNAL_PORT} (legacy gRPC on 10000)..."
|
||||||
exec /usr/local/bin/netbird-signal run \
|
exec /usr/local/bin/netbird-signal run \
|
||||||
--port "$SIGNAL_PORT" \
|
--port "$SIGNAL_PORT" \
|
||||||
|
--metrics-port "$SIGNAL_METRICS_PORT" \
|
||||||
--log-level "$LOG_LEVEL" \
|
--log-level "$LOG_LEVEL" \
|
||||||
--log-file console
|
--log-file console
|
||||||
|
|||||||
Reference in New Issue
Block a user