mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-03-24 06:51:31 +01:00
Fix Illegal instruction crash on aarch64 by rebuilding native modules
On aarch64, native Node.js modules (sharp, @next/swc, etc.) may have been incorrectly cross-compiled via Docker BuildKit QEMU emulation. Add an npm rebuild step that runs at startup on aarch64 to re-download the correct prebuilt native binaries for the actual hardware. Fixes #XXXX Co-authored-by: alexbelgium <44178713+alexbelgium@users.noreply.github.com>
This commit is contained in:
@@ -4,6 +4,16 @@ set -e
|
||||
|
||||
bashio::log.info "Starting Social to Mealie"
|
||||
cd /app || bashio::exit.nok "App directory not found"
|
||||
|
||||
# On aarch64, native Node.js modules (sharp, @next/swc, etc.) may have been
|
||||
# incorrectly cross-compiled via Docker BuildKit QEMU emulation, causing
|
||||
# "Illegal instruction" crashes on real hardware. Rebuild them for the actual
|
||||
# native architecture.
|
||||
if [ "$(uname -m)" = "aarch64" ]; then
|
||||
bashio::log.info "Ensuring native modules are built for aarch64..."
|
||||
npm rebuild 2>&1 || bashio::log.warning "Could not rebuild native modules - the addon may not work correctly on this architecture"
|
||||
fi
|
||||
|
||||
chown nextjs /app/entrypoint.sh
|
||||
chmod +x /app/entrypoint.sh
|
||||
exec gosu nextjs /app/entrypoint.sh node --run start
|
||||
|
||||
Reference in New Issue
Block a user