mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-09-09 19:29:10 +02:00
fix(wger): set the database env vars the upstream image stopped shipping (#3044)
* fix(wger): set the database env vars the upstream image stopped shipping wger/server:latest no longer defines DJANGO_DB_ENGINE or DJANGO_DB_DATABASE in its image environment, and upstream settings/main.py reads both with no fallback. Every fresh install therefore died at startup with "ImproperlyConfigured: Set the DJANGO_DB_ENGINE environment variable". Set both explicitly in the Dockerfile, pointing at the sqlite database in /data/database.sqlite that the add-on already persists, and add DJANGO_PERFORM_MIGRATIONS=True so an existing database picks up new migrations when the image is rebuilt against a newer upstream release. With the path now set through the environment, the cont-init rewrite of the database path in the Python settings is dead code — upstream no longer hardcodes /home/wger/db/database.sqlite anywhere, so it only logged a warning. Also move the add-on to the addon_configs location, as the issue asks: the shared 01-config_yaml.sh template migrates an existing /homeassistant/addons_config/wger/config.yaml on the first start. Fixes #3043 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * docs(wger): use the ISO date format the rest of this CHANGELOG uses The 2.6.4 heading was written 04-09-2026 while every other dated heading in this file, and 22937 of the 23999 dated headings in the repo, use ISO YYYY-MM-DD. Copilot flagged the inconsistency on #3044. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
## 2.6.4 (2026-09-04)
|
||||||
|
|
||||||
|
- Fix the add-on failing to start on a fresh install with `django.core.exceptions.ImproperlyConfigured: Set the DJANGO_DB_ENGINE environment variable`. The upstream `wger/server` image stopped shipping database defaults, and `settings/main.py` reads `DJANGO_DB_ENGINE` and `DJANGO_DB_DATABASE` with no fallback, so the add-on now sets them explicitly to sqlite at `/data/database.sqlite` — the same location the previous startup rewrite produced, so existing databases keep working.
|
||||||
|
- Set `DJANGO_PERFORM_MIGRATIONS=True`, as upstream's own docker deployment does, so an existing database gets new migrations applied when the add-on is rebuilt against a newer upstream release.
|
||||||
|
- Drop the startup rewrite of the database path in the Python settings: upstream no longer hardcodes `/home/wger/db/database.sqlite` anywhere, so the rewrite silently did nothing and only logged a warning.
|
||||||
|
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration file will have migrated from /config/addons_config/wger to a folder only accessible from my Filebrowser addon called /addon_configs/xxx-wger. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration is automatic only for a config.yaml sitting at the default /config/addons_config/wger/config.yaml. If you had pointed CONFIG_LOCATION somewhere else inside the homeassistant config folder, or had a custom script at /homeassistant/addons_autoscripts/wger.sh, move the file to /addon_configs/xxx-wger/ by hand and update the option. Please be sure to update all your links ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/
|
||||||
|
|
||||||
## 2.6.3 (2026-08-01)
|
## 2.6.3 (2026-08-01)
|
||||||
|
|
||||||
- Version renamed from `2.6-dev-3`, which Home Assistant could not order and therefore could not reliably offer as an update: every number of the previous version is kept, as a section of its own. The addon itself and the upstream version it tracks are unchanged
|
- Version renamed from `2.6-dev-3`, which Home Assistant could not order and therefore could not reliably offer as an update: every number of the previous version is kept, as a section of its own. The addon itself and the upstream version it tracks are unchanged
|
||||||
|
|||||||
@@ -28,9 +28,14 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
|||||||
S6_SERVICES_GRACETIME=0
|
S6_SERVICES_GRACETIME=0
|
||||||
|
|
||||||
|
|
||||||
|
# The upstream image no longer ships database defaults; settings/main.py reads
|
||||||
|
# DJANGO_DB_ENGINE and DJANGO_DB_DATABASE with no fallback, so they must be set here
|
||||||
ENV SYNC_EXERCISES_ON_STARTUP=True \
|
ENV SYNC_EXERCISES_ON_STARTUP=True \
|
||||||
DOWNLOAD_EXERCISE_IMAGES_ON_STARTUP=True \
|
DOWNLOAD_EXERCISE_IMAGES_ON_STARTUP=True \
|
||||||
FROM_EMAIL='wger Workout Manager <wger@example.com>' \
|
FROM_EMAIL='wger Workout Manager <wger@example.com>' \
|
||||||
|
DJANGO_DB_ENGINE="django.db.backends.sqlite3" \
|
||||||
|
DJANGO_DB_DATABASE="/data/database.sqlite" \
|
||||||
|
DJANGO_PERFORM_MIGRATIONS=True \
|
||||||
DJANGO_MEDIA_ROOT="/data/media" \
|
DJANGO_MEDIA_ROOT="/data/media" \
|
||||||
DJANGO_STATIC_ROOT="/data/static"
|
DJANGO_STATIC_ROOT="/data/static"
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,13 @@ description: manage your personal workouts, weight and diet plans
|
|||||||
image: ghcr.io/alexbelgium/wger-{arch}
|
image: ghcr.io/alexbelgium/wger-{arch}
|
||||||
map:
|
map:
|
||||||
- share:rw
|
- share:rw
|
||||||
- config:rw
|
- addon_config:rw
|
||||||
|
- homeassistant_config:rw
|
||||||
- ssl:ro
|
- ssl:ro
|
||||||
name: Wger
|
name: Wger
|
||||||
options:
|
options:
|
||||||
env_vars: []
|
env_vars: []
|
||||||
CONFIG_LOCATION: /config/addons_config/wger/config.yaml
|
CONFIG_LOCATION: /config/config.yaml
|
||||||
ports:
|
ports:
|
||||||
80/tcp: 9927
|
80/tcp: 9927
|
||||||
ports_description:
|
ports_description:
|
||||||
@@ -23,5 +24,5 @@ schema:
|
|||||||
slug: wger
|
slug: wger
|
||||||
udev: true
|
udev: true
|
||||||
url: https://github.com/alexbelgium/hassio-addons
|
url: https://github.com/alexbelgium/hassio-addons
|
||||||
version: "2.6.3"
|
version: "2.6.4"
|
||||||
webui: "[PROTO:ssl]://[HOST]:[PORT:80]"
|
webui: "[PROTO:ssl]://[HOST]:[PORT:80]"
|
||||||
|
|||||||
@@ -51,20 +51,6 @@ migrate_database() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
############################
|
|
||||||
# Change database location #
|
|
||||||
############################
|
|
||||||
echo "... set database path"
|
|
||||||
mapfile -t SETTINGS_FILES < <(grep -rl --include='*.py' '/home/wger/db/database.sqlite' /home 2> /dev/null || true)
|
|
||||||
|
|
||||||
if [ "${#SETTINGS_FILES[@]}" -gt 0 ]; then
|
|
||||||
for settings_file in "${SETTINGS_FILES[@]}"; do
|
|
||||||
sed -i "s|/home/wger/db/database.sqlite|/data/database.sqlite|g" "$settings_file"
|
|
||||||
done
|
|
||||||
else
|
|
||||||
bashio::log.warning "Unable to find Python settings containing database path under /home, skipping rewrite"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#####################
|
#####################
|
||||||
# Adapt directories #
|
# Adapt directories #
|
||||||
#####################
|
#####################
|
||||||
|
|||||||
Reference in New Issue
Block a user