Migrate *arr addons to addon_configs

This commit is contained in:
Alexandre
2026-01-08 13:30:21 +01:00
parent 1f1bd9610c
commit 3979acc25f
32 changed files with 107 additions and 108 deletions

View File

@@ -1,3 +1,6 @@
## 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)

View File

@@ -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
##################

View File

@@ -104,7 +104,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
@@ -122,4 +122,3 @@ Create an issue on github
[repository]: https://github.com/alexbelgium/hassio-addons

View File

@@ -72,13 +72,14 @@ 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
CONFIG_LOCATION: /config
PGID: 0
PUID: 0
connection_mode: ingress_noauth
@@ -108,4 +109,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-1"

View File

@@ -6,15 +6,17 @@ 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
else
CONFIG_LOCATION="/config"
fi
CONFIG_LOCATION=$(bashio::config 'CONFIG_LOCATION')
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
if [ "$CONFIG_LOCATION" != "/config" ]; then
# shellcheck disable=SC2013
for file in $(grep -sril "/config" /etc /defaults); do
sed -i "s|/config|$CONFIG_LOCATION|g" "$file"
done
fi

View File

@@ -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,15 @@ 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
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

View File

@@ -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

View File

@@ -6,7 +6,7 @@ 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