mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-10 09:51:02 +01:00
Compare commits
64 Commits
9fe76c2662
...
codex/migr
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6bbb3de5fe | ||
|
|
2dd05df4c9 | ||
|
|
27f5907af5 | ||
|
|
47eec4403d | ||
|
|
59b57f4242 | ||
|
|
1fac8c2f4a | ||
|
|
42d82581f1 | ||
|
|
cf2bc995d7 | ||
|
|
e51a99f686 | ||
|
|
90286071b2 | ||
|
|
0b4145a679 | ||
|
|
2c2d239eba | ||
|
|
3979acc25f | ||
|
|
1f1bd9610c | ||
|
|
dbc6e1d477 | ||
|
|
21b7e091fd | ||
|
|
6e4c32782f | ||
|
|
34be164757 | ||
|
|
7580538666 | ||
|
|
687a6b7681 | ||
|
|
f0e2d5c5d5 | ||
|
|
26f8223939 | ||
|
|
6c374681ea | ||
|
|
1283d08d06 | ||
|
|
38b0408fc7 | ||
|
|
31ab15c67e | ||
|
|
2d518194b4 | ||
|
|
bbd7ea3ec2 | ||
|
|
694c9fc819 | ||
|
|
0351e89dac | ||
|
|
4d5636babc | ||
|
|
06abbed66e | ||
|
|
d92f517483 | ||
|
|
0cd1edc0b0 | ||
|
|
448f52528a | ||
|
|
631d4b402d | ||
|
|
0583653671 | ||
|
|
8297883a11 | ||
|
|
2e103f4e0c | ||
|
|
944e4bb537 | ||
|
|
fdbce1fdef | ||
|
|
a1f21ed7aa | ||
|
|
8235ba926d | ||
|
|
7b6aba9187 | ||
|
|
f6e8e51e99 | ||
|
|
44a115441a | ||
|
|
fb52bb098a | ||
|
|
ffe41b4581 | ||
|
|
7bfd71820d | ||
|
|
b1f85a37e2 | ||
|
|
9a678a5e78 | ||
|
|
5fbf733a68 | ||
|
|
c41987b514 | ||
|
|
e6d1f1359b | ||
|
|
44b4de16ea | ||
|
|
f341f18cf9 | ||
|
|
17a8127dab | ||
|
|
d451cfbd07 | ||
|
|
63dde2b6be | ||
|
|
b47e0d47d6 | ||
|
|
de737b0413 | ||
|
|
54fbd3eb84 | ||
|
|
6d76605283 | ||
|
|
e50c498025 |
@@ -1,9 +1,10 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
# shellcheck disable=
|
||||
# shellcheck disable=SC2086,SC2001,SC2015,SC2154
|
||||
|
||||
set -e
|
||||
|
||||
if ! bashio::supervisor.ping 2> /dev/null; then
|
||||
if ! bashio::supervisor.ping 2>/dev/null; then
|
||||
bashio::log.blue "Disabled : please use another method"
|
||||
exit 0
|
||||
fi
|
||||
@@ -14,65 +15,72 @@ bashio::log.notice "This script is used to mount remote smb/cifs/nfs shares. Ins
|
||||
# DEFINE FUNCTIONS #
|
||||
####################
|
||||
|
||||
test_mount() {
|
||||
cleanup_cred() {
|
||||
if [[ -n "${CRED_FILE:-}" && -f "${CRED_FILE:-}" ]]; then
|
||||
rm -f "$CRED_FILE" || true
|
||||
fi
|
||||
CRED_FILE=""
|
||||
}
|
||||
|
||||
test_mount() {
|
||||
# Set initial test
|
||||
MOUNTED=false
|
||||
ERROR_MOUNT=false
|
||||
|
||||
# Exit if not mounted
|
||||
if ! mountpoint -q /mnt/"$diskname"; then
|
||||
if ! mountpoint -q "/mnt/$diskname"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Exit if can't write
|
||||
[[ -e "/mnt/$diskname/testaze" ]] && rm -r "/mnt/$diskname/testaze"
|
||||
# shellcheck disable=SC2015
|
||||
mkdir "/mnt/$diskname/testaze" && touch "/mnt/$diskname/testaze/testaze" && rm -r "/mnt/$diskname/testaze" || ERROR_MOUNT=true
|
||||
[[ -e "/mnt/$diskname/testaze" ]] && rm -rf "/mnt/$diskname/testaze"
|
||||
mkdir "/mnt/$diskname/testaze" && touch "/mnt/$diskname/testaze/testaze" && rm -rf "/mnt/$diskname/testaze" || ERROR_MOUNT=true
|
||||
|
||||
# Only CIFS has the noserverino fallback
|
||||
if [[ "$ERROR_MOUNT" == "true" && "$FSTYPE" == "cifs" ]]; then
|
||||
# Test write permissions
|
||||
if [[ "$MOUNTOPTIONS" == *"noserverino"* ]]; then
|
||||
bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||
else
|
||||
MOUNTOPTIONS="$MOUNTOPTIONS,noserverino"
|
||||
MOUNTOPTIONS="${MOUNTOPTIONS},noserverino"
|
||||
echo "... testing with noserverino"
|
||||
mount_drive "$MOUNTOPTIONS"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# CRITICAL: for non-CIFS too, do not claim success if mounted but not writable
|
||||
if [[ "$ERROR_MOUNT" == "true" ]]; then
|
||||
MOUNTED=false
|
||||
bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check permissions/export options (rw), and UID/GID mapping."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Set correctly mounted bit
|
||||
MOUNTED=true
|
||||
return 0
|
||||
|
||||
}
|
||||
|
||||
mount_drive() {
|
||||
|
||||
# Define options
|
||||
MOUNTED=true
|
||||
MOUNTOPTIONS="$1"
|
||||
|
||||
# Try mounting (type depends on detected FSTYPE)
|
||||
# Try mounting (type depends on (detected) FSTYPE)
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
mount -t cifs -o "$MOUNTOPTIONS" "$disk" /mnt/"$diskname" 2> ERRORCODE || MOUNTED=false
|
||||
mount -t cifs -o "$MOUNTOPTIONS" "$disk" "/mnt/$diskname" 2>"$ERRORCODE_FILE" || MOUNTED=false
|
||||
elif [[ "$FSTYPE" == "nfs" ]]; then
|
||||
mount -t nfs -o "$MOUNTOPTIONS" "$disk" /mnt/"$diskname" 2> ERRORCODE || MOUNTED=false
|
||||
mount -t nfs -o "$MOUNTOPTIONS" "$disk" "/mnt/$diskname" 2>"$ERRORCODE_FILE" || MOUNTED=false
|
||||
fi
|
||||
|
||||
# Test if successful
|
||||
if [[ "$MOUNTED" == "true" ]]; then
|
||||
# shellcheck disable=SC2015
|
||||
test_mount
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
####################
|
||||
########################
|
||||
# MOUNT NETWORK SHARES #
|
||||
####################
|
||||
########################
|
||||
|
||||
if bashio::config.has_value 'networkdisks'; then
|
||||
|
||||
@@ -83,16 +91,16 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
bashio::log.warning "------------------------"
|
||||
fi
|
||||
|
||||
echo 'Mounting network share(s)...'
|
||||
echo "Mounting network share(s)..."
|
||||
|
||||
####################
|
||||
# Define variables #
|
||||
####################
|
||||
|
||||
# Set variables
|
||||
MOREDISKS=$(bashio::config 'networkdisks')
|
||||
USERNAME=$(bashio::config 'cifsusername')
|
||||
PASSWORD=$(bashio::config 'cifspassword')
|
||||
MOREDISKS="$(bashio::config 'networkdisks')"
|
||||
USERNAME="$(bashio::config 'cifsusername')"
|
||||
PASSWORD="$(bashio::config 'cifspassword')"
|
||||
|
||||
SMBVERS=""
|
||||
SECVERS=""
|
||||
CHARSET=",iocharset=utf8"
|
||||
@@ -103,15 +111,15 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
MOREDISKS=${MOREDISKS// /"\040"}
|
||||
|
||||
# Is domain set (CIFS only)
|
||||
DOMAIN=""
|
||||
DOMAINCLIENT=""
|
||||
CIFSDOMAIN=""
|
||||
if bashio::config.has_value 'cifsdomain'; then
|
||||
echo "... using domain $(bashio::config 'cifsdomain')"
|
||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||
DOMAINCLIENT="--workgroup=$(bashio::config 'cifsdomain')"
|
||||
CIFSDOMAIN="$(bashio::config 'cifsdomain')"
|
||||
echo "... using domain $CIFSDOMAIN"
|
||||
DOMAINCLIENT="--workgroup=$CIFSDOMAIN"
|
||||
fi
|
||||
|
||||
# Is UID/GID set (used for CIFS mount options)
|
||||
# UID/GID (used for CIFS mount options)
|
||||
PUID=",uid=$(id -u)"
|
||||
PGID=",gid=$(id -g)"
|
||||
if bashio::config.has_value 'PUID' && bashio::config.has_value 'PGID'; then
|
||||
@@ -124,15 +132,15 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
# Mounting disks #
|
||||
##################
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
for disk in ${MOREDISKS//,/ }; do # Separate comma separated values
|
||||
for disk in ${MOREDISKS//,/ }; do
|
||||
CRED_FILE=""
|
||||
cleanup_cred
|
||||
|
||||
# Clean name of network share
|
||||
# shellcheck disable=SC2116,SC2001
|
||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||
disk="${disk//"\040"/ }" # replace \040 with space
|
||||
disk="$(echo "$disk" | sed "s,/$,,")" # Remove trailing /
|
||||
disk="${disk//"\040"/ }" # replace \040 with space
|
||||
|
||||
# Detect filesystem type by pattern (CIFS: //ip/share ; NFS: ip:/export[/path] or nfs://ip:/export[/path])
|
||||
# Detect filesystem type by pattern
|
||||
FSTYPE="cifs"
|
||||
if [[ "$disk" =~ ^nfs:// ]]; then
|
||||
FSTYPE="nfs"
|
||||
@@ -143,119 +151,139 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
|
||||
# Determine server for reachability checks
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
server="$(echo "$disk" | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")"
|
||||
server="$(echo "$disk" | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | head -n 1)"
|
||||
else
|
||||
server="${disk%%:*}"
|
||||
fi
|
||||
|
||||
diskname="$disk"
|
||||
diskname="${diskname//\\//}" # replace \ with /
|
||||
diskname="${diskname##*/}" # Get only last part of the name
|
||||
diskname="${diskname##*/}" # keep only last part of the name
|
||||
|
||||
# CRITICAL: per-disk error file (avoid collisions / missing file reads)
|
||||
ERRORCODE_FILE="/tmp/mount_error_${diskname//[^a-zA-Z0-9._-]/_}.log"
|
||||
: >"$ERRORCODE_FILE" || true
|
||||
|
||||
MOUNTED=false
|
||||
SMBVERS_FORCE=""
|
||||
SECVERS_FORCE=""
|
||||
SMBVERS=""
|
||||
SECVERS=""
|
||||
|
||||
# Start
|
||||
echo "... mounting ($FSTYPE) $disk"
|
||||
|
||||
# Data validation
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
if [[ ! "$disk" =~ ^.*+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+[/]+.*+$ ]]; then
|
||||
bashio::log.fatal "...... the structure of your \"networkdisks\" option : \"$disk\" doesn't seem correct, please use a structure like //123.12.12.12/sharedfolder,//123.12.12.12/sharedfolder2. If you don't use it, you can simply remove the text, this will avoid this error message in the future."
|
||||
touch ERRORCODE
|
||||
if [[ ! "$disk" =~ ^//[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/.+ ]]; then
|
||||
bashio::log.fatal "...... the structure of your \"networkdisks\" option : \"$disk\" doesn't seem correct, please use a structure like //123.12.12.12/sharedfolder,//123.12.12.12/sharedfolder2."
|
||||
echo "Invalid CIFS path structure: $disk" >"$ERRORCODE_FILE" || true
|
||||
continue
|
||||
fi
|
||||
else
|
||||
if [[ ! "$disk" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:/.+ ]]; then
|
||||
bashio::log.fatal "...... invalid NFS path \"$disk\". Use a structure like 123.12.12.12:/export/path"
|
||||
touch ERRORCODE
|
||||
echo "Invalid NFS path structure: $disk" >"$ERRORCODE_FILE" || true
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
|
||||
# Prepare mount point
|
||||
mkdir -p /mnt/"$diskname"
|
||||
chown root:root /mnt/"$diskname"
|
||||
mkdir -p "/mnt/$diskname"
|
||||
chown root:root "/mnt/$diskname"
|
||||
|
||||
# Create credentials file only for CIFS (avoids comma/special-char issues in -o)
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
CRED_FILE="$(mktemp /tmp/cifs-cred.XXXXXX)"
|
||||
chmod 600 "$CRED_FILE"
|
||||
{
|
||||
printf 'username=%s\n' "$USERNAME"
|
||||
printf 'password=%s\n' "$PASSWORD"
|
||||
if [[ -n "${CIFSDOMAIN:-}" ]]; then
|
||||
printf 'domain=%s\n' "$CIFSDOMAIN"
|
||||
fi
|
||||
} >"$CRED_FILE"
|
||||
fi
|
||||
|
||||
# Quickly try to mount with defaults
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
mount_drive "rw,file_mode=0775,dir_mode=0775,username=${USERNAME},password=${PASSWORD},nobrl,mfsymlinks${SMBVERS}${SECVERS}${PUID}${PGID}${CHARSET}${DOMAIN}"
|
||||
elif [[ "$FSTYPE" == "nfs" ]]; then
|
||||
mount_drive "rw,file_mode=0775,dir_mode=0775,credentials=${CRED_FILE},nobrl,mfsymlinks${SMBVERS}${SECVERS}${PUID}${PGID}${CHARSET}"
|
||||
else
|
||||
mount_drive "rw,nfsvers=4.2,proto=tcp,hard,timeo=600,retrans=2"
|
||||
fi
|
||||
|
||||
# Deeper analysis if failed
|
||||
if [ "$MOUNTED" = false ]; then
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
|
||||
# Does server exist (SMB port 445)
|
||||
output="$(nmap -F $server -T5 -oG -)"
|
||||
if ! echo "$output" | grep 445/open &> /dev/null; then
|
||||
if echo "$output" | grep /open &> /dev/null; then
|
||||
bashio::log.fatal "...... $server is reachable but SMB port not opened, stopping script"
|
||||
touch ERRORCODE
|
||||
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
|
||||
if echo "$output" | grep -q "/open"; then
|
||||
bashio::log.fatal "...... $server is reachable but SMB port not opened, stopping script"
|
||||
else
|
||||
bashio::log.fatal "...... fatal : $server not reachable, is it correct"
|
||||
fi
|
||||
cleanup_cred
|
||||
continue
|
||||
else
|
||||
bashio::log.fatal "...... fatal : $server not reachable, is it correct"
|
||||
touch ERRORCODE
|
||||
echo "...... $server is confirmed reachable"
|
||||
fi
|
||||
else
|
||||
bashio::log.warning "...... nmap not available; skipping SMB port reachability test"
|
||||
fi
|
||||
|
||||
# Are credentials correct (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)"
|
||||
|
||||
if echo "$OUTPUT" | grep -q "LOGON_FAILURE"; then
|
||||
bashio::log.fatal "...... incorrect Username, Password, or Domain! Script will stop."
|
||||
if ! smbclient -t 2 -L "$server" -N $DOMAINCLIENT -c "exit" &>/dev/null; then
|
||||
bashio::log.fatal "...... perhaps a workgroup must be specified"
|
||||
fi
|
||||
cleanup_cred
|
||||
continue
|
||||
elif echo "$OUTPUT" | grep -q "tree connect failed" || echo "$OUTPUT" | grep -q "NT_STATUS_CONNECTION_DISCONNECTED"; then
|
||||
echo "... using SMBv1"
|
||||
bashio::log.warning "...... share reachable only with legacy SMBv1 (NT1) negotiation. Forcing SMBv1 options."
|
||||
SMBVERS_FORCE=",vers=1.0"
|
||||
SECVERS_FORCE=",sec=ntlm"
|
||||
elif ! echo "$OUTPUT" | grep -q "Disk"; then
|
||||
echo "... testing path"
|
||||
bashio::log.fatal "...... no shares found. Invalid or inaccessible SMB path?"
|
||||
else
|
||||
echo "...... credentials are valid"
|
||||
fi
|
||||
else
|
||||
echo "...... $server is confirmed reachable"
|
||||
bashio::log.warning "...... smbclient not available; skipping SMB credential test"
|
||||
fi
|
||||
|
||||
# Are credentials correct
|
||||
OUTPUT="$(smbclient -t 2 -L "$disk" -U "$USERNAME"%"$PASSWORD" -c "exit" $DOMAINCLIENT 2>&1 || true)"
|
||||
if echo "$OUTPUT" | grep -q "LOGON_FAILURE"; then
|
||||
bashio::log.fatal "...... incorrect Username, Password, or Domain! Script will stop."
|
||||
touch ERRORCODE
|
||||
# Should there be a workgroup
|
||||
if ! smbclient -t 2 -L $disk -N $DOMAINCLIENT -c "exit" &> /dev/null; then
|
||||
bashio::log.fatal "...... perhaps a workgroup must be specified"
|
||||
touch ERRORCODE
|
||||
fi
|
||||
continue
|
||||
elif echo "$OUTPUT" | grep -q "tree connect failed" || echo "$OUTPUT" | grep -q "NT_STATUS_CONNECTION_DISCONNECTED"; then
|
||||
echo "... using SMBv1"
|
||||
bashio::log.warning "...... share reachable only with legacy SMBv1 (NT1) negotiation. Forcing SMBv1 options."
|
||||
SMBVERS_FORCE=",vers=1.0"
|
||||
SECVERS_FORCE=",sec=ntlm"
|
||||
elif ! echo "$OUTPUT" | grep -q "Disk"; then
|
||||
echo "... testing path"
|
||||
bashio::log.fatal "...... no shares found. Invalid or inaccessible SMB path?"
|
||||
else
|
||||
echo "...... credentials are valid"
|
||||
# Extract SMB dialect from nmap and map to mount.cifs vers=
|
||||
SMBRAW=""
|
||||
if command -v nmap >/dev/null 2>&1; then
|
||||
SMBRAW="$(
|
||||
nmap --script smb-protocols -p 445 "$server" 2>/dev/null \
|
||||
| awk '/SMB2_DIALECT_/ {print $NF}' \
|
||||
| sed 's/SMB2_DIALECT_//' \
|
||||
| tr -d '_' \
|
||||
| sort -V | tail -n 1 || true
|
||||
)"
|
||||
fi
|
||||
|
||||
# Extracting SMB versions and normalize output
|
||||
# shellcheck disable=SC2210,SC2094
|
||||
SMBVERS="$(nmap --script smb-protocols "$server" -p 445 2> 1 | awk '/ [0-9]/' | awk '{print $NF}' | cut -c -3 | sort -V | tail -n 1 || true)"
|
||||
# Avoid :
|
||||
SMBVERS="${SMBVERS/:/.}"
|
||||
# Manage output
|
||||
if [ -n "$SMBVERS" ]; then
|
||||
case $SMBVERS in
|
||||
"202" | "200" | "20")
|
||||
SMBVERS="2.0"
|
||||
;;
|
||||
21)
|
||||
SMBVERS="2.1"
|
||||
;;
|
||||
302)
|
||||
SMBVERS="3.02"
|
||||
;;
|
||||
311)
|
||||
SMBVERS="3.1.1"
|
||||
;;
|
||||
"3.1")
|
||||
echo "SMB 3.1 detected, converting to 3.0"
|
||||
SMBVERS="3.0"
|
||||
;;
|
||||
esac
|
||||
echo "...... SMB version detected : $SMBVERS"
|
||||
SMBVERS=",vers=$SMBVERS"
|
||||
elif smbclient -t 2 -L "$server" -m NT1 -N $DOMAINCLIENT &> /dev/null; then
|
||||
SMBVERS=""
|
||||
case "$SMBRAW" in
|
||||
311) SMBVERS=",vers=3.1.1" ;;
|
||||
302) SMBVERS=",vers=3.02" ;;
|
||||
300) SMBVERS=",vers=3.0" ;;
|
||||
210) SMBVERS=",vers=2.1" ;;
|
||||
202|200) SMBVERS=",vers=2.0" ;;
|
||||
*) SMBVERS="" ;;
|
||||
esac
|
||||
|
||||
if [[ -n "$SMBVERS" ]]; then
|
||||
echo "...... SMB version detected : ${SMBVERS#,vers=}"
|
||||
elif command -v smbclient >/dev/null 2>&1 && smbclient -t 2 -L "$server" -m NT1 -N $DOMAINCLIENT &>/dev/null; then
|
||||
echo "...... SMB version : only SMBv1 is supported, this can lead to issues"
|
||||
SECVERS=",sec=ntlm"
|
||||
SMBVERS=",vers=1.0"
|
||||
@@ -264,94 +292,95 @@ if bashio::config.has_value 'networkdisks'; then
|
||||
SMBVERS=""
|
||||
fi
|
||||
|
||||
# Apply forced SMBv1 options when initial connection required NT1 fallback
|
||||
# Apply forced SMBv1 options when needed
|
||||
if [[ -n "$SMBVERS_FORCE" ]]; then
|
||||
if [[ -z "$SMBVERS" ]]; then
|
||||
SMBVERS="$SMBVERS_FORCE"
|
||||
fi
|
||||
if [[ -z "$SECVERS" ]]; then
|
||||
SECVERS="$SECVERS_FORCE"
|
||||
fi
|
||||
[[ -z "$SMBVERS" ]] && SMBVERS="$SMBVERS_FORCE"
|
||||
[[ -z "$SECVERS" ]] && SECVERS="$SECVERS_FORCE"
|
||||
fi
|
||||
|
||||
# Ensure the Samba client allows SMBv1 when those options are required
|
||||
# Ensure Samba client allows SMBv1 when required
|
||||
if [[ "${SMBVERS}${SMBVERS_FORCE}" == *"vers=1.0"* ]]; then
|
||||
if [[ -f /etc/samba/smb.conf ]]; then
|
||||
bashio::log.warning "...... enabling SMBv1 support in Samba client configuration"
|
||||
sed -i '/\[global\]/!b;n;/client min protocol = NT1/!a\
|
||||
client min protocol = NT1' /etc/samba/smb.conf
|
||||
client min protocol = NT1' /etc/samba/smb.conf || true
|
||||
fi
|
||||
fi
|
||||
|
||||
# Test with different security versions
|
||||
#######################################
|
||||
for SECVERS in "$SECVERS" ",sec=ntlmv2" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=krb5i" ",sec=krb5" ",sec=ntlm" ",sec=ntlmv2i"; do
|
||||
if [ "$MOUNTED" = false ]; then
|
||||
mount_drive "rw,file_mode=0775,dir_mode=0775,username=${USERNAME},password=${PASSWORD},nobrl${SMBVERS}${SECVERS}${PUID}${PGID}${CHARSET}${DOMAIN}"
|
||||
# Try with different security modes (do not overwrite SECVERS base accidentally)
|
||||
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
|
||||
mount_drive "rw,file_mode=0775,dir_mode=0775,credentials=${CRED_FILE},nobrl,mfsymlinks${SMBVERS}${SECTRY}${PUID}${PGID}${CHARSET}"
|
||||
fi
|
||||
done
|
||||
|
||||
elif [[ "$FSTYPE" == "nfs" ]]; then
|
||||
# Add NFS-specific port check (2049) similar to SMB (445)
|
||||
output="$(nmap -F $server -T5 -oG -)"
|
||||
if ! echo "$output" | grep -E '(2049|111)/open' &> /dev/null; then
|
||||
bashio::log.fatal "...... $server is reachable but NFS ports not open"
|
||||
continue
|
||||
else
|
||||
# NFS: check ports (111/2049) and try common 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
|
||||
bashio::log.fatal "...... $server is reachable but NFS ports not open"
|
||||
continue
|
||||
fi
|
||||
else
|
||||
bashio::log.warning "...... nmap not available; skipping NFS port reachability test"
|
||||
fi
|
||||
# NFS fallback attempts: try common versions until one works
|
||||
|
||||
for NFVER in 4.2 4.1 4 3; do
|
||||
if [ "$MOUNTED" = false ]; then
|
||||
if [[ "$MOUNTED" == "false" ]]; then
|
||||
mount_drive "rw,nfsvers=${NFVER},proto=tcp"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
# Messages
|
||||
if [ "$MOUNTED" = true ]; then
|
||||
|
||||
# Messages / finalization
|
||||
if [[ "$MOUNTED" == "true" ]]; then
|
||||
bashio::log.info "...... $disk successfully mounted to /mnt/$diskname with options ${MOUNTOPTIONS/$PASSWORD/XXXXXXXXXX}"
|
||||
# Remove errorcode
|
||||
if [ -f ERRORCODE ]; then
|
||||
rm ERRORCODE
|
||||
fi
|
||||
rm -f "$ERRORCODE_FILE" 2>/dev/null || true
|
||||
|
||||
# Alert if smbv1
|
||||
if [[ "$FSTYPE" == "cifs" && "$MOUNTOPTIONS" == *"1.0"* ]]; then
|
||||
if [[ "$FSTYPE" == "cifs" && "$MOUNTOPTIONS" == *"vers=1.0"* ]]; then
|
||||
bashio::log.warning ""
|
||||
bashio::log.warning "Your smb system requires smbv1. This is an obsolete protocol. Please correct this to prevent issues."
|
||||
bashio::log.warning "Your SMB system requires SMBv1. This is an obsolete protocol. Please correct this to prevent issues."
|
||||
bashio::log.warning ""
|
||||
fi
|
||||
|
||||
cleanup_cred
|
||||
else
|
||||
# Mounting failed messages
|
||||
if [[ "$FSTYPE" == "cifs" ]]; then
|
||||
bashio::log.fatal "Error, unable to mount $disk to /mnt/$diskname with username $USERNAME, $PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID"
|
||||
bashio::log.fatal "Error, unable to mount $disk to /mnt/$diskname with username $USERNAME. Please check remote share path, username, password, domain; try UID/GID 0."
|
||||
bashio::log.fatal "Here is some debugging info :"
|
||||
smbclient -t 2 -L $disk -U "$USERNAME%$PASSWORD" -c "exit"
|
||||
if command -v smbclient >/dev/null 2>&1; then
|
||||
smbclient -t 2 -L "$server" -U "$USERNAME%$PASSWORD" -c "exit" $DOMAINCLIENT || true
|
||||
else
|
||||
bashio::log.warning "smbclient not available; cannot print SMB debugging info"
|
||||
fi
|
||||
|
||||
# last-ditch try: minimal options (still uses credentials file)
|
||||
SMBVERS=""
|
||||
SECVERS=""
|
||||
PUID=""
|
||||
PGID=""
|
||||
CHARSET=""
|
||||
mount_drive "rw,file_mode=0775,dir_mode=0775,username=${USERNAME},password=${PASSWORD},nobrl${SMBVERS}${SECVERS}${PUID}${PGID}${CHARSET}${DOMAIN}"
|
||||
elif [[ "$FSTYPE" == "nfs" ]]; then
|
||||
bashio::log.fatal "Error, unable to mount NFS share $disk to /mnt/$diskname. Please check the export path and that NFS server allows this client (and NFSv4)."
|
||||
# last-ditch try with very basic options
|
||||
mount_drive "rw,file_mode=0775,dir_mode=0775,credentials=${CRED_FILE},nobrl,mfsymlinks${SMBVERS}${SECVERS}${PUID}${PGID}${CHARSET}"
|
||||
else
|
||||
bashio::log.fatal "Error, unable to mount NFS share $disk to /mnt/$diskname. Please check the export path and that the NFS server allows this client (and NFSv4)."
|
||||
mount_drive "rw"
|
||||
fi
|
||||
|
||||
bashio::log.fatal "Error read : $(< ERRORCODE), addon will stop in 1 min"
|
||||
ERR_READ="$(cat "$ERRORCODE_FILE" 2>/dev/null || true)"
|
||||
bashio::log.fatal "Error read : ${ERR_READ:-unknown error}, addon will stop in 1 min"
|
||||
|
||||
# clean folder
|
||||
umount "/mnt/$diskname" 2> /dev/null || true
|
||||
rmdir "/mnt/$diskname" || true
|
||||
umount "/mnt/$diskname" 2>/dev/null || true
|
||||
rmdir "/mnt/$diskname" 2>/dev/null || true
|
||||
cleanup_cred
|
||||
rm -f "$ERRORCODE_FILE" 2>/dev/null || true
|
||||
|
||||
# Stop addon
|
||||
bashio::addon.stop
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"last_update": "27-07-2024",
|
||||
"paused": true,
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "BattyBirdNET-pi",
|
||||
"source": "github",
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
|
||||
## 1.5.4-1 (08-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/bazarr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-bazarr. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration of data should be automatic. Please be sure to update all your links however ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/
|
||||
|
||||
## 1.5.4 (08-01-2026)
|
||||
- Update to latest version from linuxserver/docker-bazarr (changelog : https://github.com/linuxserver/docker-bazarr/releases)
|
||||
- The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release
|
||||
|
||||
- Added support for configuring extra environment variables via the `env_vars` add-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
ARG BUILD_FROM
|
||||
ARG BUILD_VERSION
|
||||
ARG BUILD_UPSTREAM="1.5.3"
|
||||
ARG BUILD_UPSTREAM="1.5.4"
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
##################
|
||||
@@ -30,7 +30,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/bazarr"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -74,7 +74,8 @@ environment:
|
||||
image: ghcr.io/alexbelgium/bazarr-{arch}
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
- ssl
|
||||
@@ -105,5 +106,5 @@ schema:
|
||||
slug: bazarr_nas
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/bazarr
|
||||
version: 1.5.3
|
||||
version: "1.5.4-1"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:6767]"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
if [ ! -d /share/storage/movies ]; then
|
||||
echo "Creating /share/storage/movies"
|
||||
@@ -18,16 +20,14 @@ if [ ! -d /share/downloads ]; then
|
||||
chown -R "$PUID:$PGID" /share/downloads
|
||||
fi
|
||||
|
||||
if [ -d /config/bazarr ] && [ ! -d /config/addons_config/bazarr ]; then
|
||||
echo "Moving to new location /config/addons_config/bazarr"
|
||||
mkdir -p /config/addons_config/bazarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/bazarr
|
||||
mv /config/bazarr/* /config/addons_config/bazarr/
|
||||
rm -r /config/bazarr
|
||||
slug=bazarr
|
||||
|
||||
if [ -d "/homeassistant/addons_config/$slug" ]; then
|
||||
echo "Migrating /homeassistant/addons_config/$slug to /addon_configs/xxx-$slug"
|
||||
cp -rnf /homeassistant/addons_config/"$slug"/. /config/ || true
|
||||
mv /homeassistant/addons_config/"$slug" /homeassistant/addons_config/"$slug"_migrated
|
||||
fi
|
||||
|
||||
if [ ! -d /config/addons_config/bazarr ]; then
|
||||
echo "Creating /config/addons_config/bazarr"
|
||||
mkdir -p /config/addons_config/bazarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/bazarr
|
||||
if [ -d /config/addons_config ]; then
|
||||
rm -rf /config/addons_config
|
||||
fi
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"last_update": "27-09-2025",
|
||||
"last_update": "08-01-2026",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "bazarr",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-bazarr",
|
||||
"upstream_version": "1.5.3"
|
||||
"upstream_version": "1.5.4"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## debian-2025-12-04-2 (2026-01-09)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/epicgamesfree to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-epicgamesfree. Please make a backup before updating.
|
||||
|
||||
## debian-2025-12-02 (2025-12-02)
|
||||
- Update to latest version from charlocharlie/epicgames-freegames
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Addon options expose the `env_vars` field for passing extra environment variable
|
||||
|
||||
### Configuration Files
|
||||
|
||||
Configuration files are stored in `/config/addons_config/epicgamesfree/`:
|
||||
Configuration files are stored in `/addon_configs/xxx-epicgamesfree/`:
|
||||
|
||||
- **config.json**: Main configuration file
|
||||
- **cookies.json**: Authentication cookies (optional)
|
||||
@@ -50,7 +50,7 @@ If these files don't exist, they will be created at first boot with default sett
|
||||
|
||||
### Basic Configuration
|
||||
|
||||
Create `/config/addons_config/epicgamesfree/config.json`:
|
||||
Create `/addon_configs/xxx-epicgamesfree/config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -149,7 +149,7 @@ notifications:
|
||||
|
||||
### Cookie Import (Optional)
|
||||
|
||||
You can import browser cookies to avoid login issues. Create `/config/addons_config/epicgamesfree/cookies.json`:
|
||||
You can import browser cookies to avoid login issues. Create `/addon_configs/xxx-epicgamesfree/cookies.json`:
|
||||
|
||||
For detailed cookie import instructions, see: https://github.com/claabs/epicgames-freegames-node#cookie-import
|
||||
|
||||
|
||||
@@ -67,11 +67,12 @@ devices:
|
||||
- /dev/nvme1
|
||||
- /dev/nvme2
|
||||
environment:
|
||||
CONFIG_DIR: /config/addons_config/epicgamesfree
|
||||
CONFIG_DIR: /config
|
||||
image: ghcr.io/alexbelgium/epicgamesfree-{arch}
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
name: Epic Games Free
|
||||
options:
|
||||
env_vars: []
|
||||
@@ -88,5 +89,5 @@ schema:
|
||||
slug: epicgamesfree
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "debian-2025-12-02"
|
||||
version: "debian-2025-12-04-2"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:3000]"
|
||||
|
||||
@@ -2,7 +2,25 @@
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
slug=epicgamesfree
|
||||
legacy_path="/homeassistant/addons_config/$slug"
|
||||
target_path="/config"
|
||||
|
||||
mkdir -p "$target_path"
|
||||
|
||||
if bashio::config.has_value 'CONFIG_LOCATION' && [ "$(bashio::config 'CONFIG_LOCATION')" != "/config" ]; then
|
||||
legacy_path="$(bashio::config 'CONFIG_LOCATION')"
|
||||
fi
|
||||
|
||||
if [ -d "$legacy_path" ]; then
|
||||
if [ ! -f "$legacy_path/.migrated" ] || [ -z "$(ls -A "$target_path" 2>/dev/null)" ]; then
|
||||
echo "Migrating $legacy_path to $target_path"
|
||||
cp -rnf "$legacy_path"/. "$target_path"/ || true
|
||||
touch "$legacy_path/.migrated"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Define home
|
||||
HOME="/config/addons_config/epicgamesfree"
|
||||
HOME="/config"
|
||||
mkdir -p $HOME
|
||||
chmod -R 777 $HOME
|
||||
|
||||
@@ -6,7 +6,7 @@ set -e
|
||||
# Initialize #
|
||||
##############
|
||||
|
||||
HOME="/config/addons_config/epicgamesfree"
|
||||
HOME="/config"
|
||||
CONFIG_JSON="$HOME/config.json"
|
||||
LEGACY_YAML="$HOME/config.yaml"
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.53.1 (08-01-2026)
|
||||
- Update to latest version from filebrowser/filebrowser (changelog : https://github.com/filebrowser/filebrowser/releases)
|
||||
|
||||
## 2.53.0 (03-01-2026)
|
||||
- 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.53.0"
|
||||
version: "2.53.1"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"github_beta": "true",
|
||||
"last_update": "03-01-2026",
|
||||
"last_update": "08-01-2026",
|
||||
"paused": false,
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "filebrowser",
|
||||
"source": "github",
|
||||
"upstream_repo": "filebrowser/filebrowser",
|
||||
"upstream_version": "2.53.0"
|
||||
"upstream_version": "2.53.1"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 1.1.6b0 (08-01-2026)
|
||||
- Update to latest version from gtsteffaniak/filebrowser (changelog : https://github.com/gtsteffaniak/filebrowser/releases)
|
||||
|
||||
## 1.1.5b0 (03-01-2026)
|
||||
- Update to latest version from gtsteffaniak/filebrowser (changelog : https://github.com/gtsteffaniak/filebrowser/releases)
|
||||
|
||||
|
||||
@@ -110,4 +110,4 @@ schema:
|
||||
slug: filebrowser_quantum
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "1.1.5b0"
|
||||
version: "1.1.6b0"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"github_beta": "true",
|
||||
"last_update": "03-01-2026",
|
||||
"last_update": "08-01-2026",
|
||||
"paused": false,
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "filebrowser_quantum",
|
||||
"source": "github",
|
||||
"upstream_repo": "gtsteffaniak/filebrowser",
|
||||
"upstream_version": "1.1.5b0"
|
||||
"upstream_version": "1.1.6b0"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
|
||||
## 6.4.15-1 (09-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/fireflyiii to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-fireflyiii. Please make a backup before updating.
|
||||
|
||||
## 6.4.15 (08-01-2026)
|
||||
- Update to latest version from firefly-iii/firefly-iii (changelog : https://github.com/firefly-iii/firefly-iii/releases)
|
||||
|
||||
## 20260101.1 (03-01-2026)
|
||||
- Update to latest version from firefly-iii/firefly-iii (changelog : https://github.com/firefly-iii/firefly-iii/releases)
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ Configurations can be done through the app webUI, except for the following optio
|
||||
| Option | Type | Default | Description |
|
||||
|--------|------|---------|-------------|
|
||||
| `APP_KEY` | str | `CHANGEME_32_CHARS_EuC5dfn3LAPzeO` | **CRITICAL**: 32-character encryption key - change before first run! |
|
||||
| `CONFIG_LOCATION` | str | `/config/addons_config/fireflyiii/config.yaml` | Location of additional config file |
|
||||
| `CONFIG_LOCATION` | str | `/addon_configs/xxx-fireflyiii/config.yaml` | Location of additional config file |
|
||||
| `DB_CONNECTION` | list | `sqlite_internal` | Database type (sqlite_internal/mariadb_addon/mysql/pgsql) |
|
||||
| `DB_HOST` | str | | Database host (for external databases) |
|
||||
| `DB_PORT` | str | | Database port (for external databases) |
|
||||
@@ -61,7 +61,7 @@ Configurations can be done through the app webUI, except for the following optio
|
||||
|
||||
```yaml
|
||||
APP_KEY: "SomeRandomStringOf32CharsExactly"
|
||||
CONFIG_LOCATION: "/config/addons_config/fireflyiii/config.yaml"
|
||||
CONFIG_LOCATION: "/addon_configs/xxx-fireflyiii/config.yaml"
|
||||
DB_CONNECTION: "mariadb_addon"
|
||||
DB_HOST: "core-mariadb"
|
||||
DB_PORT: "3306"
|
||||
@@ -101,4 +101,3 @@ Create an issue on github
|
||||
|
||||
[repository]: https://github.com/alexbelgium/hassio-addons
|
||||
|
||||
|
||||
|
||||
@@ -69,13 +69,14 @@ environment:
|
||||
image: ghcr.io/alexbelgium/fireflyiii-{arch}
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
name: Firefly iii
|
||||
options:
|
||||
env_vars: []
|
||||
APP_KEY: CHANGEME_32_CHARS_EuC5dfn3LAPzeO
|
||||
CONFIG_LOCATION: /config/addons_config/fireflyiii/config.yaml
|
||||
CONFIG_LOCATION: /config/config.yaml
|
||||
DB_CONNECTION: sqlite_internal
|
||||
silent: "true"
|
||||
ports:
|
||||
@@ -104,5 +105,5 @@ slug: fireflyiii
|
||||
startup: services
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "20260101.1"
|
||||
version: "6.4.15-1"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:8080]"
|
||||
|
||||
@@ -3,6 +3,24 @@
|
||||
set -e
|
||||
# hadolint ignore=SC2155
|
||||
|
||||
slug=fireflyiii
|
||||
legacy_path="/homeassistant/addons_config/$slug"
|
||||
target_path="/config"
|
||||
|
||||
mkdir -p "$target_path"
|
||||
|
||||
if bashio::config.has_value 'CONFIG_LOCATION' && [ "$(bashio::config 'CONFIG_LOCATION')" != "/config" ]; then
|
||||
legacy_path="$(bashio::config 'CONFIG_LOCATION')"
|
||||
fi
|
||||
|
||||
if [ -d "$legacy_path" ]; then
|
||||
if [ ! -f "$legacy_path/.migrated" ] || [ -z "$(ls -A "$target_path" 2>/dev/null)" ]; then
|
||||
echo "Migrating $legacy_path to $target_path"
|
||||
cp -rnf "$legacy_path"/. "$target_path"/ || true
|
||||
touch "$legacy_path/.migrated"
|
||||
fi
|
||||
fi
|
||||
|
||||
########
|
||||
# Init #
|
||||
########
|
||||
@@ -17,24 +35,24 @@ if [[ ! "$APP_KEY" == *"base64"* ]]; then
|
||||
fi
|
||||
|
||||
# Backup APP_KEY file
|
||||
bashio::log.info "Backuping APP_KEY to /config/addons_config/fireflyiii/APP_KEY_BACKUP.txt"
|
||||
bashio::log.info "Backuping APP_KEY to /config/APP_KEY_BACKUP.txt"
|
||||
bashio::log.warning "Changing this value will require to reset your database"
|
||||
|
||||
# Get current app_key
|
||||
mkdir -p /config/addons_config/fireflyiii
|
||||
touch /config/addons_config/fireflyiii/APP_KEY_BACKUP.txt
|
||||
CURRENT=$(sed -e '/^[<blank><tab>]*$/d' /config/addons_config/fireflyiii/APP_KEY_BACKUP.txt | sed -n -e '$p')
|
||||
mkdir -p /config
|
||||
touch /config/APP_KEY_BACKUP.txt
|
||||
CURRENT=$(sed -e '/^[<blank><tab>]*$/d' /config/APP_KEY_BACKUP.txt | sed -n -e '$p')
|
||||
|
||||
# Save if new
|
||||
if [ "$CURRENT" != "$APP_KEY" ]; then
|
||||
echo "$APP_KEY" >> /config/addons_config/fireflyiii/APP_KEY_BACKUP.txt
|
||||
echo "$APP_KEY" >> /config/APP_KEY_BACKUP.txt
|
||||
fi
|
||||
|
||||
# Update permissions
|
||||
mkdir -p /config/addons_config/fireflyiii
|
||||
chown -R www-data:www-data /config/addons_config/fireflyiii
|
||||
mkdir -p /config
|
||||
chown -R www-data:www-data /config
|
||||
chown -R www-data:www-data /var/www/html/storage
|
||||
chmod -R 775 /config/addons_config/fireflyiii
|
||||
chmod -R 775 /config
|
||||
|
||||
###################
|
||||
# Define database #
|
||||
@@ -49,16 +67,16 @@ case $(bashio::config 'DB_CONNECTION') in
|
||||
|
||||
# Set variable
|
||||
export DB_CONNECTION=sqlite
|
||||
export DB_DATABASE=/config/addons_config/fireflyiii/database/database.sqlite
|
||||
export DB_DATABASE=/config/database/database.sqlite
|
||||
|
||||
# Creating folders
|
||||
mkdir -p /config/addons_config/fireflyiii/database
|
||||
chown -R www-data:www-data /config/addons_config/fireflyiii/database
|
||||
mkdir -p /config/database
|
||||
chown -R www-data:www-data /config/database
|
||||
|
||||
# Creating database
|
||||
if [ ! -f /config/addons_config/fireflyiii/database/database.sqlite ]; then
|
||||
if [ ! -f /config/database/database.sqlite ]; then
|
||||
# Create database
|
||||
touch /config/addons_config/fireflyiii/database/database.sqlite
|
||||
touch /config/database/database.sqlite
|
||||
# Install database
|
||||
echo "updating database"
|
||||
php artisan migrate:refresh --seed --quiet
|
||||
@@ -68,11 +86,11 @@ case $(bashio::config 'DB_CONNECTION') in
|
||||
|
||||
# Creating symlink
|
||||
rm -r /var/www/html/storage/database
|
||||
ln -s /config/addons_config/fireflyiii/database /var/www/html/storage
|
||||
ln -s /config/database /var/www/html/storage
|
||||
|
||||
# Updating permissions
|
||||
chmod 775 /config/addons_config/fireflyiii/database/database.sqlite
|
||||
chown -R www-data:www-data /config/addons_config/fireflyiii
|
||||
chmod 775 /config/database/database.sqlite
|
||||
chown -R www-data:www-data /config
|
||||
chown -R www-data:www-data /var/www/html/storage
|
||||
;;
|
||||
|
||||
@@ -132,24 +150,24 @@ esac
|
||||
bashio::log.info "Defining upload folder"
|
||||
|
||||
# Creating folder
|
||||
if [ ! -d /config/addons_config/fireflyiii/upload ]; then
|
||||
mkdir -p /config/addons_config/fireflyiii/upload
|
||||
chown -R www-data:www-data /config/addons_config/fireflyiii/upload
|
||||
if [ ! -d /config/upload ]; then
|
||||
mkdir -p /config/upload
|
||||
chown -R www-data:www-data /config/upload
|
||||
fi
|
||||
|
||||
# Creating symlink
|
||||
if [ -d /var/www/html/storage/ha_upload ]; then
|
||||
rm -r /var/www/html/storage/ha_upload
|
||||
fi
|
||||
ln -s /config/addons_config/fireflyiii/upload /var/www/html/storage/ha_upload
|
||||
ln -s /config/upload /var/www/html/storage/ha_upload
|
||||
|
||||
# Updating permissions
|
||||
chown -R www-data:www-data /config/addons_config/fireflyiii
|
||||
chown -R www-data:www-data /config
|
||||
chown -R www-data:www-data /var/www/html/storage
|
||||
chmod -R 775 /config/addons_config/fireflyiii
|
||||
chmod -R 775 /config
|
||||
|
||||
# Test
|
||||
f=/config/addons_config/fireflyiii
|
||||
f=/config
|
||||
while [[ $f != / ]]; do
|
||||
chmod 755 "$f"
|
||||
f=$(dirname "$f")
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"github_exclude": "2025",
|
||||
"last_update": "03-01-2026",
|
||||
"github_exclude": "develop",
|
||||
"last_update": "08-01-2026",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "fireflyiii",
|
||||
"source": "github",
|
||||
"upstream_repo": "firefly-iii/firefly-iii",
|
||||
"upstream_version": "20260101.1"
|
||||
"upstream_version": "6.4.15"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.0.0 (08-01-2026)
|
||||
- Update to latest version from firefly-iii/data-importer (changelog : https://github.com/firefly-iii/data-importer/releases)
|
||||
|
||||
## 1.9.1 (08-11-2025)
|
||||
- Update to latest version from firefly-iii/data-importer (changelog : https://github.com/firefly-iii/data-importer/releases)
|
||||
- Added support for configuring extra environment variables via the `env_vars` add-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
ARG BUILD_FROM
|
||||
ARG BUILD_VERSION
|
||||
ARG BUILD_UPSTREAM="1.9.1"
|
||||
ARG BUILD_UPSTREAM="2.0.0"
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
##################
|
||||
|
||||
@@ -101,5 +101,5 @@ schema:
|
||||
slug: fireflyiii_data_importer
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "1.9.1"
|
||||
version: "2.0.0"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:8080]"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"github_exclude": "develop",
|
||||
"last_update": "08-11-2025",
|
||||
"last_update": "08-01-2026",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "fireflyiii_data_importer",
|
||||
"source": "github",
|
||||
"upstream_repo": "firefly-iii/data-importer",
|
||||
"upstream_version": "1.9.1"
|
||||
"upstream_version": "2.0.0"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
GRDF_USERNAME: username #your GRDF login (ex : myemail@email.com)
|
||||
GRDF_PASSWORD: password #your GRDF password
|
||||
MQTT_HOST: 127.0.0.1 #hostname or ip adress of the MQTT broker.
|
||||
MQTT_HOST: 127.0.0.1 #hostname or ip address of the MQTT broker.
|
||||
# OPTIONAL VARIABLES : see https://github.com/ssenart/gazpar2mqtt
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 1.7.49.5 (08-01-2026)
|
||||
- Update to latest version from linuxserver/docker-grav (changelog : https://github.com/linuxserver/docker-grav/releases)
|
||||
|
||||
## 1.8.0 (29-11-2025)
|
||||
- Update to latest version from linuxserver/docker-grav (changelog : https://github.com/linuxserver/docker-grav/releases)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
ARG BUILD_FROM
|
||||
ARG BUILD_VERSION
|
||||
ARG BUILD_UPSTREAM="1.8.0"
|
||||
ARG BUILD_UPSTREAM="1.7.49.5"
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
##################
|
||||
|
||||
@@ -89,5 +89,5 @@ schema:
|
||||
slug: grav
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "1.8.0"
|
||||
version: "1.7.49.5"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:80]"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"github_beta": false,
|
||||
"last_update": "29-11-2025",
|
||||
"last_update": "08-01-2026",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "grav",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-grav",
|
||||
"upstream_version": "1.8.0"
|
||||
"upstream_version": "1.7.49.5"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 0.24.766 (08-01-2026)
|
||||
- Update to latest version from linuxserver/docker-jackett (changelog : https://github.com/linuxserver/docker-jackett/releases)
|
||||
|
||||
## 0.24.671 (03-01-2026)
|
||||
- Update to latest version from linuxserver/docker-jackett (changelog : https://github.com/linuxserver/docker-jackett/releases)
|
||||
|
||||
|
||||
@@ -106,5 +106,5 @@ schema:
|
||||
slug: jackett_nas
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/jackett
|
||||
version: "0.24.671"
|
||||
version: "0.24.766"
|
||||
webui: http://[HOST]:[PORT:9117]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"last_update": "03-01-2026",
|
||||
"last_update": "08-01-2026",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "jackett",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-jackett",
|
||||
"upstream_version": "0.24.671"
|
||||
"upstream_version": "0.24.766"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
## 2.1.37-2 (05-01-2026)
|
||||
## 2.1.37-4 (08-01-2026)
|
||||
- Automatic login with ingress
|
||||
- Align configuration mapping with addon_config and homeassistant_config
|
||||
- Migrate legacy /homeassistant/addons_config/joal data to the addon config folder
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ description: An open source command line RatioMaster with WebUI
|
||||
hassio_api: true
|
||||
image: ghcr.io/alexbelgium/joal-{arch}
|
||||
ingress: true
|
||||
ingress_entry: entry
|
||||
map:
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
@@ -33,4 +34,4 @@ schema:
|
||||
slug: joal
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: 2.1.37-2
|
||||
version: 2.1.37-4
|
||||
|
||||
@@ -73,12 +73,6 @@ UIPATH=$(bashio::config 'ui_path')
|
||||
#port=$(bashio::addon.port 80)
|
||||
ingress_port=$(bashio::addon.ingress_port)
|
||||
ingress_interface=$(bashio::addon.ip_address)
|
||||
ui_credentials_json=$(jq -n --arg host "${host_ip}:${host_port}${ingress_url}/" \
|
||||
--arg port "${host_port}" \
|
||||
--arg pathPrefix "${UIPATH}" \
|
||||
--arg secretToken "${TOKEN}" \
|
||||
'{host:$host,port:$port,pathPrefix:$pathPrefix,secretToken:$secretToken}')
|
||||
ui_credentials_encoded=$(printf '%s' "$ui_credentials_json" | jq -sRr @uri)
|
||||
|
||||
#################
|
||||
# NGINX SETTING #
|
||||
@@ -92,11 +86,16 @@ ui_credentials_encoded=$(printf '%s' "$ui_credentials_json" | jq -sRr @uri)
|
||||
# bashio::log.info "Ingress url not set. Connection must be done manually."
|
||||
#fi
|
||||
|
||||
# AUTO AUTHENTIFICATION
|
||||
sed -i "s|%%TOKEN%%|$TOKEN|g" /etc/nginx/servers/ingress.conf
|
||||
sed -i "s|%%UIPATH%%|$UIPATH|g" /etc/nginx/servers/ingress.conf
|
||||
sed -i "s|%%PORT%%|8123|g" /etc/nginx/servers/ingress.conf
|
||||
sed -i "s|%%INGRESS_URL%%|$ingress_url|g" /etc/nginx/servers/ingress.conf
|
||||
|
||||
# NGINX
|
||||
sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf
|
||||
sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf
|
||||
sed -i "s/%%path%%/${UIPATH}/g" /etc/nginx/servers/ingress.conf
|
||||
sed -i "s|%%ui_credentials%%|${ui_credentials_encoded}|g" /etc/nginx/servers/ingress.conf
|
||||
mkdir -p /var/log/nginx && touch /var/log/nginx/error.log
|
||||
|
||||
###############
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
server {
|
||||
listen %%interface%%:%%port%% default_server;
|
||||
|
||||
@@ -7,12 +6,27 @@ server {
|
||||
|
||||
client_max_body_size 0;
|
||||
|
||||
location /entry {
|
||||
# Improve ip handling
|
||||
proxy_hide_header X-Powered-By;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Accept-Encoding "";
|
||||
proxy_read_timeout 90;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Forwarded-Host $http_host;
|
||||
absolute_redirect off;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
return 302 %%INGRESS_URL%%/?ui_credentials=%7B%22host%22%3A%22$http_host%%INGRESS_URL%%/%22%2C%22port%22%3A%22%%PORT%%%22%2C%22pathPrefix%22%3A%22%%UIPATH%%%22%2C%22secretToken%22%3A%22%%TOKEN%%%22%7D;
|
||||
}
|
||||
|
||||
location / {
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
proxy_connect_timeout 30m;
|
||||
proxy_send_timeout 30m;
|
||||
proxy_read_timeout 30m;
|
||||
proxy_pass http://backend/%%path%%/ui?ui_credentials=%%ui_credentials%%;
|
||||
proxy_pass http://backend/%%path%%/ui/;
|
||||
}
|
||||
|
||||
location /:8123/ {
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
- Added support for configuring extra environment variables via the `env_vars` add-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||||
|
||||
## 2.2.2-1 (09-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/kometa to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-kometa. Please make a backup before updating.
|
||||
|
||||
@@ -28,7 +28,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
S6_SERVICES_GRACETIME=0
|
||||
|
||||
|
||||
ENV HOME=/config/addons_config/kometa
|
||||
ENV HOME=/config
|
||||
|
||||
# Image specific modifications
|
||||
RUN \
|
||||
@@ -38,7 +38,7 @@ RUN \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/kometa"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -67,7 +67,7 @@ Options can be configured through two ways :
|
||||
PUID: 1000 #for UserID - see below for explanation
|
||||
PGID: 1000 #for GroupID - see below for explanation
|
||||
TZ: Europe/London #Specify a timezone to use EG Europe/London.
|
||||
KOMETA_CONFIG: /config/addons_config/kometa/config/config.yml #Specify a custom config file to use.
|
||||
KOMETA_CONFIG: /addon_configs/xxx-kometa/config.yml #Specify a custom config file to use.
|
||||
KOMETA_TIME: 03:00 #Comma-separated list of times to update each day. Format: HH:MM.
|
||||
KOMETA_RUN: False #Set to True to run without the scheduler.
|
||||
KOMETA_TEST: False #Set to True to run in debug mode with only collections that have test: true.
|
||||
@@ -90,4 +90,3 @@ Create an issue on github
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
@@ -69,13 +69,14 @@ devices:
|
||||
image: ghcr.io/alexbelgium/kometa-{arch}
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
name: Kometa
|
||||
options:
|
||||
env_vars: []
|
||||
KOMETA_CONFIG: /config/addons_config/kometa/config.yml
|
||||
KOMETA_CONFIG: /config/config.yml
|
||||
PGID: 0
|
||||
PUID: 0
|
||||
privileged:
|
||||
@@ -96,4 +97,4 @@ schema:
|
||||
slug: kometa
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/kometa
|
||||
version: 2.2.2
|
||||
version: 2.2.2-1
|
||||
|
||||
21
kometa/rootfs/etc/cont-init.d/00-migrate.sh
Executable file
21
kometa/rootfs/etc/cont-init.d/00-migrate.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
slug=kometa
|
||||
legacy_path="/homeassistant/addons_config/$slug"
|
||||
target_path="/config"
|
||||
|
||||
mkdir -p "$target_path"
|
||||
|
||||
if bashio::config.has_value 'CONFIG_LOCATION' && [ "$(bashio::config 'CONFIG_LOCATION')" != "/config" ]; then
|
||||
legacy_path="$(bashio::config 'CONFIG_LOCATION')"
|
||||
fi
|
||||
|
||||
if [ -d "$legacy_path" ]; then
|
||||
if [ ! -f "$legacy_path/.migrated" ] || [ -z "$(ls -A "$target_path" 2>/dev/null)" ]; then
|
||||
echo "Migrating $legacy_path to $target_path"
|
||||
cp -rnf "$legacy_path"/. "$target_path"/ || true
|
||||
touch "$legacy_path/.migrated"
|
||||
fi
|
||||
fi
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 3.1.0.4875-1 (08-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/lidarr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-lidarr_nas. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration of data should be automatic. Please be sure to update all your links however ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/
|
||||
|
||||
## 3.1.0.4875 (22-11-2025)
|
||||
- Update to latest version from linuxserver/docker-lidarr (changelog : https://github.com/linuxserver/docker-lidarr/releases)
|
||||
- The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release
|
||||
|
||||
@@ -29,7 +29,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/lidarr"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -71,7 +71,8 @@ environment:
|
||||
image: ghcr.io/alexbelgium/lidarr_nas-{arch}
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
name: Lidarr NAS
|
||||
@@ -101,5 +102,5 @@ schema:
|
||||
slug: lidarr_nas
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/blob/master/lidarr/README.md
|
||||
version: "3.1.0.4875"
|
||||
version: "3.1.0.4875-1"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:8686]"
|
||||
|
||||
@@ -14,16 +14,14 @@ if [ ! -d /share/downloads ]; then
|
||||
chown -R "$PUID:$PGID" /share/downloads
|
||||
fi
|
||||
|
||||
if [ -d /config/lidarr ] && [ ! -d /config/addons_config/lidarr ]; then
|
||||
echo "Moving to new location /config/addons_config/lidarr"
|
||||
mkdir -p /config/addons_config/lidarr
|
||||
chmod 755 /config/addons_config/lidarr
|
||||
mv /config/lidarr/* /config/addons_config/lidarr/
|
||||
rm -r /config/lidarr
|
||||
slug=lidarr
|
||||
|
||||
if [ -d "/homeassistant/addons_config/$slug" ]; then
|
||||
echo "Migrating /homeassistant/addons_config/$slug to /addon_configs/xxx-$slug"
|
||||
cp -rnf /homeassistant/addons_config/"$slug"/. /config/ || true
|
||||
mv /homeassistant/addons_config/"$slug" /homeassistant/addons_config/"$slug"_migrated
|
||||
fi
|
||||
|
||||
if [ ! -d /config/addons_config/lidarr ]; then
|
||||
echo "Creating /config/addons_config/lidarr"
|
||||
mkdir -p /config/addons_config/lidarr
|
||||
chmod 755 /config/addons_config/lidarr
|
||||
if [ -d /config/addons_config ]; then
|
||||
rm -rf /config/addons_config
|
||||
fi
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## v3.9.2-3 (07-01-2026)
|
||||
- Minor bugs fixed
|
||||
## v3.9.2-2 (07-01-2026)
|
||||
- Minor bugs fixed
|
||||
|
||||
## v3.9.2 (03-01-2026)
|
||||
- Update to latest version from mealie-recipes/mealie (changelog : https://github.com/mealie-recipes/mealie/releases)
|
||||
|
||||
@@ -114,4 +114,4 @@ schema:
|
||||
slug: mealie
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "v3.9.2"
|
||||
version: v3.9.2-3
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
sub_filter '`/api' '`%%ingress_entry%%/api';
|
||||
sub_filter "'/api" "'%%ingress_entry%%/api";
|
||||
sub_filter %%base_subpath%% %%ingress_entry%%/;
|
||||
sub_filter recipes/releases/tag recipes/mealie/releases/tag;
|
||||
sub_filter mealie-recipes%%ingress_entry%%/releases mealie-recipes/mealie/releases;
|
||||
sub_filter 'href="/"' 'href="%%ingress_entry%%/"';
|
||||
sub_filter '"\/"' '"%%ingress_entry%%\/"';
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ server {
|
||||
sub_filter_once off;
|
||||
sub_filter_types *;
|
||||
sub_filter %%base_subpath%% /;
|
||||
sub_filter mealie-recipes/releases mealie-recipes/mealie/releases;
|
||||
|
||||
# Rewrite URLs in the response
|
||||
sub_filter localhost:9000 %%BASE_URL%%;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
## 25.11.29-3 (07-01-2026)
|
||||
- Minor bugs fixed
|
||||
## 25.11.29-2 (06-01-2026)
|
||||
- Minor bugs fixed
|
||||
## 25.11.29 (20-12-2025)
|
||||
- Minor bugs fixed
|
||||
## 25.10.1-4 (01-12-2025)
|
||||
|
||||
@@ -11,6 +11,8 @@ environment:
|
||||
NETALERTX_CONFIG: /config/config
|
||||
NETALERTX_DB: /config/db
|
||||
TMP_DIR: /tmp/tmp
|
||||
NETALERTX_CONFIG_FILE: /config/config/app.conf
|
||||
NETALERTX_DB_FILE: /config/db/app.db
|
||||
hassio_api: true
|
||||
host_network: true
|
||||
image: ghcr.io/alexbelgium/netalertx-{arch}
|
||||
@@ -34,8 +36,6 @@ ports_description:
|
||||
20211/tcp: WebUI port
|
||||
20212/tcp: GraphQL port
|
||||
privileged:
|
||||
- SYS_ADMIN
|
||||
- DAC_READ_SEARCH
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
schema:
|
||||
@@ -50,4 +50,4 @@ slug: netalertx
|
||||
tmpfs: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: 25.11.29
|
||||
version: 25.11.29-3
|
||||
|
||||
@@ -10,11 +10,9 @@ APP_UID=20211
|
||||
|
||||
# 1. Fix the directories
|
||||
for folder in /tmp/run/tmp /tmp/api /tmp/log /tmp/run /tmp/nginx/active-config "$TMP_DIR" "$NETALERTX_DATA" "$NETALERTX_DB" "$NETALERTX_CONFIG"; do
|
||||
if [ -n "$folder" ]; then
|
||||
mkdir -p "$folder"
|
||||
chown -R $APP_UID:$APP_UID "$folder"
|
||||
chmod 755 "$folder"
|
||||
fi
|
||||
mkdir -p "$folder"
|
||||
chown -R $APP_UID:$APP_UID "$folder"
|
||||
chmod -R 755 "$folder"
|
||||
done
|
||||
|
||||
# 2. Fix /tmp and Standard Streams (CRITICAL)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
## 25.10.1-2 (06-01-2026)
|
||||
- Minor bugs fixed
|
||||
## 25.5.24 (01-12-2025)
|
||||
- Minor bugs fixed
|
||||
## 25.10.1-3 (29-11-2025)
|
||||
|
||||
@@ -3,10 +3,16 @@ arch:
|
||||
- amd64
|
||||
description: "\U0001F5A7\U0001F50D WIFI / LAN scanner, intruder, and presence detector"
|
||||
environment:
|
||||
PGID: "102"
|
||||
PGID: "20211"
|
||||
PORT: "20211"
|
||||
PUID: "102"
|
||||
PUID: "20211"
|
||||
TZ: Europe/Berlin
|
||||
NETALERTX_DATA: /config
|
||||
NETALERTX_CONFIG: /config/config
|
||||
NETALERTX_DB: /config/db
|
||||
TMP_DIR: /tmp/tmp
|
||||
NETALERTX_CONFIG_FILE: /config/config/app.conf
|
||||
NETALERTX_DB_FILE: /config/db/app.db
|
||||
full_access: true
|
||||
hassio_api: true
|
||||
host_network: true
|
||||
@@ -31,8 +37,6 @@ ports_description:
|
||||
20211/tcp: WebUI port
|
||||
20212/tcp: GraphQL port
|
||||
privileged:
|
||||
- SYS_ADMIN
|
||||
- DAC_READ_SEARCH
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
schema:
|
||||
@@ -47,4 +51,4 @@ slug: netalertx_fa
|
||||
tmpfs: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: 25.10.1
|
||||
version: 25.10.1-3
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
## 32.0.3-2 (06-01-2026)
|
||||
- Minor bugs fixed
|
||||
|
||||
## 32.0.3 (13-12-2025)
|
||||
- Update to latest version from linuxserver/docker-nextcloud (changelog : https://github.com/linuxserver/docker-nextcloud/releases)
|
||||
|
||||
@@ -151,5 +151,5 @@ slug: nextcloud_ocr
|
||||
uart: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/nextcloud
|
||||
version: "32.0.3"
|
||||
version: 32.0.3-2
|
||||
webui: https://[HOST]:[PORT:443]
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
- Added support for configuring extra environment variables via the `env_vars` add-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||||
|
||||
## 1.34.0-1 (09-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/overseerr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-overseerr. Please make a backup before updating.
|
||||
|
||||
## 1.34.0 (29-03-2025)
|
||||
- Update to latest version from linuxserver/docker-overseerr (changelog : https://github.com/linuxserver/docker-overseerr/releases)
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/overseerr"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -63,7 +63,7 @@ Configurations can be done through the app webUI, except for the following optio
|
||||
| `PGID` | int | `0` | Group ID for file permissions |
|
||||
| `PUID` | int | `0` | User ID for file permissions |
|
||||
| `TZ` | str | | Timezone (e.g., `Europe/London`) |
|
||||
| `CONFIG_LOCATION` | str | `/config` | Path where Overseerr config is stored |
|
||||
| `CONFIG_LOCATION` | str | `/addon_configs/xxx-overseerr` | Path where Overseerr config is stored |
|
||||
|
||||
### Example Configuration
|
||||
|
||||
@@ -71,7 +71,7 @@ Configurations can be done through the app webUI, except for the following optio
|
||||
PGID: 0
|
||||
PUID: 0
|
||||
TZ: "Europe/London"
|
||||
CONFIG_LOCATION: "/config"
|
||||
CONFIG_LOCATION: "/addon_configs/xxx-overseerr"
|
||||
```
|
||||
|
||||
## Support
|
||||
@@ -86,4 +86,3 @@ Create an issue on github
|
||||
|
||||
[repository]: https://github.com/alexbelgium/hassio-addons
|
||||
|
||||
|
||||
|
||||
@@ -70,11 +70,12 @@ environment: {}
|
||||
image: ghcr.io/alexbelgium/overseerr-{arch}
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
name: Overseerr
|
||||
options:
|
||||
env_vars: []
|
||||
CONFIG_LOCATION: /config/addons_config/overseerr
|
||||
CONFIG_LOCATION: /config
|
||||
PGID: "0"
|
||||
PUID: "0"
|
||||
ports:
|
||||
@@ -93,5 +94,5 @@ schema:
|
||||
slug: overseerr
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/overseerr
|
||||
version: 1.34.0
|
||||
version: 1.34.0-1
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:5055]"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
CONFIG_LOCATION=$(bashio::config 'CONFIG_LOCATION')
|
||||
CONFIG_LOCATION="/config"
|
||||
bashio::log.info "Config stored in $CONFIG_LOCATION"
|
||||
|
||||
mkdir -p "$CONFIG_LOCATION"
|
||||
@@ -10,6 +10,6 @@ chown -R "$PUID:$PGID" "$CONFIG_LOCATION"
|
||||
chmod -R 755 "$CONFIG_LOCATION"
|
||||
|
||||
# shellcheck disable=SC2013
|
||||
for file in $(grep -Esril "/config/addons_config/overseerr" /etc/logrotate.d /defaults /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do
|
||||
sed -i "s=/config/addons_config/overseerr=$CONFIG_LOCATION=g" "$file"
|
||||
for file in $(grep -Esril "/config" /etc/logrotate.d /defaults /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do
|
||||
sed -i "s=/config=$CONFIG_LOCATION=g" "$file"
|
||||
done
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -d /config/addons_config/overseerr ]; then
|
||||
echo "Creating /config/addons_config/overseerr"
|
||||
mkdir -p /config/addons_config/overseerr
|
||||
slug=overseerr
|
||||
legacy_path="/homeassistant/addons_config/$slug"
|
||||
target_path="/config"
|
||||
|
||||
mkdir -p "$target_path"
|
||||
|
||||
if bashio::config.has_value 'CONFIG_LOCATION' && [ "$(bashio::config 'CONFIG_LOCATION')" != "/config" ]; then
|
||||
legacy_path="$(bashio::config 'CONFIG_LOCATION')"
|
||||
fi
|
||||
|
||||
if [ -d /config/addons_config/addons_config/overseerr ]; then
|
||||
echo "Migrating data to /config/addons_config/overseerr"
|
||||
mv /config/addons_config/addons_config/overseerr /config/addons_config/overseerr
|
||||
if [ -d "$legacy_path" ]; then
|
||||
if [ ! -f "$legacy_path/.migrated" ] || [ -z "$(ls -A "$target_path" 2>/dev/null)" ]; then
|
||||
echo "Migrating $legacy_path to $target_path"
|
||||
cp -rnf "$legacy_path"/. "$target_path"/ || true
|
||||
touch "$legacy_path/.migrated"
|
||||
fi
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2013
|
||||
for file in $(grep -Esril "/config/.config/yarn" /usr /etc /defaults); do
|
||||
sed -i "s=/config/.config/yarn=/config/addons_config/overseerr/yarn=g" "$file"
|
||||
sed -i "s=/config/.config/yarn=/config/yarn=g" "$file"
|
||||
done
|
||||
yarn config set global-folder /config/addons_config/overseerr/yarn
|
||||
chown -R "$PUID:$PGID" /config/addons_config/overseerr
|
||||
yarn config set global-folder /config/yarn
|
||||
chown -R "$PUID:$PGID" /config
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
|
||||
## develop-2.3.2.5245-ls249-1 (08-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/prowlarr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-prowlarr. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration of data should be automatic. Please be sure to update all your links however ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/
|
||||
|
||||
## develop-2.3.2.5245-ls249 (08-01-2026)
|
||||
- Update to latest version from linuxserver/docker-prowlarr (changelog : https://github.com/linuxserver/docker-prowlarr/releases)
|
||||
|
||||
## nightly-2.3.2.5245-ls220 (03-01-2026)
|
||||
- Update to latest version from linuxserver/docker-prowlarr (changelog : https://github.com/linuxserver/docker-prowlarr/releases)
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/prowlarr"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -72,7 +72,8 @@ environment:
|
||||
image: ghcr.io/alexbelgium/prowlarr-{arch}
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
- ssl
|
||||
@@ -104,5 +105,5 @@ schema:
|
||||
slug: prowlarr
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "nightly-2.3.2.5245-ls220"
|
||||
version: "develop-2.3.2.5245-ls249-1"
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:9696]"
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
if [ -d /config/prowlarr ] && [ ! -d /config/addons_config/prowlarr ]; then
|
||||
echo "Moving to new location /config/addons_config/prowlarr"
|
||||
mkdir -p /config/addons_config/prowlarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/prowlarr
|
||||
mv /config/prowlarr/* /config/addons_config/prowlarr/
|
||||
rm -r /config/prowlarr
|
||||
slug=prowlarr
|
||||
|
||||
if [ -d "/homeassistant/addons_config/$slug" ]; then
|
||||
echo "Migrating /homeassistant/addons_config/$slug to /addon_configs/xxx-$slug"
|
||||
cp -rnf /homeassistant/addons_config/"$slug"/. /config/ || true
|
||||
mv /homeassistant/addons_config/"$slug" /homeassistant/addons_config/"$slug"_migrated
|
||||
fi
|
||||
|
||||
if [ ! -d /config/addons_config/prowlarr ]; then
|
||||
echo "Creating /config/addons_config/prowlarr"
|
||||
mkdir -p /config/addons_config/prowlarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/prowlarr
|
||||
if [ -d /config/addons_config ]; then
|
||||
rm -rf /config/addons_config
|
||||
fi
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"github_beta": "true",
|
||||
"github_fulltag": "true",
|
||||
"last_update": "03-01-2026",
|
||||
"last_update": "08-01-2026",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "prowlarr",
|
||||
"source": "github",
|
||||
"upstream_repo": "linuxserver/docker-prowlarr",
|
||||
"upstream_version": "nightly-2.3.2.5245-ls220"
|
||||
"upstream_version": "develop-2.3.2.5245-ls249"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 6.0.4.10291-1 (08-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/radarr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-radarr_nas. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration of data should be automatic. Please be sure to update all your links however ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/
|
||||
|
||||
## 6.0.4.10291 (22-11-2025)
|
||||
- Update to latest version from linuxserver/docker-radarr (changelog : https://github.com/linuxserver/docker-radarr/releases)
|
||||
- The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release
|
||||
|
||||
@@ -29,7 +29,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/radarr"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -72,7 +72,8 @@ ingress: true
|
||||
ingress_entry: radarr
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
- ssl
|
||||
@@ -107,4 +108,4 @@ schema:
|
||||
slug: radarr_nas
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/radarr
|
||||
version: "6.0.4.10291"
|
||||
version: "6.0.4.10291-1"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
if [ ! -d /share/storage/movies ]; then
|
||||
echo "Creating /share/storage/movies"
|
||||
@@ -12,16 +14,14 @@ if [ ! -d /share/downloads ]; then
|
||||
chown -R "$PUID:$PGID" /share/downloads
|
||||
fi
|
||||
|
||||
if [ -d /config/radarr ] && [ ! -d /config/addons_config/radarr ]; then
|
||||
echo "Moving to new location /config/addons_config/radarr"
|
||||
mkdir -p /config/addons_config/radarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/radarr
|
||||
mv /config/radarr/* /config/addons_config/radarr/
|
||||
rm -r /config/radarr
|
||||
slug=radarr
|
||||
|
||||
if [ -d "/homeassistant/addons_config/$slug" ]; then
|
||||
echo "Migrating /homeassistant/addons_config/$slug to /addon_configs/xxx-$slug"
|
||||
cp -rnf /homeassistant/addons_config/"$slug"/. /config/ || true
|
||||
mv /homeassistant/addons_config/"$slug" /homeassistant/addons_config/"$slug"_migrated
|
||||
fi
|
||||
|
||||
if [ ! -d /config/addons_config/radarr ]; then
|
||||
echo "Creating /config/addons_config/radarr"
|
||||
mkdir -p /config/addons_config/radarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/radarr
|
||||
if [ -d /config/addons_config ]; then
|
||||
rm -rf /config/addons_config
|
||||
fi
|
||||
|
||||
@@ -21,7 +21,7 @@ sed -i "s|%%ingress_entry%%|${ingress_entry}|g" /etc/nginx/servers/ingress.conf
|
||||
|
||||
# Values
|
||||
slug=radarr
|
||||
CONFIG_LOCATION=/config/addons_config/"$slug"/config.xml
|
||||
CONFIG_LOCATION=/config/config.xml
|
||||
|
||||
if [ -f "$CONFIG_LOCATION" ]; then
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ set -e
|
||||
# Set variables
|
||||
slug=radarr
|
||||
port=7878
|
||||
CONFIG_LOCATION=/config/addons_config/"$slug"/config.xml
|
||||
CONFIG_LOCATION=/config/config.xml
|
||||
|
||||
# Wait for transmission to become available
|
||||
bashio::net.wait_for "$port" localhost 900
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
## 0.4.18-2 (08-01-2026)
|
||||
- Remove CONFIG_LOCATION option now that config lives under /addon_configs by default
|
||||
|
||||
## 0.4.18-1 (08-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/readarr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-readarr_nas. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration of data should be automatic. Please be sure to update all your links however ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/
|
||||
|
||||
- Added support for configuring extra environment variables via the `env_vars` add-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||||
|
||||
## 0.4.19.2811 (28-06-2025)
|
||||
|
||||
@@ -30,7 +30,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/readarr"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -61,7 +61,6 @@ Configurations can be done through the app webUI, except for the following optio
|
||||
| `PGID` | int | `0` | Group ID for file permissions |
|
||||
| `PUID` | int | `0` | User ID for file permissions |
|
||||
| `TZ` | str | | Timezone (e.g., `Europe/London`) |
|
||||
| `CONFIG_LOCATION` | str | `/config` | Path where Readarr config is stored |
|
||||
| `connection_mode` | list | `ingress_noauth` | Connection mode (ingress_noauth/noingress_auth/ingress_auth) |
|
||||
| `localdisks` | str | | Local drives to mount (e.g., `sda1,sdb1,MYNAS`) |
|
||||
| `networkdisks` | str | | SMB shares to mount (e.g., `//SERVER/SHARE`) |
|
||||
@@ -81,7 +80,6 @@ Configurations can be done through the app webUI, except for the following optio
|
||||
PGID: 0
|
||||
PUID: 0
|
||||
TZ: "Europe/London"
|
||||
CONFIG_LOCATION: "/config"
|
||||
connection_mode: "ingress_noauth"
|
||||
localdisks: "sda1,sdb1"
|
||||
networkdisks: "//192.168.1.100/books,//nas.local/ebooks"
|
||||
@@ -104,7 +102,7 @@ This addon supports custom scripts and environment variables:
|
||||
- **Custom scripts**: See [Running Custom Scripts in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Running-custom-scripts-in-Addons)
|
||||
- **env_vars option**: Use the add-on `env_vars` option to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||||
|
||||
You can add environment variables by creating `/config/addons_config/readarr_nas.yml`:
|
||||
You can add environment variables by creating `/addon_configs/xxx-readarr_nas/readarr_nas.yml`:
|
||||
|
||||
```yaml
|
||||
TZ: Europe/Paris
|
||||
@@ -121,5 +119,3 @@ Create an issue on github
|
||||

|
||||
|
||||
[repository]: https://github.com/alexbelgium/hassio-addons
|
||||
|
||||
|
||||
|
||||
@@ -72,13 +72,13 @@ ingress: true
|
||||
ingress_entry: readarr
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
name: Readarr
|
||||
options:
|
||||
env_vars: []
|
||||
CONFIG_LOCATION: /config/addons_config/readarr
|
||||
PGID: 0
|
||||
PUID: 0
|
||||
connection_mode: ingress_noauth
|
||||
@@ -95,7 +95,6 @@ schema:
|
||||
env_vars:
|
||||
- name: match(^[A-Za-z0-9_]+$)
|
||||
value: str?
|
||||
CONFIG_LOCATION: str
|
||||
PGID: int
|
||||
PUID: int
|
||||
TZ: str?
|
||||
@@ -108,4 +107,4 @@ schema:
|
||||
slug: readarr_nas
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/readarr
|
||||
version: 0.4.18
|
||||
version: "0.4.18-2"
|
||||
|
||||
@@ -2,19 +2,8 @@
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
if bashio::config.has_value 'CONFIG_LOCATION'; then
|
||||
CONFIG_LOCATION="$(bashio::config 'CONFIG_LOCATION')"
|
||||
# Modify if it is a base directory
|
||||
if [[ "$CONFIG_LOCATION" == *.* ]]; then CONFIG_LOCATION="$(dirname "$CONFIG_LOCATION")"; fi
|
||||
fi
|
||||
|
||||
CONFIG_LOCATION=$(bashio::config 'CONFIG_LOCATION')
|
||||
CONFIG_LOCATION="/config"
|
||||
bashio::log.info "Config stored in $CONFIG_LOCATION"
|
||||
|
||||
mkdir -p "$CONFIG_LOCATION"
|
||||
chown -R "$PUID:$PGID" "$CONFIG_LOCATION"
|
||||
|
||||
# shellcheck disable=SC2013
|
||||
for file in $(grep -sril "/config/addons_config/readarr" /etc /defaults); do
|
||||
sed -i "s|/config/addons_config/readarr|$CONFIG_LOCATION|g" "$file"
|
||||
done
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
if [ ! -d /share/storage/ebook ]; then
|
||||
echo "Creating /share/storage/ebook"
|
||||
@@ -12,21 +14,19 @@ if [ ! -d /share/downloads ]; then
|
||||
chown -R "$PUID:$PGID" /share/downloads
|
||||
fi
|
||||
|
||||
if [ -d /config/readarr ] && [ ! -d /config/addons_config/readarr ]; then
|
||||
echo "Moving to new location /config/addons_config/readarr"
|
||||
mkdir -p /config/addons_config/readarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/readarr
|
||||
mv /config/readarr/* /config/addons_config/readarr/
|
||||
rm -r /config/readarr
|
||||
slug=readarr
|
||||
|
||||
if [ -d "/homeassistant/addons_config/$slug" ]; then
|
||||
echo "Migrating /homeassistant/addons_config/$slug to /addon_configs/xxx-$slug"
|
||||
cp -rnf /homeassistant/addons_config/"$slug"/. /config/ || true
|
||||
mv /homeassistant/addons_config/"$slug" /homeassistant/addons_config/"$slug"_migrated
|
||||
fi
|
||||
|
||||
if [ ! -d /config/addons_config/readarr ]; then
|
||||
echo "Creating /config/addons_config/readarr"
|
||||
mkdir -p /config/addons_config/readarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/readarr
|
||||
if [ -d /config/addons_config ]; then
|
||||
rm -rf /config/addons_config
|
||||
fi
|
||||
|
||||
if [ -d /config/addons_config/readarr/readarr ]; then
|
||||
mv /config/addons_config/readarr/readarr/{.,}* /config/addons_config/readarr/
|
||||
rmdir /config/addons_config/readarr/readarr
|
||||
if [ -d /config/readarr ]; then
|
||||
mv /config/readarr/{.,}* /config/ || true
|
||||
rmdir /config/readarr || true
|
||||
fi
|
||||
|
||||
@@ -21,7 +21,7 @@ sed -i "s|%%ingress_entry%%|${ingress_entry}|g" /etc/nginx/servers/ingress.conf
|
||||
|
||||
# Values
|
||||
slug=readarr
|
||||
CONFIG_LOCATION=/config/addons_config/"$slug"/config.xml
|
||||
CONFIG_LOCATION=/config/config.xml
|
||||
|
||||
if [ -f "$CONFIG_LOCATION" ]; then
|
||||
|
||||
|
||||
@@ -6,18 +6,11 @@ set -e
|
||||
# Set variables
|
||||
slug=readarr
|
||||
port=8787
|
||||
CONFIG_LOCATION=/config/addons_config/"$slug"/config.xml
|
||||
CONFIG_LOCATION=/config/config.xml
|
||||
|
||||
# Wait for transmission to become available
|
||||
bashio::net.wait_for "$port" localhost 900
|
||||
|
||||
if bashio::config.has_value 'CONFIG_LOCATION'; then
|
||||
CONFIG_LOCATION="$(bashio::config 'CONFIG_LOCATION')"
|
||||
# Modify if it is a base directory
|
||||
if [[ "$CONFIG_LOCATION" == *.* ]]; then CONFIG_LOCATION="$(dirname $CONFIG_LOCATION)"; fi
|
||||
CONFIG_LOCATION="$CONFIG_LOCATION"/config.xml
|
||||
fi
|
||||
|
||||
# Delete external
|
||||
if grep -q "external" "$CONFIG_LOCATION"; then
|
||||
bashio::log.warning "external is set, restarting"
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 12.0.17-1 (09-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/seafile to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-seafile. Please make a backup before updating.
|
||||
|
||||
## 12.0.17 (12-03-2026)
|
||||
- Ensure `SERVICE_URL` and `FILE_SERVER_ROOT` are written to the active Seafile config path.
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ Webui can be found at <http://homeassistant:8000> (Seahub) and <http://homeassis
|
||||
| `url` | str | | External URL for Seafile |
|
||||
| `database` | list | `sqlite` | Database type (sqlite/mariadb_addon) |
|
||||
| `data_location` | str | `/share/seafile` | Data storage location |
|
||||
| `CONFIG_LOCATION` | str | | Custom config file location |
|
||||
| `CONFIG_LOCATION` | str | `/addon_configs/xxx-seafile/config.yaml` | Custom config file location |
|
||||
| `localdisks` | str | | Local drives to mount (e.g., `sda1,sdb1`) |
|
||||
| `networkdisks` | str | | SMB shares to mount (e.g., `//SERVER/SHARE`) |
|
||||
| `cifsusername` | str | | SMB username for network shares |
|
||||
@@ -128,4 +128,3 @@ Create an issue on github
|
||||
|
||||
[repository]: https://github.com/alexbelgium/hassio-addons
|
||||
|
||||
|
||||
|
||||
@@ -72,13 +72,14 @@ environment:
|
||||
PUID: "1000"
|
||||
image: ghcr.io/alexbelgium/seafile-{arch}
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- ssl
|
||||
name: Seafile
|
||||
options:
|
||||
env_vars: []
|
||||
CONFIG_LOCATION: /config/addons_config/seafile/config.yaml
|
||||
CONFIG_LOCATION: /config/config.yaml
|
||||
FILE_SERVER_ROOT: http://homeassistant.local:8082
|
||||
PGID: 1000
|
||||
PORT: "8082"
|
||||
@@ -128,5 +129,5 @@ services:
|
||||
slug: seafile
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/seafile
|
||||
version: "12.0.17"
|
||||
version: "12.0.17-1"
|
||||
webui: http://[HOST]:[PORT:8000]
|
||||
|
||||
21
seafile/rootfs/etc/cont-init.d/00-migrate.sh
Executable file
21
seafile/rootfs/etc/cont-init.d/00-migrate.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
slug=seafile
|
||||
legacy_path="/homeassistant/addons_config/$slug"
|
||||
target_path="/config"
|
||||
|
||||
mkdir -p "$target_path"
|
||||
|
||||
if bashio::config.has_value 'CONFIG_LOCATION' && [ "$(bashio::config 'CONFIG_LOCATION')" != "/config" ]; then
|
||||
legacy_path="$(bashio::config 'CONFIG_LOCATION')"
|
||||
fi
|
||||
|
||||
if [ -d "$legacy_path" ]; then
|
||||
if [ ! -f "$legacy_path/.migrated" ] || [ -z "$(ls -A "$target_path" 2>/dev/null)" ]; then
|
||||
echo "Migrating $legacy_path to $target_path"
|
||||
cp -rnf "$legacy_path"/. "$target_path"/ || true
|
||||
touch "$legacy_path/.migrated"
|
||||
fi
|
||||
fi
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.19.1 (08-01-2026)
|
||||
- Update to latest version from SignalK/signalk-server (changelog : https://github.com/SignalK/signalk-server/releases)
|
||||
|
||||
## 2.19.0 (03-01-2026)
|
||||
- Update to latest version from SignalK/signalk-server (changelog : https://github.com/SignalK/signalk-server/releases)
|
||||
## 2.18.0-3 (26-11-2025)
|
||||
|
||||
@@ -53,5 +53,5 @@ uart: true
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
usb: true
|
||||
version: "2.19.0"
|
||||
version: "2.19.1"
|
||||
webui: http://[HOST]:[PORT:3000]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"last_update": "03-01-2026",
|
||||
"last_update": "08-01-2026",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "signalk",
|
||||
"source": "github",
|
||||
"upstream_repo": "SignalK/signalk-server",
|
||||
"upstream_version": "2.19.0"
|
||||
"upstream_version": "2.19.1"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 4.0.16.2946-1 (08-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/sonarr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-sonarr_nas. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration of data should be automatic. Please be sure to update all your links however ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/
|
||||
|
||||
## 4.0.16.2946 (27-12-2025)
|
||||
- Update to latest version from linuxserver/docker-sonarr (changelog : https://github.com/linuxserver/docker-sonarr/releases)
|
||||
- The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release
|
||||
|
||||
@@ -30,7 +30,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
|
||||
# Global LSIO modifications
|
||||
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
|
||||
ARG CONFIGLOCATION="/config/addons_config/sonarr"
|
||||
ARG CONFIGLOCATION="/config"
|
||||
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
|
||||
|
||||
##################
|
||||
|
||||
@@ -74,7 +74,8 @@ ingress: true
|
||||
ingress_entry: sonarr
|
||||
init: false
|
||||
map:
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- share:rw
|
||||
- media:rw
|
||||
- ssl
|
||||
@@ -109,4 +110,4 @@ schema:
|
||||
slug: sonarr_nas
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/sonarr
|
||||
version: "4.0.16.2946"
|
||||
version: "4.0.16.2946-1"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/with-contenv bashio
|
||||
# shellcheck shell=bash
|
||||
set -e
|
||||
|
||||
if [ ! -d /share/storage/tv ]; then
|
||||
echo "Creating /share/storage/tv"
|
||||
@@ -12,16 +14,14 @@ if [ ! -d /share/downloads ]; then
|
||||
chown -R "$PUID:$PGID" /share/downloads
|
||||
fi
|
||||
|
||||
if [ -d /config/sonarr ] && [ ! -d /config/addons_config/sonarr ]; then
|
||||
echo "Moving to new location /config/addons_config/sonarr"
|
||||
mkdir -p /config/addons_config/sonarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/sonarr
|
||||
mv /config/sonarr/* /config/addons_config/sonarr/
|
||||
rm -r /config/sonarr
|
||||
slug=sonarr
|
||||
|
||||
if [ -d "/homeassistant/addons_config/$slug" ]; then
|
||||
echo "Migrating /homeassistant/addons_config/$slug to /addon_configs/xxx-$slug"
|
||||
cp -rnf /homeassistant/addons_config/"$slug"/. /config/ || true
|
||||
mv /homeassistant/addons_config/"$slug" /homeassistant/addons_config/"$slug"_migrated
|
||||
fi
|
||||
|
||||
if [ ! -d /config/addons_config/sonarr ]; then
|
||||
echo "Creating /config/addons_config/sonarr"
|
||||
mkdir -p /config/addons_config/sonarr
|
||||
chown -R "$PUID:$PGID" /config/addons_config/sonarr
|
||||
if [ -d /config/addons_config ]; then
|
||||
rm -rf /config/addons_config
|
||||
fi
|
||||
|
||||
@@ -21,7 +21,7 @@ sed -i "s|%%ingress_entry%%|${ingress_entry}|g" /etc/nginx/servers/ingress.conf
|
||||
|
||||
# Values
|
||||
slug=sonarr
|
||||
CONFIG_LOCATION=/config/addons_config/"$slug"/config.xml
|
||||
CONFIG_LOCATION=/config/config.xml
|
||||
|
||||
if [ -f "$CONFIG_LOCATION" ]; then
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ set -e
|
||||
# Set variables
|
||||
slug=sonarr
|
||||
port=8989
|
||||
CONFIG_LOCATION=/config/addons_config/"$slug"/config.xml
|
||||
CONFIG_LOCATION=/config/config.xml
|
||||
|
||||
# Wait for transmission to become available
|
||||
bashio::net.wait_for "$port" localhost 900
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 2.58.02-1 (09-01-2026)
|
||||
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/addons_config/tdarr to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-tdarr. Please make a backup before updating.
|
||||
|
||||
## 2.58.02 (24-12-2025)
|
||||
- Update to latest version from haveagitgat/tdarr
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ The server port is `8266` for connecting external Tdarr nodes.
|
||||
|
||||
| Option | Type | Default | Description |
|
||||
|--------|------|---------|-------------|
|
||||
| `CONFIG_LOCATION` | str | `/config/addons_config/tdarr` | Path where Tdarr config is stored |
|
||||
| `CONFIG_LOCATION` | str | `/addon_configs/xxx-tdarr` | Path where Tdarr config is stored |
|
||||
| `TZ` | str | | Timezone (e.g., `Europe/London`) |
|
||||
| `localdisks` | str | | Local drives to mount (e.g., `sda1,sdb1,MYNAS`) |
|
||||
| `networkdisks` | str | | SMB shares to mount (e.g., `//SERVER/SHARE`) |
|
||||
@@ -73,7 +73,7 @@ The server port is `8266` for connecting external Tdarr nodes.
|
||||
### Example Configuration
|
||||
|
||||
```yaml
|
||||
CONFIG_LOCATION: "/config/addons_config/tdarr"
|
||||
CONFIG_LOCATION: "/addon_configs/xxx-tdarr"
|
||||
TZ: "Europe/London"
|
||||
localdisks: "sda1,sdb1"
|
||||
networkdisks: "//192.168.1.100/media,//nas.local/transcoding"
|
||||
@@ -130,4 +130,3 @@ Configure hardware acceleration in the Tdarr Web UI under Settings > FFmpeg/Hand
|
||||
|
||||
[repository]: https://github.com/alexbelgium/hassio-addons
|
||||
|
||||
|
||||
|
||||
@@ -88,7 +88,8 @@ image: ghcr.io/alexbelgium/tdarr-{arch}
|
||||
init: false
|
||||
map:
|
||||
- media:rw
|
||||
- config:rw
|
||||
- addon_config:rw
|
||||
- homeassistant_config:rw
|
||||
- addons:rw
|
||||
- backup:rw
|
||||
- share:rw
|
||||
@@ -96,7 +97,7 @@ map:
|
||||
name: Tdarr
|
||||
options:
|
||||
env_vars: []
|
||||
CONFIG_LOCATION: /config/addons_config/tdarr
|
||||
CONFIG_LOCATION: /config
|
||||
panel_admin: false
|
||||
panel_icon: mdi:file-search
|
||||
ports:
|
||||
@@ -122,6 +123,6 @@ schema:
|
||||
slug: tdarr
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "2.58.02"
|
||||
version: "2.58.02-1"
|
||||
video: true
|
||||
webui: "[PROTO:ssl]://[HOST]:[PORT:8265]"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user