diff --git a/fireflyiii/CHANGELOG.md b/fireflyiii/CHANGELOG.md index 05e7b8cdd..32c2d0391 100644 --- a/fireflyiii/CHANGELOG.md +++ b/fireflyiii/CHANGELOG.md @@ -1,6 +1,7 @@ ## 6.5.9 (2026-03-28) - Update to latest version from firefly-iii/firefly-iii (changelog : https://github.com/firefly-iii/firefly-iii/releases) +- Fix: mariadb_addon now respects user-configured DB_USERNAME, DB_PASSWORD, and DB_DATABASE options instead of always using service discovery credentials ## 6.5.6 (2026-03-21) - Update to latest version from firefly-iii/firefly-iii (changelog : https://github.com/firefly-iii/firefly-iii/releases) diff --git a/fireflyiii/README.md b/fireflyiii/README.md index 9e474f69e..d467f9796 100644 --- a/fireflyiii/README.md +++ b/fireflyiii/README.md @@ -51,9 +51,9 @@ Configurations can be done through the app webUI, except for the following optio | `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) | -| `DB_DATABASE` | str | | Database name (for external databases) | -| `DB_USERNAME` | str | | Database username (for external databases) | -| `DB_PASSWORD` | str | | Database password (for external databases) | +| `DB_DATABASE` | str | | Database name (defaults to `firefly` for mariadb_addon) | +| `DB_USERNAME` | str | | Database username (overrides MariaDB addon service discovery if set) | +| `DB_PASSWORD` | str | | Database password (overrides MariaDB addon service discovery if set) | | `Updates` | list | | Automatic update schedule (hourly/daily/weekly) | | `silent` | bool | `true` | Silent mode - set to false for debug info | diff --git a/fireflyiii/rootfs/etc/cont-init.d/99-run.sh b/fireflyiii/rootfs/etc/cont-init.d/99-run.sh index a4639e637..5c9ecfb59 100755 --- a/fireflyiii/rootfs/etc/cont-init.d/99-run.sh +++ b/fireflyiii/rootfs/etc/cont-init.d/99-run.sh @@ -90,9 +90,26 @@ case $(bashio::config 'DB_CONNECTION') in DB_CONNECTION=mysql DB_HOST=$(bashio::services "mysql" "host") DB_PORT=$(bashio::services "mysql" "port") - DB_DATABASE=firefly - DB_USERNAME=$(bashio::services "mysql" "username") - DB_PASSWORD=$(bashio::services "mysql" "password") + + # Use user-configured database name if provided, otherwise default to 'firefly' + if bashio::config.has_value "DB_DATABASE"; then + DB_DATABASE=$(bashio::config "DB_DATABASE") + else + DB_DATABASE=firefly + fi + + # Use user-configured credentials if provided, otherwise use service discovery + if bashio::config.has_value "DB_USERNAME"; then + DB_USERNAME=$(bashio::config "DB_USERNAME") + else + DB_USERNAME=$(bashio::services "mysql" "username") + fi + if bashio::config.has_value "DB_PASSWORD"; then + DB_PASSWORD=$(bashio::config "DB_PASSWORD") + else + DB_PASSWORD=$(bashio::services "mysql" "password") + fi + export DB_CONNECTION export DB_HOST && bashio::log.blue "DB_HOST=$DB_HOST" export DB_PORT && bashio::log.blue "DB_PORT=$DB_PORT" @@ -110,7 +127,7 @@ case $(bashio::config 'DB_CONNECTION') in --skip-ssl \ -u "${DB_USERNAME}" -p"${DB_PASSWORD}" \ -h "${DB_HOST}" -P "${DB_PORT}" \ - -e "CREATE DATABASE IF NOT EXISTS \`firefly\`;" + -e "CREATE DATABASE IF NOT EXISTS \`${DB_DATABASE}\`;" ;; # Use remote