diff --git a/installation/routines/setup_jukebox_core.sh b/installation/routines/setup_jukebox_core.sh index 45eb1610c..7fec72ab6 100644 --- a/installation/routines/setup_jukebox_core.sh +++ b/installation/routines/setup_jukebox_core.sh @@ -27,11 +27,19 @@ _jukebox_core_install_os_dependencies() { python3-rpi.gpio python3-gpiozero \ espeak ffmpeg mpg123 \ pulseaudio pulseaudio-module-bluetooth pulseaudio-utils caps \ + libasound2-dev \ --no-install-recommends \ --allow-downgrades \ --allow-remove-essential \ --allow-change-held-packages + # add configuration that we break the global python system packages + # (required for bookworm, see + # https://github.com/MiczFlor/RPi-Jukebox-RFID/issues/2050). This + # should be removed once the jukebox has been isolated to a dedicated + # venv + sudo python3 -m pip config set global.break-system-packages true + sudo pip3 install --upgrade pip } diff --git a/installation/routines/setup_jukebox_webapp.sh b/installation/routines/setup_jukebox_webapp.sh index 2014214fc..004f97ae3 100644 --- a/installation/routines/setup_jukebox_webapp.sh +++ b/installation/routines/setup_jukebox_webapp.sh @@ -4,7 +4,7 @@ GD_ID_COMPILED_WEBAPP="1EE_1MdneGtKL5V7GyYZC0nb6ODQWTsPb" # https://drive.google.com/file/d/1EE_1MdneGtKL5V7GyYZC0nb6ODQWTsPb/view?usp=sharing # For ARMv7+ -NODE_SOURCE="https://deb.nodesource.com/setup_16.x" +NODE_MAJOR=16 # For ARMv6 # To update version, follow these links # https://github.com/sdesalas/node-pi-zero @@ -26,12 +26,18 @@ _jukebox_webapp_install_node() { # Zero and older versions of Pi with ARMv6 only # support experimental NodeJS if [[ $(uname -m) == "armv6l" ]]; then - NODE_SOURCE=${NODE_SOURCE_EXPERIMENTAL} + wget -O - ${NODE_SOURCE_EXPERIMENTAL} | sudo bash + sudo apt-get -qq -y install nodejs + sudo npm install --silent -g npm + else + # install NodeJS and npm as recommended in + # https://github.com/nodesource/distributions + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list + sudo apt-get update + sudo apt-get install nodejs npm -y fi - wget -O - ${NODE_SOURCE} | sudo bash - sudo apt-get -qq -y install nodejs - sudo npm install --silent -g npm fi } @@ -67,6 +73,9 @@ _jukebox_webapp_register_as_system_service_with_nginx() { sudo mv -f /etc/nginx/sites-available/default /etc/nginx/sites-available/default.orig sudo cp -f "${INSTALLATION_PATH}/resources/default-settings/nginx.default" /etc/nginx/sites-available/default + # make sure nginx can access the home directory of the user + sudo chmod o+x /home/pi + sudo service nginx restart }