From 4a6ca551d89cbb08a0d031d9b17f65cbb205ce58 Mon Sep 17 00:00:00 2001 From: BirdNET-Go Addon Builder Date: Sat, 17 Oct 2026 12:03:02 +0200 Subject: [PATCH] wger: keep SECRET_KEY when JWT generation fails, log its errors Generate each secret only when missing instead of rewriting the file, so a failed key generation no longer rotates SECRET_KEY on every boot. Co-Authored-By: Claude Opus 5.5 --- wger/rootfs/etc/cont-init.d/90-run.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/wger/rootfs/etc/cont-init.d/90-run.sh b/wger/rootfs/etc/cont-init.d/90-run.sh index 258b3fcf93..d3336b187c 100755 --- a/wger/rootfs/etc/cont-init.d/90-run.sh +++ b/wger/rootfs/etc/cont-init.d/90-run.sh @@ -71,13 +71,12 @@ migrate_database echo "... generate persistent secrets" # Without JWT keys the mobile app login fails with a 500, and without SECRET_KEY # sessions are lost at every restart. Generated once, env_vars still override them. -if ! grep -qs '^JWT_PRIVATE_KEY=' /data/secrets.env; then - { - echo "SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe(50))')" - (cd /home/wger/src && sudo -u wger -E HOME=/home/wger python3 manage.py generate-jwt-keys 2> /dev/null | grep '^JWT_') - } > /data/secrets.env || bashio::log.warning "Unable to generate JWT keys" - chmod 600 /data/secrets.env -fi +grep -qs '^SECRET_KEY=' /data/secrets.env || + echo "SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe(50))')" >> /data/secrets.env +grep -qs '^JWT_PRIVATE_KEY=' /data/secrets.env || + (cd /home/wger/src && sudo -u wger -E HOME=/home/wger python3 manage.py generate-jwt-keys | grep '^JWT_') >> /data/secrets.env || + bashio::log.warning "Unable to generate JWT keys" +chmod 600 /data/secrets.env echo "... add env variables" (