Compare commits
38 Commits
ef2a5de9ab
...
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 | ||
|
|
49128291ab | ||
|
|
27a64fd80b | ||
|
|
570453fd4c | ||
|
|
2d4ccbd537 | ||
|
|
5970d95a5e | ||
|
|
005bd9e17c | ||
|
|
8a7d70d9c4 | ||
|
|
f415547623 | ||
|
|
bdd8221021 | ||
|
|
9810c8fcff | ||
|
|
a143650e22 | ||
|
|
285cc94159 | ||
|
|
606caa4609 |
18
.github/stargazer_countries.csv
vendored
@@ -15,6 +15,7 @@ username,country
|
||||
5hiftly,
|
||||
5kat3R,
|
||||
5quirrel,
|
||||
5vy4-88,
|
||||
92Xiaowang,
|
||||
9turnbull,
|
||||
A-n-k-a,
|
||||
@@ -119,6 +120,7 @@ CedriCDAR77,
|
||||
ChaosFile,Germany
|
||||
Chaoscontrol,
|
||||
CharlieBailly,
|
||||
CharlyAndersonUK,
|
||||
Cheesebaron,Denmark
|
||||
ChemicalNRG,
|
||||
Chris-Nov2022,Canada
|
||||
@@ -150,6 +152,7 @@ DMurzNN,
|
||||
DUC750,
|
||||
DaFlowah,
|
||||
DaJonas94,
|
||||
Daafip,Netherlands
|
||||
Daixler,
|
||||
Daneish,
|
||||
DarrenEwaniuk,
|
||||
@@ -174,6 +177,7 @@ DerRemo,
|
||||
Devinyl,
|
||||
DiGierre,Netherlands
|
||||
DieterTHeck,
|
||||
DigitalDevourer,United States
|
||||
DirkTas67,Belgium
|
||||
DjordjeMandic,Serbia
|
||||
Dodoooh,
|
||||
@@ -197,6 +201,7 @@ Eduu84,
|
||||
Ehliman,
|
||||
EinsEins11,
|
||||
Eivind99,
|
||||
ElSigitas,
|
||||
ElVit,Germany
|
||||
Emeraldstarr,
|
||||
Emielle,
|
||||
@@ -340,6 +345,7 @@ Julian1701,
|
||||
JulienFloris,Netherlands
|
||||
JuraLadanov,
|
||||
K0stIa,
|
||||
KRC604,
|
||||
KairuByte,
|
||||
Kairus87,
|
||||
KampfGurkex,Germany
|
||||
@@ -460,6 +466,7 @@ Moosh-be,Belgium
|
||||
MrAct1on,United States
|
||||
MrCraigen,
|
||||
MrHacky,
|
||||
MrNils11,
|
||||
Mrcoolawesome,
|
||||
Mrdrexl,
|
||||
MzLiv,United Kingdom
|
||||
@@ -489,6 +496,7 @@ NuclearTruck,
|
||||
Oberknecht,Germany
|
||||
Omega7572,
|
||||
Omni-Engineering,
|
||||
OneByJorah,
|
||||
OnkelKiwi,
|
||||
Oraind,
|
||||
OsipovOV,
|
||||
@@ -870,6 +878,7 @@ ben-team,
|
||||
benasse,
|
||||
benceBalazs,Austria
|
||||
benjaminrau,Germany
|
||||
benji123good,
|
||||
bennyx,
|
||||
benricok,South Africa
|
||||
beppe2k,
|
||||
@@ -1033,6 +1042,7 @@ crazzyyfool,United Kingdom
|
||||
croess,
|
||||
cromulus,United States
|
||||
croogie,Poland
|
||||
crowedavid,United States
|
||||
cstamopo,
|
||||
cstar2k,
|
||||
cstarner,
|
||||
@@ -1426,6 +1436,7 @@ jado,United States
|
||||
jagadeesh-s2104,
|
||||
jamesjnadeau,United States
|
||||
jamie-houston,United States
|
||||
janw,
|
||||
jasonehines,United States
|
||||
jasonsf,
|
||||
jaspence360,
|
||||
@@ -1519,6 +1530,7 @@ judikdavid,Hungary
|
||||
jumd,
|
||||
jussipu,
|
||||
justinmarks1,
|
||||
justinreeves00,United States
|
||||
jvdeijnden,
|
||||
jweingardt12,United States
|
||||
k-wojcik,Poland
|
||||
@@ -1561,6 +1573,7 @@ kovlo,
|
||||
krate95,
|
||||
krauses,
|
||||
krcha,
|
||||
krsilas,Germany
|
||||
kszkristof,
|
||||
kvakulo,Denmark
|
||||
kvikindi,United Kingdom
|
||||
@@ -1574,6 +1587,7 @@ l0086020,
|
||||
l0rdadam,
|
||||
lagold27,
|
||||
laincat,
|
||||
lainecsmith,
|
||||
lainie-ftw,
|
||||
lakshanthad,Canada
|
||||
lallinger-tech,Germany
|
||||
@@ -1975,7 +1989,7 @@ rJUUSO,
|
||||
raphael1688,
|
||||
rapjul,
|
||||
raul811,
|
||||
raulpetruta,
|
||||
raulpetruta,Romania
|
||||
rawpie2,
|
||||
raytedjaja,
|
||||
rbalaev,
|
||||
@@ -2046,6 +2060,7 @@ salthepal,
|
||||
salvadornico,Philippines
|
||||
sambarlick,
|
||||
sambhavbharvesh,
|
||||
samdeleu,Belgium
|
||||
samimasad,
|
||||
samuelthng,Singapore
|
||||
samzwiches,
|
||||
@@ -2286,6 +2301,7 @@ vanessa,Brazil
|
||||
vantuh,Ukraine
|
||||
vanyasem,
|
||||
vardash,
|
||||
vatras3,
|
||||
vazy86,
|
||||
vchkhr,Ukraine
|
||||
vegasdude,United States
|
||||
|
||||
|
BIN
.github/stargazer_map.png
vendored
|
Before Width: | Height: | Size: 62 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 }}
|
||||
|
||||
@@ -27,12 +27,10 @@ test_mount() {
|
||||
ERROR_MOUNT=false
|
||||
mountpoint="/mnt/$diskname"
|
||||
|
||||
# Not mounted → not an error for this function
|
||||
if ! mountpoint -q "$mountpoint"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# ---- Write test function ----
|
||||
_test_write() {
|
||||
local testfile="$mountpoint/.writetest_$$"
|
||||
if : >"$testfile" 2>/dev/null; then
|
||||
@@ -44,13 +42,11 @@ test_mount() {
|
||||
fi
|
||||
}
|
||||
|
||||
# First write test
|
||||
if _test_write 2>/dev/null; then
|
||||
MOUNTED=true
|
||||
return 0
|
||||
fi
|
||||
|
||||
# ---- CIFS fallback: retry with noserverino ----
|
||||
if [[ "$FSTYPE" == "cifs" && "$MOUNTOPTIONS" != *"noserverino"* ]]; then
|
||||
echo "... retrying mount with noserverino"
|
||||
MOUNTOPTIONS="${MOUNTOPTIONS},noserverino"
|
||||
@@ -64,7 +60,6 @@ test_mount() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# ---- CIFS fallback: retry with noperm (common Samba permission quirk) ----
|
||||
if [[ "$FSTYPE" == "cifs" && "$MOUNTOPTIONS" != *"noperm"* ]]; then
|
||||
echo "... retrying mount with noperm"
|
||||
MOUNTOPTIONS="${MOUNTOPTIONS},noperm"
|
||||
@@ -78,7 +73,6 @@ test_mount() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# ---- Final: mounted but not writable ----
|
||||
MOUNTED="readonly"
|
||||
return 0
|
||||
}
|
||||
@@ -102,34 +96,45 @@ mount_drive() {
|
||||
retry_cifs_with_vers_ladder_on_dialect_failure() {
|
||||
[[ "${FSTYPE:-}" == "cifs" ]] || return 0
|
||||
[[ "${MOUNTED:-false}" == "false" ]] || return 0
|
||||
[[ "${CIFS_LADDER_ATTEMPTED:-false}" == "false" ]] || return 0
|
||||
|
||||
local err
|
||||
local err mountpoint
|
||||
mountpoint="/mnt/$diskname"
|
||||
err="$(cat "$ERRORCODE_FILE" 2>/dev/null || true)"
|
||||
|
||||
# Trigger ladder on common dialect/negotiation failures:
|
||||
# - EINVAL (22) invalid argument
|
||||
# - Host is down (112) often returned by mount.cifs on negotiation disconnects
|
||||
# - protocol negotiation / abrupt close / NT_STATUS_CONNECTION_DISCONNECTED
|
||||
if ! echo "$err" | grep -Eq 'mount error\(22\)|mount error\(112\)|Server abruptly closed the connection|Protocol negotiation|NT_STATUS_CONNECTION_DISCONNECTED'; then
|
||||
if echo "$err" | grep -Eq 'mount error\(13\)|Permission denied|NT_STATUS_(LOGON_FAILURE|ACCESS_DENIED)|STATUS_(LOGON_FAILURE|ACCESS_DENIED)'; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if ! echo "$err" | grep -Eq 'mount error\(22\)|mount error\(95\)|mount error\(112\)|Server abruptly closed the connection|does not support the SMB version|Protocol negotiation|NT_STATUS_CONNECTION_DISCONNECTED'; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
CIFS_LADDER_ATTEMPTED=true
|
||||
bashio::log.warning "...... CIFS negotiation/dialect failure: trying SMB dialect ladder (3.x -> 2.x)."
|
||||
|
||||
local base_opts try_opts vers
|
||||
local base_opts try_opts vers vopt sectry
|
||||
|
||||
# Start from current options but remove any existing vers=/sec= (avoid stacking)
|
||||
base_opts="$MOUNTOPTIONS"
|
||||
base_opts="$(echo "$base_opts" | sed -E 's/,vers=[^,]+//g; s/,sec=[^,]+//g')"
|
||||
|
||||
for vers in "3.1.1" "3.02" "3.0" "2.1" "2.0"; do
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
try_opts="${base_opts},vers=${vers}"
|
||||
mount_drive "$try_opts"
|
||||
fi
|
||||
local -a opt_variants=("" ",nounix" ",noserverino" ",nounix,noserverino")
|
||||
local -a sec_variants=("" ",sec=ntlmssp" ",sec=ntlmv2")
|
||||
local -a vers_variants=("3.1.1" "3.02" "3.0" "2.1" "2.0")
|
||||
|
||||
for vopt in "${opt_variants[@]}"; do
|
||||
for vers in "${vers_variants[@]}"; do
|
||||
for sectry in "${sec_variants[@]}"; do
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
umount "$mountpoint" 2>/dev/null || true
|
||||
try_opts="${base_opts}${vopt},vers=${vers}${sectry}"
|
||||
mount_drive "$try_opts"
|
||||
done
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
done
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
done
|
||||
|
||||
# Reduce option set if dialect ladder did not help (still EINVAL often)
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
bashio::log.warning "...... still failing after vers ladder; retrying with reduced CIFS options."
|
||||
base_opts="$MOUNTOPTIONS"
|
||||
@@ -138,19 +143,29 @@ retry_cifs_with_vers_ladder_on_dialect_failure() {
|
||||
base_opts="${base_opts//,nobrl/}"
|
||||
base_opts="$(echo "$base_opts" | sed -E 's/,iocharset=[^,]+//g')"
|
||||
|
||||
for vers in "2.1" "2.0"; do
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
try_opts="${base_opts},vers=${vers}"
|
||||
mount_drive "$try_opts"
|
||||
fi
|
||||
local -a vers_variants2=("2.1" "2.0")
|
||||
for vopt in "${opt_variants[@]}"; do
|
||||
for vers in "${vers_variants2[@]}"; do
|
||||
for sectry in "${sec_variants[@]}"; do
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
umount "$mountpoint" 2>/dev/null || true
|
||||
try_opts="${base_opts}${vopt},vers=${vers}${sectry}"
|
||||
mount_drive "$try_opts"
|
||||
done
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
done
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
done
|
||||
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
for vers in "2.1" "2.0"; do
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
try_opts="${base_opts},vers=${vers},sec=ntlmssp"
|
||||
for vopt in "${opt_variants[@]}"; do
|
||||
for vers in "${vers_variants2[@]}"; do
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
umount "$mountpoint" 2>/dev/null || true
|
||||
try_opts="${base_opts}${vopt},vers=${vers},sec=ntlmssp"
|
||||
mount_drive "$try_opts"
|
||||
fi
|
||||
done
|
||||
[[ "$MOUNTED" == "false" ]] || break
|
||||
done
|
||||
fi
|
||||
fi
|
||||
@@ -174,18 +189,10 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
SECVERS=""
|
||||
CHARSET=",iocharset=utf8"
|
||||
|
||||
# ----------------------------
|
||||
# Normalize / clean networkdisks
|
||||
# ----------------------------
|
||||
|
||||
# Normalize Windows CRLF and multiline entries (HA UI/YAML can introduce these)
|
||||
MOREDISKS="${MOREDISKS//$'\r'/}"
|
||||
MOREDISKS="${MOREDISKS//$'\n'/,}"
|
||||
|
||||
# Clean data (keeps NFS entries intact): normalize "comma with spaces" to plain commas
|
||||
MOREDISKS="$(echo "$MOREDISKS" | sed -E 's/[[:space:]]*,[[:space:]]*/,/g; s/^[[:space:]]+//; s/[[:space:]]+$//')"
|
||||
|
||||
# CIFS domain/workgroup
|
||||
DOMAINCLIENT=""
|
||||
CIFSDOMAIN=""
|
||||
if bashio::config.has_value 'cifsdomain'; then
|
||||
@@ -194,7 +201,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
DOMAINCLIENT="--workgroup=$CIFSDOMAIN"
|
||||
fi
|
||||
|
||||
# UID/GID for CIFS mapping
|
||||
PUID=",uid=$(id -u)"
|
||||
PGID=",gid=$(id -g)"
|
||||
if bashio::config.has_value 'PUID' && bashio::config.has_value 'PGID'; then
|
||||
@@ -203,14 +209,12 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
PGID=",gid=$(bashio::config 'PGID')"
|
||||
fi
|
||||
|
||||
# Split strictly on commas (no word-splitting/globbing)
|
||||
IFS=',' read -r -a DISK_LIST <<< "$MOREDISKS"
|
||||
|
||||
for disk in "${DISK_LIST[@]}"; do
|
||||
CRED_FILE=""
|
||||
cleanup_cred
|
||||
|
||||
# Per-item trim + safety cleanup
|
||||
disk="${disk//$'\r'/}"
|
||||
disk="$(echo "$disk" | sed -E 's/^[[:space:]]+//; s/[[:space:]]+$//')"
|
||||
[[ -z "$disk" ]] && continue
|
||||
@@ -218,7 +222,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
disk="$(echo "$disk" | sed 's,/$,,')"
|
||||
disk="${disk//"\040"/ }"
|
||||
|
||||
# Detect FS type
|
||||
FSTYPE="cifs"
|
||||
if [[ "$disk" =~ ^nfs:// ]]; then
|
||||
FSTYPE="nfs"
|
||||
@@ -227,7 +230,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
FSTYPE="nfs"
|
||||
fi
|
||||
|
||||
# Server for reachability checks
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
server="$(echo "$disk" | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | head -n 1)"
|
||||
else
|
||||
@@ -242,6 +244,7 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
: >"$ERRORCODE_FILE" || true
|
||||
|
||||
MOUNTED=false
|
||||
CIFS_LADDER_ATTEMPTED=false
|
||||
SMBVERS_FORCE=""
|
||||
SECVERS_FORCE=""
|
||||
SMBVERS=""
|
||||
@@ -249,7 +252,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
|
||||
echo "... mounting ($FSTYPE) $disk"
|
||||
|
||||
# Validation
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
if [[ ! "$disk" =~ ^//[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/.+ ]]; then
|
||||
bashio::log.fatal "...... invalid CIFS path \"$disk\". Use //123.12.12.12/sharedfolder,//123.12.12.12/sharedfolder2"
|
||||
@@ -267,7 +269,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
mkdir -p "/mnt/$diskname"
|
||||
chown root:root "/mnt/$diskname"
|
||||
|
||||
# CIFS: credentials file (avoids commas/special chars in password)
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
CRED_FILE="$(mktemp /tmp/cifs-cred.XXXXXX)"
|
||||
chmod 600 "$CRED_FILE"
|
||||
@@ -280,7 +281,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
} >"$CRED_FILE"
|
||||
fi
|
||||
|
||||
# First mount attempt (no vers pinned yet; we will correct on negotiation/dialect failures via ladder)
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
mount_drive "rw,file_mode=0775,dir_mode=0775,credentials=${CRED_FILE},nobrl,mfsymlinks${SMBVERS}${SECVERS}${PUID}${PGID}${CHARSET}"
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
@@ -290,10 +290,8 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
mount_drive "rw,nfsvers=4.2,proto=tcp,hard,timeo=600,retrans=2"
|
||||
fi
|
||||
|
||||
# Deeper analysis if failed
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
# SMB port check
|
||||
if command -v nmap >/dev/null 2>&1; then
|
||||
output="$(nmap -F "$server" -T5 -oG - 2>/dev/null || true)"
|
||||
if ! echo "$output" | grep -q "445/open"; then
|
||||
@@ -311,7 +309,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
bashio::log.warning "...... nmap not available; skipping SMB port reachability test"
|
||||
fi
|
||||
|
||||
# Credentials test (use SERVER, not share path)
|
||||
if command -v smbclient >/dev/null 2>&1; then
|
||||
OUTPUT="$(smbclient -t 2 -L "$server" -U "$USERNAME%$PASSWORD" -c "exit" $DOMAINCLIENT 2>&1 || true)"
|
||||
|
||||
@@ -334,7 +331,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
bashio::log.warning "...... smbclient not available; skipping SMB credential test"
|
||||
fi
|
||||
|
||||
# SMB version detect (best effort)
|
||||
SMBRAW=""
|
||||
if command -v nmap >/dev/null 2>&1; then
|
||||
SMBRAW="$(
|
||||
@@ -363,18 +359,15 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
SECVERS=",sec=ntlm"
|
||||
SMBVERS=",vers=1.0"
|
||||
else
|
||||
# IMPORTANT: deterministic fallback (so we don't depend on kernel defaults)
|
||||
echo "...... SMB version : couldn't detect, falling back to SMB3->SMB2 ladder on negotiation/dialect failure"
|
||||
SMBVERS=",vers=3.1.1"
|
||||
fi
|
||||
|
||||
# Apply forced SMBv1 if needed
|
||||
if [[ -n "$SMBVERS_FORCE" ]]; then
|
||||
[[ -z "$SMBVERS" ]] && SMBVERS="$SMBVERS_FORCE"
|
||||
[[ -z "$SECVERS" ]] && SECVERS="$SECVERS_FORCE"
|
||||
fi
|
||||
|
||||
# Try security modes (keeping detected/forced SMBVERS)
|
||||
SECVERS_BASE="$SECVERS"
|
||||
for SECTRY in "$SECVERS_BASE" ",sec=ntlmv2" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=krb5i" ",sec=krb5" ",sec=ntlm" ",sec=ntlmv2i"; do
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
@@ -382,13 +375,11 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
fi
|
||||
done
|
||||
|
||||
# If still negotiation/dialect failure, step down SMB3 -> SMB2
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
retry_cifs_with_vers_ladder_on_dialect_failure
|
||||
fi
|
||||
|
||||
else
|
||||
# NFS ports check and fallback versions
|
||||
if command -v nmap >/dev/null 2>&1; then
|
||||
output="$(nmap -F "$server" -T5 -oG - 2>/dev/null || true)"
|
||||
if ! echo "$output" | grep -Eq '(2049|111)/open'; then
|
||||
@@ -406,7 +397,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Finalization / messages
|
||||
if [[ "$MOUNTED" == "true" ]]; then
|
||||
bashio::log.info "...... $disk successfully mounted to /mnt/$diskname with options ${MOUNTOPTIONS/$PASSWORD/XXXXXXXXXX}"
|
||||
rm -f "$ERRORCODE_FILE" 2>/dev/null || true
|
||||
@@ -435,7 +425,6 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
bashio::log.warning "smbclient not available; cannot print SMB debugging info"
|
||||
fi
|
||||
|
||||
# last-ditch: minimal CIFS options (still uses credentials file)
|
||||
mount_drive "rw,credentials=${CRED_FILE}${PUID}${PGID}"
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
retry_cifs_with_vers_ladder_on_dialect_failure
|
||||
|
||||
|
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,15 @@
|
||||
## 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
|
||||
|
||||
## 0.5.0-3 (2026-02-15)
|
||||
- Fix nginx startup without ingress by removing templated resolver dependency
|
||||
|
||||
## 0.5.0-2 (2026-02-14)
|
||||
- Skip ingress nginx configuration when ingress is not active (empty/invalid ingress port)
|
||||
|
||||
## 0.5.0 (2026-02-14)
|
||||
- Update to latest version from Suncuss/BirdNET-PiPy (changelog : https://github.com/Suncuss/BirdNET-PiPy/releases)
|
||||
|
||||
@@ -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"
|
||||
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
|
||||
|
||||
@@ -18,6 +18,12 @@ sed -i \
|
||||
-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
|
||||
|
||||
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" \
|
||||
@@ -26,6 +32,3 @@ sed -i \
|
||||
/etc/nginx/servers/ingress.conf
|
||||
|
||||
sed -i "s#%%ingress_entry%%#${ingress_entry}#g" /etc/nginx/includes/ingress_params.conf
|
||||
|
||||
# Set DNS resolver for internal requests
|
||||
sed -i "s/%%dns_host%%/127.0.0.11/g" /etc/nginx/includes/resolver.conf
|
||||
|
||||
@@ -1 +1 @@
|
||||
resolver %%dns_host%%;
|
||||
resolver 127.0.0.11 ipv6=off;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -euo pipefail
|
||||
|
||||
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 |
@@ -1,3 +1,7 @@
|
||||
## 2.57.1-3 (14-02-2026)
|
||||
- Minor bugs fixed
|
||||
## 2.57.1-2 (14-02-2026)
|
||||
- Minor bugs fixed
|
||||
|
||||
## 2.57.1 (2026-02-14)
|
||||
- Update to latest version from filebrowser/filebrowser (changelog : https://github.com/filebrowser/filebrowser/releases)
|
||||
|
||||
@@ -123,4 +123,4 @@ schema:
|
||||
slug: filebrowser
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "2.57.1"
|
||||
version: "2.57.1-3"
|
||||
|
||||
|
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 |
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.5.6-2 (2026-02-14)
|
||||
- Add `VIPS_NOVECTOR` add-on option to set `VIPS_NOVECTOR=1` for thumbnail generation workaround on aarch64 (issue #2460)
|
||||
|
||||
## 2.5.6 (2026-02-14)
|
||||
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ Webui can be found at `<your-ip>:8080`. PostgreSQL/MySQL can be either internal
|
||||
| `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features |
|
||||
| `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers |
|
||||
| `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) |
|
||||
| `VIPS_NOVECTOR` | bool | `false` | Set to `true` to export `VIPS_NOVECTOR=1` and work around aarch64 thumbnail generation issues |
|
||||
| `skip_permissions_check` | bool | `false` | Skip file permissions checking |
|
||||
|
||||
### Example Configuration
|
||||
|
||||
@@ -102,6 +102,7 @@ options:
|
||||
DISABLE_MACHINE_LEARNING: false
|
||||
JWT_SECRET: jt+OVWY6WqKJXw3xF5qOxN5L5/f4u2jlIlCQgWS3E4w=
|
||||
TZ: Europe/Paris
|
||||
VIPS_NOVECTOR: false
|
||||
data_location: /share/immich
|
||||
panel_admin: false
|
||||
panel_icon: mdi:file-search
|
||||
@@ -127,6 +128,7 @@ schema:
|
||||
MACHINE_LEARNING_WORKERS: int?
|
||||
MACHINE_LEARNING_WORKER_TIMEOUT: int?
|
||||
TZ: str?
|
||||
VIPS_NOVECTOR: bool?
|
||||
cifsdomain: str?
|
||||
cifspassword: str?
|
||||
cifsusername: str?
|
||||
@@ -141,6 +143,6 @@ slug: immich
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
usb: true
|
||||
version: "2.5.6"
|
||||
version: "2.5.6-2"
|
||||
video: true
|
||||
webui: http://[HOST]:[PORT:8080]
|
||||
|
||||
@@ -184,6 +184,10 @@ export DB_PORT="$(bashio::config 'DB_PORT')"
|
||||
export JWT_SECRET="$(bashio::config 'JWT_SECRET')"
|
||||
export DB_HOSTNAME="$(bashio::config 'DB_HOSTNAME')"
|
||||
|
||||
if bashio::config.true 'VIPS_NOVECTOR'; then
|
||||
export VIPS_NOVECTOR="1"
|
||||
fi
|
||||
|
||||
check_db_hostname
|
||||
migrate_database
|
||||
export_db_env
|
||||
|
||||
BIN
immich/stats.png
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.5.6-2 (2026-02-14)
|
||||
- Add `VIPS_NOVECTOR` add-on option to set `VIPS_NOVECTOR=1` for thumbnail generation workaround on aarch64 (issue #2460)
|
||||
|
||||
## 2.5.6 (2026-02-14)
|
||||
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ Webui can be found at `<your-ip>:8080`. PostgreSQL can be either internal or ext
|
||||
| `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features (not recommended for CUDA variant) |
|
||||
| `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers (can be increased with CUDA) |
|
||||
| `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) |
|
||||
| `VIPS_NOVECTOR` | bool | `false` | Set to `true` to export `VIPS_NOVECTOR=1` and work around aarch64 thumbnail generation issues |
|
||||
| `skip_permissions_check` | bool | `false` | Skip file permissions checking |
|
||||
|
||||
### Example Configuration
|
||||
|
||||
@@ -100,6 +100,7 @@ options:
|
||||
DISABLE_MACHINE_LEARNING: false
|
||||
JWT_SECRET: jt+OVWY6WqKJXw3xF5qOxN5L5/f4u2jlIlCQgWS3E4w=
|
||||
TZ: Europe/Paris
|
||||
VIPS_NOVECTOR: false
|
||||
data_location: /share/immich
|
||||
panel_admin: false
|
||||
panel_icon: mdi:file-search
|
||||
@@ -125,6 +126,7 @@ schema:
|
||||
MACHINE_LEARNING_WORKERS: int?
|
||||
MACHINE_LEARNING_WORKER_TIMEOUT: int?
|
||||
TZ: str?
|
||||
VIPS_NOVECTOR: bool?
|
||||
cifsdomain: str?
|
||||
cifspassword: str?
|
||||
cifsusername: str?
|
||||
@@ -139,6 +141,6 @@ slug: immich_cuda
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
usb: true
|
||||
version: "2.5.6"
|
||||
version: "2.5.6-2"
|
||||
video: true
|
||||
webui: http://[HOST]:[PORT:8080]
|
||||
|
||||
|
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 |
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.5.6-2 (2026-02-14)
|
||||
- Add `VIPS_NOVECTOR` add-on option to set `VIPS_NOVECTOR=1` for thumbnail generation workaround on aarch64 (issue #2460)
|
||||
|
||||
## 2.5.6 (2026-02-14)
|
||||
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
|
||||
|
||||
|
||||
@@ -71,6 +71,7 @@ Webui can be found at `<your-ip>:8080`. PostgreSQL can be either internal or ext
|
||||
| `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features (recommended for NoML variant) |
|
||||
| `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers (keep at 1 for NoML) |
|
||||
| `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) |
|
||||
| `VIPS_NOVECTOR` | bool | `false` | Set to `true` to export `VIPS_NOVECTOR=1` and work around aarch64 thumbnail generation issues |
|
||||
| `skip_permissions_check` | bool | `false` | Skip file permissions checking |
|
||||
|
||||
### Example Configuration
|
||||
|
||||
@@ -101,6 +101,7 @@ options:
|
||||
DISABLE_MACHINE_LEARNING: false
|
||||
JWT_SECRET: jt+OVWY6WqKJXw3xF5qOxN5L5/f4u2jlIlCQgWS3E4w=
|
||||
TZ: Europe/Paris
|
||||
VIPS_NOVECTOR: false
|
||||
data_location: /share/immich
|
||||
panel_admin: false
|
||||
panel_icon: mdi:file-search
|
||||
@@ -126,6 +127,7 @@ schema:
|
||||
MACHINE_LEARNING_WORKERS: int?
|
||||
MACHINE_LEARNING_WORKER_TIMEOUT: int?
|
||||
TZ: str?
|
||||
VIPS_NOVECTOR: bool?
|
||||
cifsdomain: str?
|
||||
cifspassword: str?
|
||||
cifsusername: str?
|
||||
@@ -140,6 +142,6 @@ slug: immich_noml
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
usb: true
|
||||
version: "2.5.6"
|
||||
version: "2.5.6-2"
|
||||
video: true
|
||||
webui: http://[HOST]:[PORT:8080]
|
||||
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.5.6-2 (2026-02-14)
|
||||
- Add `VIPS_NOVECTOR` add-on option to set `VIPS_NOVECTOR=1` for thumbnail generation workaround on aarch64 (issue #2460)
|
||||
|
||||
## 2.5.6 (2026-02-14)
|
||||
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ Webui can be found at `<your-ip>:8080`. PostgreSQL can be either internal or ext
|
||||
| `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features (not recommended for OpenVINO variant) |
|
||||
| `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers (can be increased with OpenVINO) |
|
||||
| `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) |
|
||||
| `VIPS_NOVECTOR` | bool | `false` | Set to `true` to export `VIPS_NOVECTOR=1` and work around aarch64 thumbnail generation issues |
|
||||
| `skip_permissions_check` | bool | `false` | Skip file permissions checking |
|
||||
|
||||
### Example Configuration
|
||||
|
||||
@@ -101,6 +101,7 @@ options:
|
||||
DISABLE_MACHINE_LEARNING: false
|
||||
JWT_SECRET: jt+OVWY6WqKJXw3xF5qOxN5L5/f4u2jlIlCQgWS3E4w=
|
||||
TZ: Europe/Paris
|
||||
VIPS_NOVECTOR: false
|
||||
data_location: /share/immich
|
||||
panel_admin: false
|
||||
panel_icon: mdi:file-search
|
||||
@@ -126,6 +127,7 @@ schema:
|
||||
MACHINE_LEARNING_WORKERS: int?
|
||||
MACHINE_LEARNING_WORKER_TIMEOUT: int?
|
||||
TZ: str?
|
||||
VIPS_NOVECTOR: bool?
|
||||
cifsdomain: str?
|
||||
cifspassword: str?
|
||||
cifsusername: str?
|
||||
@@ -140,6 +142,6 @@ slug: immich_openvino
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
usb: true
|
||||
version: "2.5.6"
|
||||
version: "2.5.6-2"
|
||||
video: true
|
||||
webui: http://[HOST]:[PORT:8080]
|
||||
|
||||
|
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 |