Compare commits
25 Commits
49128291ab
...
copilot/up
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8cdacd5219 | ||
|
|
7d38e192be | ||
|
|
6f2333d104 | ||
|
|
e224ea22c7 | ||
|
|
6dcd0bff55 | ||
|
|
b6c99e5464 | ||
|
|
6234e0901d | ||
|
|
929d3b435a | ||
|
|
c018edbfaa | ||
|
|
a612538f99 | ||
|
|
2b6f9c454d | ||
|
|
87233ed7df | ||
|
|
fb8587c7d9 | ||
|
|
ff3a2e3929 | ||
|
|
8741898302 | ||
|
|
107a48c65e | ||
|
|
e7a94b9864 | ||
|
|
8d19bcdfad | ||
|
|
9a4018efbd | ||
|
|
2393dd1d0e | ||
|
|
ec5c7ea069 | ||
|
|
3362c0c026 | ||
|
|
9c98f2d753 | ||
|
|
f24a815f4f | ||
|
|
33dcc7ff09 |
BIN
.github/stargazer_map.png
vendored
|
Before Width: | Height: | Size: 331 KiB After Width: | Height: | Size: 62 KiB |
BIN
.github/stats.png
vendored
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 2.1 KiB |
BIN
.github/stats_addons.png
vendored
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 3.8 KiB |
20
.github/workflows/onpush_builder.yaml
vendored
@@ -173,26 +173,6 @@ jobs:
|
||||
- name: Build ${{ matrix.addon }} add-on (attempt 1)
|
||||
id: builderstep1
|
||||
if: steps.check.outputs.build_arch == 'true' && steps.dockerfile_check.outputs.has_dockerfile == 'true'
|
||||
continue-on-error: true
|
||||
uses: home-assistant/builder@2025.11.0
|
||||
env:
|
||||
CAS_API_KEY: ${{ secrets.CAS_API_KEY }}
|
||||
with:
|
||||
args: |
|
||||
${{ env.BUILD_ARGS }} \
|
||||
--${{ matrix.arch }} \
|
||||
--target "/data/${{ matrix.addon }}" \
|
||||
--image "${{ steps.check.outputs.image }}" \
|
||||
--docker-hub "ghcr.io/${{ github.repository_owner }}" \
|
||||
--addon
|
||||
|
||||
- name: Wait 1 minute before retry
|
||||
if: steps.check.outputs.build_arch == 'true' && steps.dockerfile_check.outputs.has_dockerfile == 'true' && steps.builderstep1.outcome == 'failure'
|
||||
run: |
|
||||
sleep 60
|
||||
|
||||
- name: Build ${{ matrix.addon }} add-on (attempt 2)
|
||||
if: steps.check.outputs.build_arch == 'true' && steps.dockerfile_check.outputs.has_dockerfile == 'true' && steps.builderstep1.outcome == 'failure'
|
||||
uses: home-assistant/builder@2025.11.0
|
||||
env:
|
||||
CAS_API_KEY: ${{ secrets.CAS_API_KEY }}
|
||||
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
baikal/stats.png
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
bazarr/stats.png
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -118,4 +118,4 @@ slug: birdnet-go
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-go
|
||||
usb: true
|
||||
version: "nightly-20260118"
|
||||
version: "nightly-20260113"
|
||||
|
||||
@@ -6,8 +6,7 @@ server {
|
||||
location / {
|
||||
|
||||
# Proxy pass
|
||||
proxy_pass http://localhost:8080/;
|
||||
rewrite ^%%ingress_entry%%/(.*)$ /$1 break;
|
||||
proxy_pass http://localhost:8080;
|
||||
|
||||
# Disable buffering
|
||||
proxy_buffering off;
|
||||
@@ -31,34 +30,6 @@ server {
|
||||
add_header Cache-Control no-cache;
|
||||
add_header Content-Type text/event-stream;
|
||||
|
||||
# Correct base_url
|
||||
proxy_set_header Accept-Encoding "";
|
||||
sub_filter_once off;
|
||||
|
||||
# Fix subpath
|
||||
sub_filter_types *;
|
||||
sub_filter href=\"/ href=\"%%ingress_entry%%/;
|
||||
sub_filter src=\"/ src=\"%%ingress_entry%%/;
|
||||
sub_filter src=\"'/ src=\"'%%ingress_entry%%/;
|
||||
sub_filter hx-get=\"/ hx-get=\"%%ingress_entry%%/;
|
||||
sub_filter hx-post=\"/ hx-post=\"%%ingress_entry%%/;
|
||||
sub_filter action=\"/ action=\"%%ingress_entry%%/;
|
||||
sub_filter EventSource('/ EventSource('%%ingress_entry%%/;
|
||||
sub_filter fetch('/ fetch('%%ingress_entry%%/;
|
||||
sub_filter `/api/v `%%ingress_entry%%/api/v;
|
||||
sub_filter "'/api/v" "'%%ingress_entry%%/api/v";
|
||||
sub_filter \"/api/v \"%%ingress_entry%%/api/v;
|
||||
sub_filter `/u `%%ingress_entry%%/u;
|
||||
sub_filter "'/u" "'%%ingress_entry%%/u";
|
||||
sub_filter \"/u \"%%ingress_entry%%/u;
|
||||
sub_filter `/asset `%%ingress_entry%%/asset;
|
||||
sub_filter "'/asset" "'%%ingress_entry%%/asset";
|
||||
sub_filter \"/asset \"%%ingress_entry%%/asset;
|
||||
|
||||
# Fix streaming
|
||||
sub_filter window.location.origin} window.location.origin}%%ingress_entry%%;
|
||||
error_page 405 =200 $uri;
|
||||
|
||||
# Define date for frontpage
|
||||
set $today "";
|
||||
if ($time_iso8601 ~ "^(\d{4}-\d{2}-\d{2})") {
|
||||
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -1,3 +1,7 @@
|
||||
## 0.5.0-6 (15-02-2026)
|
||||
- Minor bugs fixed
|
||||
## 0.5.0-5 (15-02-2026)
|
||||
- Minor bugs fixed
|
||||
## 0.5.0-4 (2026-02-15)
|
||||
- Disable nginx service when ingress is not active
|
||||
|
||||
|
||||
@@ -69,9 +69,6 @@ name: BirdNET-PiPy
|
||||
options:
|
||||
env_vars: []
|
||||
ICECAST_PASSWORD: ''
|
||||
RECORDING_MODE: rtsp
|
||||
RTSP_URL: ''
|
||||
STREAM_BITRATE: 320k
|
||||
TZ: Etc/UTC
|
||||
data_location: /config/data
|
||||
panel_icon: mdi:bird
|
||||
@@ -84,9 +81,6 @@ schema:
|
||||
- name: match(^[A-Za-z0-9_]+$)
|
||||
value: str?
|
||||
ICECAST_PASSWORD: str?
|
||||
RECORDING_MODE: list(pulseaudio|http_stream|rtsp)
|
||||
RTSP_URL: str?
|
||||
STREAM_BITRATE: str?
|
||||
TZ: str?
|
||||
certfile: str?
|
||||
cifsdomain: str?
|
||||
@@ -99,5 +93,5 @@ schema:
|
||||
ssl: bool?
|
||||
slug: birdnet-pipy
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-pipy
|
||||
version: "0.5.0-4"
|
||||
version: "0.5.0-6"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:80]"
|
||||
|
||||
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 6.0 KiB |
@@ -6,29 +6,11 @@ DATA_DIR="/app/data"
|
||||
CFG_DIR="${DATA_DIR}/config"
|
||||
SETTINGS="${CFG_DIR}/user_settings.json"
|
||||
|
||||
mkdir -p "${CFG_DIR}"
|
||||
|
||||
if [ ! -f "${SETTINGS}" ]; then
|
||||
if [ -f /app/config/user_settings.example.json ]; then
|
||||
cp /app/config/user_settings.example.json "${SETTINGS}"
|
||||
else
|
||||
printf '%s\n' '{}' > "${SETTINGS}"
|
||||
if [ -f "$SETTINGS" ]; then
|
||||
if ! grep -q 'detection' "$SETTINGS"; then
|
||||
bak="${SETTINGS}.bak"
|
||||
[ -e "$bak" ] && bak="${SETTINGS}.bak.$(date -u +%Y%m%dT%H%M%SZ)"
|
||||
mv -f -- "$SETTINGS" "$bak"
|
||||
echo "WARNING: Erroneous file detected: '$SETTINGS' did not contain 'detection' and was renamed to '$bak'." >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
RECORDING_MODE="$(bashio::config 'RECORDING_MODE' || true)"
|
||||
RTSP_URL="$(bashio::config 'RTSP_URL' || true)"
|
||||
|
||||
PATCH='{}'
|
||||
if [ -n "${RECORDING_MODE}" ]; then
|
||||
PATCH="$(printf '%s' "${PATCH}" | jq --arg v "${RECORDING_MODE}" '.audio.recording_mode=$v')"
|
||||
fi
|
||||
if [ -n "${RTSP_URL}" ]; then
|
||||
PATCH="$(printf '%s' "${PATCH}" | jq --arg v "${RTSP_URL}" '.audio.rtsp_url=$v')"
|
||||
fi
|
||||
|
||||
tmp="$(mktemp)"
|
||||
jq -s '.[0] * .[1]' "${SETTINGS}" <(printf '%s\n' "${PATCH}") > "${tmp}"
|
||||
mv "${tmp}" "${SETTINGS}"
|
||||
|
||||
chmod 0644 "${SETTINGS}" || true
|
||||
|
||||
@@ -13,19 +13,17 @@ ingress_port="$(bashio::addon.ingress_port)"
|
||||
ingress_interface="$(bashio::addon.ip_address)"
|
||||
ingress_entry="$(bashio::addon.ingress_entry)"
|
||||
|
||||
sed -i \
|
||||
-e "s|proxy_pass http://api|proxy_pass http://127.0.0.1|g" \
|
||||
-e "s|proxy_pass http://icecast|proxy_pass http://127.0.0.1|g" \
|
||||
/etc/nginx/servers/nginx.conf
|
||||
|
||||
if ! [[ "${ingress_port}" =~ ^[0-9]+$ ]] || [[ "${ingress_port}" -le 0 ]]; then
|
||||
bashio::log.info "Ingress not active, disabling nginx service"
|
||||
touch /run/nginx-disabled
|
||||
exit 0
|
||||
fi
|
||||
|
||||
rm -f /run/nginx-disabled
|
||||
|
||||
sed -i \
|
||||
-e "s|proxy_pass http://api|proxy_pass http://127.0.0.1|g" \
|
||||
-e "s|proxy_pass http://icecast|proxy_pass http://127.0.0.1|g" \
|
||||
/etc/nginx/servers/nginx.conf
|
||||
|
||||
cp /etc/nginx/servers/nginx.conf /etc/nginx/servers/ingress.conf
|
||||
sed -i \
|
||||
-e "s|listen 80;|listen ${ingress_interface}:${ingress_port} default_server;|g" \
|
||||
|
||||
@@ -2,9 +2,4 @@
|
||||
# shellcheck shell=bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ -f /run/nginx-disabled ]; then
|
||||
bashio::log.info "Nginx disabled because ingress is not active"
|
||||
exec sleep infinity
|
||||
fi
|
||||
|
||||
nginx
|
||||
|
||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
codex/stats.png
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
emby/stats.png
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
ente/stats.png
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
gitea/stats.png
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
grav/stats.png
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
immich/stats.png
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
inadyn/stats.png
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
joal/stats.png
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
joplin/stats.png
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
kometa/stats.png
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
lidarr/stats.png
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
mealie/stats.png
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
monica/stats.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
mylar3/stats.png
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,3 +1,5 @@
|
||||
## 26.2.6 (16-02-2026)
|
||||
- Minor bugs fixed
|
||||
## 26.2.4 (04-02-2026)
|
||||
- Minor bugs fixed
|
||||
|
||||
|
||||
@@ -50,4 +50,4 @@ slug: netalertx
|
||||
tmpfs: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "26.2.4"
|
||||
version: "26.2.6"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"last_update": "2026-01-17",
|
||||
"paused": "true",
|
||||
"paused": "false",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "netalertx",
|
||||
"source": "github",
|
||||
"upstream_repo": "jokob-sk/NetAlertX",
|
||||
"upstream_version": "26.2.4"
|
||||
"upstream_version": "26.2.6"
|
||||
}
|
||||
|
||||
@@ -51,4 +51,4 @@ slug: netalertx_fa
|
||||
tmpfs: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "26.2.4"
|
||||
version: "26.2.6"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
nzbget/stats.png
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
ombi/stats.png
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
piwigo/stats.png
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
plex/stats.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,3 +1,8 @@
|
||||
## 5.1.4-17 (17-02-2026)
|
||||
- Minor bugs fixed
|
||||
## 5.1.4-16 (16-02-2026)
|
||||
- Fix interface binding when VPN is disabled, so qBittorrent can use all available interfaces instead of staying on a previous VPN interface
|
||||
|
||||
## 5.1.4-15 (08-02-2026)
|
||||
- Support preshared keys (airvpn for example)
|
||||
- Support multiple address fields
|
||||
|
||||
@@ -142,4 +142,4 @@ schema:
|
||||
slug: qbittorrent
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "5.1.4-15"
|
||||
version: "5.1.4-17"
|
||||
|
||||
@@ -89,6 +89,15 @@ sed -i -e "/CSRFProtection/d" \
|
||||
# sed -i "$LINE i\Connection\\\PortRangeMin=6881" qBittorrent.conf
|
||||
sed -i "s|6881|59595|g" qBittorrent.conf # Correction if required
|
||||
|
||||
#########################
|
||||
# Interface binding mode #
|
||||
#########################
|
||||
|
||||
if ! bashio::config.true 'openvpn_enabled' && ! bashio::config.true 'wireguard_enabled'; then
|
||||
sed -i '/Interface/d' qBittorrent.conf
|
||||
bashio::log.info "No VPN selected: qBittorrent interface binding removed (all interfaces allowed)"
|
||||
fi
|
||||
|
||||
################
|
||||
# SSL CONFIG #
|
||||
################
|
||||
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
radarr/stats.png
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.2 KiB |