Compare commits

...

4 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
b85c9122b5 Update CHANGELOG.md (#17334)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-17 16:00:21 +00:00
community-scripts-pr-app[bot]
ac1411db2e Update CHANGELOG.md (#17333)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-17 16:00:05 +00:00
Tobias
c937f1540b changedetection: update: various fixes (#17331)
* update: add lang and various other improvements

* readd: playwright pin
2026-09-17 17:59:50 +02:00
CanbiZ (MickLesk)
bb13cf5aea romm: make the library paths follow ROMM_BASE_PATH (#17279)
Upstream derives everything from one setting:

  ROMM_BASE_PATH = _get_env("ROMM_BASE_PATH", "/romm")
  LIBRARY_BASE_PATH = f"{ROMM_BASE_PATH}/library"

There is no separate library setting; config.yml's roms_folder is only
a folder name inside the library. So ROMM_BASE_PATH in /opt/romm/.env
is the single lever, and everything that names a path has to follow it.

Two places did not. The watcher unit had /var/lib/romm/library written
into ExecStart, so a moved library was still watched at the default and
rescans never fired. It now uses ${ROMM_BASE_PATH}/library, which
systemd expands from the EnvironmentFile the unit already loads.

The Angie alias was derived from the env file, but only while the
install or an update ran. Editing ROMM_BASE_PATH afterwards left the
internal /library/ location pointing at the old path, and since the
backend serves content through X-Accel-Redirect, every download and
every play returned 404 while scanning and metadata kept working.
Re-sync it from an ExecStartPre on angie, so a restart is enough.

Update installs both for existing containers and rewrites the watcher
unit in place.

Reported in #17263. The suggested fix there was to template the alias,
which the scripts already did; the gap was that nothing re-applied it.
2026-09-17 17:59:36 +02:00
5 changed files with 63 additions and 5 deletions

View File

@@ -554,11 +554,13 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes - #### 🐞 Bug Fixes
- changedetection: update: various fixes [@CrazyWolf13](https://github.com/CrazyWolf13) ([#17331](https://github.com/community-scripts/ProxmoxVE/pull/17331))
- sparkyfitness: run the Better Auth migration during the update [@MickLesk](https://github.com/MickLesk) ([#17318](https://github.com/community-scripts/ProxmoxVE/pull/17318)) - sparkyfitness: run the Better Auth migration during the update [@MickLesk](https://github.com/MickLesk) ([#17318](https://github.com/community-scripts/ProxmoxVE/pull/17318))
- poznote: follow init.sh into docker/ [@MickLesk](https://github.com/MickLesk) ([#17316](https://github.com/community-scripts/ProxmoxVE/pull/17316)) - poznote: follow init.sh into docker/ [@MickLesk](https://github.com/MickLesk) ([#17316](https://github.com/community-scripts/ProxmoxVE/pull/17316))
- #### ✨ New Features - #### ✨ New Features
- romm: make the library paths follow ROMM_BASE_PATH [@MickLesk](https://github.com/MickLesk) ([#17279](https://github.com/community-scripts/ProxmoxVE/pull/17279))
- Debian-VM: Refactor | Support Debian 11, 12, 13 [@MickLesk](https://github.com/MickLesk) ([#17325](https://github.com/community-scripts/ProxmoxVE/pull/17325)) - Debian-VM: Refactor | Support Debian 11, 12, 13 [@MickLesk](https://github.com/MickLesk) ([#17325](https://github.com/community-scripts/ProxmoxVE/pull/17325))
### 💾 Core ### 💾 Core

View File

@@ -32,7 +32,18 @@ function update_script() {
exit exit
fi fi
ensure_dependencies libjpeg-dev ensure_dependencies libjpeg-dev poppler-utils file locales
msg_info "Generating Locales"
for l in cs_CZ de_DE en_GB en_US es_ES fr_FR id_ID it_IT ja_JP ko_KR \
pl_PL pt_BR ru_RU tr_TR uk_UA zh_CN zh_TW; do
sed -i "s/^# *${l}.UTF-8 UTF-8/${l}.UTF-8 UTF-8/" /etc/locale.gen
done
$STD locale-gen
if ! grep -q "^LC_ALL=" /opt/changedetection/.env 2>/dev/null; then
echo "LC_ALL=en_US.UTF-8" >>/opt/changedetection/.env
fi
msg_ok "Generated Locales"
NODE_VERSION="24" setup_nodejs NODE_VERSION="24" setup_nodejs

View File

@@ -191,11 +191,30 @@ EOF
sed -i -e "s|alias .*/library/;|alias ${ROMM_BASE}/library/;|" \ sed -i -e "s|alias .*/library/;|alias ${ROMM_BASE}/library/;|" \
-e "s|alias .*/cache/;|alias ${ROMM_BASE}/cache/;|" /etc/angie/http.d/romm.conf -e "s|alias .*/cache/;|alias ${ROMM_BASE}/cache/;|" /etc/angie/http.d/romm.conf
fi fi
cat <<'SYNCEOF' >/usr/local/bin/romm-sync-angie-paths
#!/usr/bin/env bash
base="$(grep -m1 '^ROMM_BASE_PATH=' /opt/romm/.env 2>/dev/null | cut -d= -f2)"
base="${base:-/var/lib/romm}"
[[ -f /etc/angie/http.d/romm.conf ]] || exit 0
sed -i -e "s|alias .*/library/;|alias ${base}/library/;|" \
-e "s|alias .*/cache/;|alias ${base}/cache/;|" /etc/angie/http.d/romm.conf
SYNCEOF
chmod +x /usr/local/bin/romm-sync-angie-paths
mkdir -p /etc/systemd/system/angie.service.d
cat <<'DROPEOF' >/etc/systemd/system/angie.service.d/romm-paths.conf
[Service]
ExecStartPre=/usr/local/bin/romm-sync-angie-paths
DROPEOF
systemctl daemon-reload
systemctl reload angie systemctl reload angie
elif [[ -f /etc/nginx/sites-available/romm ]]; then elif [[ -f /etc/nginx/sites-available/romm ]]; then
sed -i "s|alias .*/library/;|alias ${ROMM_BASE}/library/;|" /etc/nginx/sites-available/romm sed -i "s|alias .*/library/;|alias ${ROMM_BASE}/library/;|" /etc/nginx/sites-available/romm
nginx_enable_site romm nginx_enable_site romm
fi fi
if [[ -f /etc/systemd/system/romm-watcher.service ]]; then
sed -i "s|\(watcher\.py' \).*|\1\${ROMM_BASE_PATH}/library|" /etc/systemd/system/romm-watcher.service
systemctl daemon-reload
fi
msg_ok "Updated ROMM" msg_ok "Updated ROMM"
msg_info "Starting Services" msg_info "Starting Services"

View File

@@ -38,9 +38,20 @@ $STD apt-get install -y \
qpdf \ qpdf \
xdg-utils \ xdg-utils \
xvfb \ xvfb \
ca-certificates ca-certificates \
locales \
poppler-utils \
file
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Generating Locales"
for l in cs_CZ de_DE en_GB en_US es_ES fr_FR id_ID it_IT ja_JP ko_KR \
pl_PL pt_BR ru_RU tr_TR uk_UA zh_CN zh_TW; do
sed -i "s/^# *${l}.UTF-8 UTF-8/${l}.UTF-8 UTF-8/" /etc/locale.gen
done
$STD locale-gen
msg_ok "Generated Locales"
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="24" setup_nodejs NODE_VERSION="24" setup_nodejs
@@ -54,6 +65,7 @@ $STD /opt/changedetection/.venv/bin/python -m pip install changedetection.io
cat <<EOF >/opt/changedetection/.env cat <<EOF >/opt/changedetection/.env
WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub WEBDRIVER_URL=http://127.0.0.1:4444/wd/hub
PLAYWRIGHT_DRIVER_URL=ws://localhost:3000/chrome?launch=eyJkZWZhdWx0Vmlld3BvcnQiOnsiaGVpZ2h0Ijo3MjAsIndpZHRoIjoxMjgwfSwiaGVhZGxlc3MiOmZhbHNlLCJzdGVhbHRoIjp0cnVlfQ==&blockAds=true PLAYWRIGHT_DRIVER_URL=ws://localhost:3000/chrome?launch=eyJkZWZhdWx0Vmlld3BvcnQiOnsiaGVpZ2h0Ijo3MjAsIndpZHRoIjoxMjgwfSwiaGVhZGxlc3MiOmZhbHNlLCJzdGVhbHRoIjp0cnVlfQ==&blockAds=true
LC_ALL=en_US.UTF-8
EOF EOF
msg_ok "Installed Change Detection" msg_ok "Installed Change Detection"

View File

@@ -327,8 +327,22 @@ server {
} }
EOF EOF
sed -i -e "s|alias /var/lib/romm/library/;|alias ${ROMM_BASE}/library/;|" \ cat <<'SYNCEOF' >/usr/local/bin/romm-sync-angie-paths
-e "s|alias /var/lib/romm/cache/;|alias ${ROMM_BASE}/cache/;|" /etc/angie/http.d/romm.conf #!/usr/bin/env bash
base="$(grep -m1 '^ROMM_BASE_PATH=' /opt/romm/.env 2>/dev/null | cut -d= -f2)"
base="${base:-/var/lib/romm}"
[[ -f /etc/angie/http.d/romm.conf ]] || exit 0
sed -i -e "s|alias .*/library/;|alias ${base}/library/;|" \
-e "s|alias .*/cache/;|alias ${base}/cache/;|" /etc/angie/http.d/romm.conf
SYNCEOF
chmod +x /usr/local/bin/romm-sync-angie-paths
mkdir -p /etc/systemd/system/angie.service.d
cat <<'EOF' >/etc/systemd/system/angie.service.d/romm-paths.conf
[Service]
ExecStartPre=/usr/local/bin/romm-sync-angie-paths
EOF
systemctl daemon-reload
/usr/local/bin/romm-sync-angie-paths
rm -f /etc/angie/http.d/default.conf rm -f /etc/angie/http.d/default.conf
systemctl restart angie systemctl restart angie
systemctl enable -q --now angie systemctl enable -q --now angie
@@ -405,7 +419,7 @@ Type=simple
WorkingDirectory=/opt/romm/backend WorkingDirectory=/opt/romm/backend
EnvironmentFile=/opt/romm/.env EnvironmentFile=/opt/romm/.env
Environment="PYTHONPATH=/opt/romm/backend" Environment="PYTHONPATH=/opt/romm/backend"
ExecStart=/opt/romm/.venv/bin/watchfiles --target-type command '/opt/romm/.venv/bin/python watcher.py' /var/lib/romm/library ExecStart=/opt/romm/.venv/bin/watchfiles --target-type command '/opt/romm/.venv/bin/python watcher.py' \${ROMM_BASE_PATH}/library
Restart=on-failure Restart=on-failure
RestartSec=5 RestartSec=5