From e925e29966aaf294d59265b175cf2465956fc8f0 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Mon, 20 Jul 2026 14:39:29 +0200 Subject: [PATCH] RomM: use backup helpers in update / clear folder (#15915) * RomM: use backup helpers in update / clear folder Replace manual .env backup/restore with create_backup and restore_backup helpers, and add CLEAN_INSTALL=1 flag to fetch_and_deploy_gh_release. * add screenscraper env * add rom_patcher * add ruffle and emulatorJS --- ct/romm.sh | 27 ++++++++++++++++++++++----- install/romm-install.sh | 17 +++++++++++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/ct/romm.sh b/ct/romm.sh index 7a34a8e75..eb05d2168 100644 --- a/ct/romm.sh +++ b/ct/romm.sh @@ -37,18 +37,29 @@ function update_script() { systemctl stop romm-backend romm-worker romm-scheduler romm-watcher msg_ok "Stopped Services" - msg_info "Backing up configuration" - cp /opt/romm/.env /opt/romm/.env.backup - msg_ok "Backed up configuration" + create_backup /opt/romm/.env + BACKUP_DIR=/opt/romm-players.backup create_backup \ + /opt/romm/frontend/dist/assets/emulatorjs \ + /opt/romm/frontend/dist/assets/ruffle - fetch_and_deploy_gh_release "romm" "rommapp/romm" "tarball" "latest" "/opt/romm" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "romm" "rommapp/romm" "tarball" "latest" "/opt/romm" + + restore_backup msg_info "Updating ROMM" - cp /opt/romm/.env.backup /opt/romm/.env cd /opt/romm $STD uv sync --all-extras cd /opt/romm/backend $STD uv run alembic upgrade head + if [[ -f /opt/romm/backend/utils/rom_patcher/package.json ]]; then + cd /opt/romm/backend/utils/rom_patcher + $STD npm install --ignore-scripts --no-audit --no-fund + if [[ -d node_modules/rom-patcher/rom-patcher-js ]]; then + rm -rf rom-patcher-js + cp -r node_modules/rom-patcher/rom-patcher-js ./rom-patcher-js + fi + rm -rf node_modules + fi cd /opt/romm/frontend $STD npm install $STD npm run build @@ -73,6 +84,12 @@ function update_script() { msg_ok "Started Services" msg_ok "Updated successfully" fi + + if check_for_gh_release "EmulatorJS" "EmulatorJS/EmulatorJS" "v4.2.3"; then + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "EmulatorJS" "EmulatorJS/EmulatorJS" "prebuild" "v4.2.3" "/opt/romm/frontend/dist/assets/emulatorjs" "4.2.3.7z" + systemctl restart romm-backend romm-worker romm-scheduler romm-watcher + msg_ok "Updated EmulatorJS successfully" + fi exit } diff --git a/install/romm-install.sh b/install/romm-install.sh index bf126dea0..d88410082 100644 --- a/install/romm-install.sh +++ b/install/romm-install.sh @@ -134,6 +134,8 @@ else fi fetch_and_deploy_gh_release "romm" "rommapp/romm" "tarball" +fetch_and_deploy_gh_release "ruffle" "ruffle-rs/ruffle" "prebuild" "latest" "/opt/romm/frontend/dist/assets/ruffle" "ruffle-*-web-selfhosted.zip" +fetch_and_deploy_gh_release "EmulatorJS" "EmulatorJS/EmulatorJS" "prebuild" "v4.2.3" "/opt/romm/frontend/dist/assets/emulatorjs" "4.2.3.7z" msg_info "Creating environment file" sed -i 's/^supervised no/supervised systemd/' /etc/redis/redis.conf @@ -159,6 +161,9 @@ ROMM_AUTH_SECRET_KEY=$AUTH_SECRET_KEY DISABLE_DOWNLOAD_ENDPOINT_AUTH=false DISABLE_CSRF_PROTECTION=false +SCREENSCRAPER_DEV_ID= +SCREENSCRAPER_DEV_PASSWORD= + ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true RESCAN_ON_FILESYSTEM_CHANGE_DELAY=5 @@ -181,6 +186,18 @@ cd /opt/romm/backend $STD uv run alembic upgrade head msg_ok "Set up RomM Backend" +if [[ -f /opt/romm/backend/utils/rom_patcher/package.json ]]; then + msg_info "Building ROM Patcher helper" + cd /opt/romm/backend/utils/rom_patcher + $STD npm install --ignore-scripts --no-audit --no-fund + if [[ -d node_modules/rom-patcher/rom-patcher-js ]]; then + rm -rf rom-patcher-js + cp -r node_modules/rom-patcher/rom-patcher-js ./rom-patcher-js + fi + rm -rf node_modules + msg_ok "Built ROM Patcher helper" +fi + msg_info "Setting up RomM Frontend" cd /opt/romm/frontend $STD npm install