From 08648aca15a69ac7225a3963885adc674ce3d5cd Mon Sep 17 00:00:00 2001 From: Tyler Stuyfzand Date: Sun, 22 Jun 2025 06:27:01 -0400 Subject: [PATCH 01/54] gitea: Update gitea.sh to stop update failures (#5361) When updating gitea using the update command on Debian 12, if you have any other files or directories starting with the name gitea it will fail. This update will make it use a set file name for the output and mv operation which resolves the issue. --- ct/gitea.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ct/gitea.sh b/ct/gitea.sh index 3b957d2c0..def9044b1 100644 --- a/ct/gitea.sh +++ b/ct/gitea.sh @@ -29,10 +29,11 @@ function update_script() { fi RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') msg_info "Updating $APP to ${RELEASE}" - curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") + FILENAME="gitea-$RELEASE-linux-amd64" + curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $FILENAME systemctl stop gitea rm -rf /usr/local/bin/gitea - mv gitea* /usr/local/bin/gitea + mv $FILENAME /usr/local/bin/gitea chmod +x /usr/local/bin/gitea systemctl start gitea msg_ok "Updated $APP Successfully" From e024099beb5191fb048efe8b062c93f5036f0acb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 11:27:26 +0100 Subject: [PATCH 02/54] Update CHANGELOG.md (#5366) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aadf3f0dc..a7491f591 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-22 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - gitea: Update gitea.sh to stop update failures [@tystuyfzand](https://github.com/tystuyfzand) ([#5361](https://github.com/community-scripts/ProxmoxVE/pull/5361)) + ## 2025-06-21 ## 2025-06-20 From c6c03d4728e899ad5a73ee2d5eb436faeef3edf3 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun, 22 Jun 2025 12:27:47 +0200 Subject: [PATCH 03/54] fix: install_adminer > setup_adminer (#5356) --- install/linkwarden-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index 241c57f4f..d44dd0533 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -44,7 +44,7 @@ msg_ok "Set up PostgreSQL DB" read -r -p "${TAB3}Would you like to add Adminer? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then - install_adminer + setup_adminer fi msg_info "Installing Linkwarden (Patience)" From 930e4bd556c79f7ca657e07ec2b59b0c9a1527af Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 11:28:11 +0100 Subject: [PATCH 04/54] Update CHANGELOG.md (#5367) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7491f591..548e190de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - fix: install_adminer > setup_adminer [@MickLesk](https://github.com/MickLesk) ([#5356](https://github.com/community-scripts/ProxmoxVE/pull/5356)) - gitea: Update gitea.sh to stop update failures [@tystuyfzand](https://github.com/tystuyfzand) ([#5361](https://github.com/community-scripts/ProxmoxVE/pull/5361)) ## 2025-06-21 From c684472cb477cf19fa5ab7ebd659ce9fe46a3ef4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 14:07:16 +0200 Subject: [PATCH 05/54] Update versions.json (#5369) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 50 +++++++++++++++--------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 4a721f2bd..4fb0bdcdd 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,24 @@ [ + { + "name": "msgbyte/tianji", + "version": "v1.22.2", + "date": "2025-06-22T10:21:41Z" + }, + { + "name": "TandoorRecipes/recipes", + "version": "1.5.35", + "date": "2025-06-22T08:30:10Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2037", + "date": "2025-06-22T05:55:32Z" + }, + { + "name": "inventree/InvenTree", + "version": "0.17.14", + "date": "2025-06-21T23:43:04Z" + }, { "name": "plexguide/Huntarr.io", "version": "8.1.7", @@ -34,6 +54,11 @@ "version": "v11.11.1", "date": "2025-06-21T09:23:39Z" }, + { + "name": "runtipi/runtipi", + "version": "v4.2.1", + "date": "2025-06-03T20:04:28Z" + }, { "name": "pocketbase/pocketbase", "version": "v0.28.4", @@ -44,11 +69,6 @@ "version": "0.50.4", "date": "2025-06-21T07:47:02Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2035", - "date": "2025-06-21T05:52:31Z" - }, { "name": "coder/code-server", "version": "v4.101.1", @@ -79,11 +99,6 @@ "version": "v1.25.0", "date": "2025-06-20T19:15:43Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.22.1", - "date": "2025-06-20T18:12:20Z" - }, { "name": "mongodb/mongo", "version": "r8.1.2-rc0", @@ -324,11 +339,6 @@ "version": "version/2025.6.2", "date": "2025-06-16T17:54:39Z" }, - { - "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-06-16T17:35:17Z" - }, { "name": "emqx/emqx", "version": "e5.9.1-alpha.1", @@ -474,11 +484,6 @@ "version": "v1.12.0-rc.4", "date": "2025-06-12T00:27:41Z" }, - { - "name": "TandoorRecipes/recipes", - "version": "2.0.0-alpha-4", - "date": "2025-05-14T05:01:45Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.8.11.0", @@ -644,11 +649,6 @@ "version": "1.26.3", "date": "2025-06-02T22:00:14Z" }, - { - "name": "inventree/InvenTree", - "version": "0.17.13", - "date": "2025-06-02T12:44:20Z" - }, { "name": "usememos/memos", "version": "v0.24.4", From a2b8a87cc48148596d0378b3483f4e060391808e Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 22 Jun 2025 08:07:25 -0400 Subject: [PATCH 06/54] Immich: unpin release; use fetch & deploy function for update (#5355) --- ct/immich.sh | 216 +++++++++++++++++++------------------- install/immich-install.sh | 2 +- 2 files changed, 108 insertions(+), 110 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index 27e442aef..92a843909 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -181,116 +181,114 @@ function update_script() { fi fi RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Stopping ${APP} services" - systemctl stop immich-web - systemctl stop immich-ml - msg_ok "Stopped ${APP}" - INSTALL_DIR="/opt/${APP}" - UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)" - SRC_DIR="${INSTALL_DIR}/source" - APP_DIR="${INSTALL_DIR}/app" - ML_DIR="${APP_DIR}/machine-learning" - GEO_DIR="${INSTALL_DIR}/geodata" - VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" - - if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then - msg_info "Updating VectorChord" - if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then - $STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz - chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz - $STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz | - sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \ - -e "/vchordrq.prewarm_dim/d" | - sudo -u postgres psql - fi - curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb - $STD apt install -y ./vchord.deb - $STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;" - systemctl restart postgresql - if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then - $STD sudo -u postgres psql -d immich -c "REINDEX DATABASE;" - fi - echo "$VCHORD_RELEASE" >~/.vchord_version - rm ./vchord.deb - msg_ok "Updated VectorChord to v${VCHORD_RELEASE}" - fi - - cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR" - rm -rf "${APP_DIR:?}"/* - rm -rf "$SRC_DIR" - immich_zip=$(mktemp) - curl -fsSL "https://github.com/immich-app/immich/archive/refs/tags/v${RELEASE}.zip" -o "$immich_zip" - msg_info "Updating ${APP} web and microservices" - unzip -q "$immich_zip" - mv "$APP-$RELEASE"/ "$SRC_DIR" - mkdir -p "$ML_DIR" - cd "$SRC_DIR"/server - if [[ "$RELEASE" == "1.135.1" ]]; then - rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts - fi - $STD npm install -g node-gyp node-pre-gyp - $STD npm ci - $STD npm run build - $STD npm prune --omit=dev --omit=optional - cd "$SRC_DIR"/open-api/typescript-sdk - $STD npm ci - $STD npm run build - cd "$SRC_DIR"/web - $STD npm ci - $STD npm run build - cd "$SRC_DIR" - cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/ - cp -a web/build "$APP_DIR"/www - cp LICENSE "$APP_DIR" - msg_ok "Updated ${APP} web and microservices" - - cd "$SRC_DIR"/machine-learning - export VIRTUAL_ENV="${ML_DIR}"/ml-venv - $STD /usr/local/bin/uv venv "$VIRTUAL_ENV" - if [[ -f ~/.openvino ]]; then - msg_info "Updating HW-accelerated machine-learning" - /usr/local/bin/uv -q sync --extra openvino --no-cache --active - patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so" - msg_ok "Updated HW-accelerated machine-learning" - else - msg_info "Updating machine-learning" - /usr/local/bin/uv -q sync --extra cpu --no-cache --active - msg_ok "Updated machine-learning" - fi - cd "$SRC_DIR" - cp -a machine-learning/{ann,immich_ml} "$ML_DIR" - mv "$INSTALL_DIR"/ml_start.sh "$ML_DIR" - if [[ -f ~/.openvino ]]; then - sed -i "/intra_op/s/int = 0/int = os.cpu_count() or 0/" "$ML_DIR"/immich_ml/config.py - fi - ln -sf "$APP_DIR"/resources "$INSTALL_DIR" - cd "$APP_DIR" - grep -Rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" - grep -RlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" - sed -i "s@\"/cache\"@\"$INSTALL_DIR/cache\"@g" "$ML_DIR"/immich_ml/config.py - ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$APP_DIR"/upload - ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$ML_DIR"/upload - ln -s "$GEO_DIR" "$APP_DIR" - - msg_info "Updating Immich CLI" - $STD npm install --build-from-source sharp - rm -rf "$APP_DIR"/node_modules/@img/sharp-{libvips*,linuxmusl-x64} - $STD npm i -g @immich/cli - msg_ok "Updated Immich CLI" - - chown -R immich:immich "$INSTALL_DIR" - echo "$RELEASE" >/opt/"${APP}"_version.txt - msg_ok "Updated ${APP} to v${RELEASE}" - - msg_info "Cleaning up" - rm -f "$immich_zip" - $STD apt-get -y autoremove - $STD apt-get -y autoclean - msg_ok "Cleaned" - else - msg_ok "${APP} is already at v${RELEASE}" + if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then + msg_ok "No update required. ${APP} is already at v${RELEASE}" + exit fi + msg_info "Stopping ${APP} services" + systemctl stop immich-web + systemctl stop immich-ml + msg_ok "Stopped ${APP}" + INSTALL_DIR="/opt/${APP}" + UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)" + SRC_DIR="${INSTALL_DIR}/source" + APP_DIR="${INSTALL_DIR}/app" + ML_DIR="${APP_DIR}/machine-learning" + GEO_DIR="${INSTALL_DIR}/geodata" + VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" + + if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then + msg_info "Updating VectorChord" + if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then + $STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz + chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz + $STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz | + sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \ + -e "/vchordrq.prewarm_dim/d" | + sudo -u postgres psql + fi + curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb + $STD apt install -y ./vchord.deb + $STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;" + systemctl restart postgresql + if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then + $STD sudo -u postgres psql -d immich -c "REINDEX DATABASE;" + fi + echo "$VCHORD_RELEASE" >~/.vchord_version + rm ./vchord.deb + msg_ok "Updated VectorChord to v${VCHORD_RELEASE}" + fi + + cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR" + rm -rf "${APP_DIR:?}"/* + mkdir -p "$ML_DIR" + rm -rf "$SRC_DIR" + + fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "latest" "$SRC_DIR" + + msg_info "Updating ${APP} web and microservices" + cd "$SRC_DIR"/server + if [[ "$RELEASE" == "1.135.1" ]]; then + rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts + fi + $STD npm install -g node-gyp node-pre-gyp + $STD npm ci + $STD npm run build + $STD npm prune --omit=dev --omit=optional + cd "$SRC_DIR"/open-api/typescript-sdk + $STD npm ci + $STD npm run build + cd "$SRC_DIR"/web + $STD npm ci + $STD npm run build + cd "$SRC_DIR" + cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/ + cp -a web/build "$APP_DIR"/www + cp LICENSE "$APP_DIR" + msg_ok "Updated ${APP} web and microservices" + + cd "$SRC_DIR"/machine-learning + export VIRTUAL_ENV="${ML_DIR}"/ml-venv + $STD /usr/local/bin/uv venv "$VIRTUAL_ENV" + if [[ -f ~/.openvino ]]; then + msg_info "Updating HW-accelerated machine-learning" + /usr/local/bin/uv -q sync --extra openvino --no-cache --active + patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so" + msg_ok "Updated HW-accelerated machine-learning" + else + msg_info "Updating machine-learning" + /usr/local/bin/uv -q sync --extra cpu --no-cache --active + msg_ok "Updated machine-learning" + fi + cd "$SRC_DIR" + cp -a machine-learning/{ann,immich_ml} "$ML_DIR" + mv "$INSTALL_DIR"/ml_start.sh "$ML_DIR" + if [[ -f ~/.openvino ]]; then + sed -i "/intra_op/s/int = 0/int = os.cpu_count() or 0/" "$ML_DIR"/immich_ml/config.py + fi + ln -sf "$APP_DIR"/resources "$INSTALL_DIR" + cd "$APP_DIR" + grep -Rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" + grep -RlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" + sed -i "s@\"/cache\"@\"$INSTALL_DIR/cache\"@g" "$ML_DIR"/immich_ml/config.py + ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$APP_DIR"/upload + ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$ML_DIR"/upload + ln -s "$GEO_DIR" "$APP_DIR" + + msg_info "Updating Immich CLI" + $STD npm install --build-from-source sharp + rm -rf "$APP_DIR"/node_modules/@img/sharp-{libvips*,linuxmusl-x64} + $STD npm i -g @immich/cli + msg_ok "Updated Immich CLI" + + chown -R immich:immich "$INSTALL_DIR" + echo "$RELEASE" >/opt/"${APP}"_version.txt + msg_ok "Updated ${APP} to v${RELEASE}" + + msg_info "Cleaning up" + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleaned" systemctl restart immich-ml immich-web exit } diff --git a/install/immich-install.sh b/install/immich-install.sh index aa0490b9b..86958e0cf 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -282,7 +282,7 @@ GEO_DIR="${INSTALL_DIR}/geodata" mkdir -p "$INSTALL_DIR" mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${ML_DIR}","${INSTALL_DIR}"/cache} -fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.135.0" "$SRC_DIR" +fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "latest" "$SRC_DIR" msg_info "Installing ${APPLICATION} (more patience please)" From cd84cf974cc12e695a81d206e9ea622befc63523 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 13:07:57 +0100 Subject: [PATCH 07/54] Update CHANGELOG.md (#5370) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 548e190de..f2c9e6fde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,10 @@ All LXC instances created using this repository come pre-installed with Midnight - fix: install_adminer > setup_adminer [@MickLesk](https://github.com/MickLesk) ([#5356](https://github.com/community-scripts/ProxmoxVE/pull/5356)) - gitea: Update gitea.sh to stop update failures [@tystuyfzand](https://github.com/tystuyfzand) ([#5361](https://github.com/community-scripts/ProxmoxVE/pull/5361)) + - #### 🔧 Refactor + + - Immich: unpin release; use fetch & deploy function for update [@vhsdream](https://github.com/vhsdream) ([#5355](https://github.com/community-scripts/ProxmoxVE/pull/5355)) + ## 2025-06-21 ## 2025-06-20 From c6cbb495d2e0cdf65629025752c9d039a4bfe165 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 13:08:29 +0100 Subject: [PATCH 08/54] Update CHANGELOG.md (#5371) Co-authored-by: github-actions[bot] From 5fcc97142fc3a0ab04c9c814f02e5b1e1abfc266 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun, 22 Jun 2025 19:54:55 +0200 Subject: [PATCH 09/54] [core]: fix timing issues while template update & timezone setup at create new LXC (#5358) * fix timezone timing issue at new LXC * fix possible issue on templates --- misc/build.func | 44 ++++++++++++++++++++++++-------------------- misc/create_lxc.sh | 16 +++++++++++----- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/misc/build.func b/misc/build.func index d1df1ce3f..dd28d7359 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1053,35 +1053,39 @@ lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file EOF fi - # This starts the container and executes -install.sh - msg_info "Starting LXC Container" - pct start "$CTID" - msg_ok "Started LXC Container" - msg_info "Customizing LXC Container" - if [ "$var_os" == "alpine" ]; then - sleep 3 - pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories +: "${tz:=Etc/UTC}" + +msg_info "Starting LXC Container" +pct start "$CTID" +msg_ok "Started LXC Container" + +msg_info "Customizing LXC Container" +if [ "$var_os" == "alpine" ]; then + sleep 3 + pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories http://dl-cdn.alpinelinux.org/alpine/latest-stable/main http://dl-cdn.alpinelinux.org/alpine/latest-stable/community EOF' - pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses >/dev/null" - else - sleep 3 - # Set locale and timezone before update - pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen" - pct exec "$CTID" -- bash -c "locale_line=\$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print \$1}' | head -n 1) && \ + pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses >/dev/null" +else + sleep 3 + pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen" + pct exec "$CTID" -- bash -c "locale_line=\$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print \$1}' | head -n 1) && \ echo LANG=\$locale_line >/etc/default/locale && \ locale-gen >/dev/null && \ export LANG=\$locale_line" + if pct exec "$CTID" -- test -e "/usr/share/zoneinfo/$tz"; then pct exec "$CTID" -- bash -c "echo $tz >/etc/timezone && ln -sf /usr/share/zoneinfo/$tz /etc/localtime" - - # Install curl - pct exec "$CTID" -- bash -c "apt-get update >/dev/null && apt-get install -y sudo curl mc gnupg2 >/dev/null" + else + msg_info "Skipping timezone setup – zone '$tz' not found in container" fi - msg_ok "Customized LXC Container" - lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/"$var_install".sh)" $? -} + + pct exec "$CTID" -- bash -c "apt-get update >/dev/null && apt-get install -y sudo curl mc gnupg2 >/dev/null" +fi +msg_ok "Customized LXC Container" + +lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/"$var_install".sh)" $? # This function sets the description of the container. description() { diff --git a/misc/create_lxc.sh b/misc/create_lxc.sh index 632e876f2..2fce5b826 100644 --- a/misc/create_lxc.sh +++ b/misc/create_lxc.sh @@ -156,13 +156,19 @@ if [ -f /etc/pve/corosync.conf ]; then fi # Update LXC template list -msg_info "Updating LXC Template List" +TEMPLATE_SEARCH="${PCT_OSTYPE}-${PCT_OSVERSION:-}" -if ! timeout 10 pveam update >/dev/null 2>&1; then - msg_error "Failed to update LXC template list. Please check your Proxmox host's internet connection and DNS resolution." - exit 201 +msg_info "Updating LXC Template List" +if ! timeout 15 pveam update >/dev/null 2>&1; then + TEMPLATE_FALLBACK=$(pveam list "$TEMPLATE_STORAGE" | awk "/$TEMPLATE_SEARCH/ {print \$2}" | sort -t - -k 2 -V | tail -n1) + if [[ -z "$TEMPLATE_FALLBACK" ]]; then + msg_error "Failed to update LXC template list and no local template matching '$TEMPLATE_SEARCH' found." + exit 201 + fi + msg_info "Skipping template update – using local fallback: $TEMPLATE_FALLBACK" +else + msg_ok "LXC Template List Updated" fi -$STD msg_ok "LXC Template List Updated" # Get LXC template string TEMPLATE_SEARCH="${PCT_OSTYPE}-${PCT_OSVERSION:-}" From ef871c44ffaddb41f8aef5b421e7db648c324243 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 18:55:29 +0100 Subject: [PATCH 10/54] Update CHANGELOG.md (#5375) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2c9e6fde..0d54f551b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - [core]: fix timing issues while template update & timezone setup at create new LXC [@MickLesk](https://github.com/MickLesk) ([#5358](https://github.com/community-scripts/ProxmoxVE/pull/5358)) + - #### 🐞 Bug Fixes - fix: install_adminer > setup_adminer [@MickLesk](https://github.com/MickLesk) ([#5356](https://github.com/community-scripts/ProxmoxVE/pull/5356)) From ddf3019021848dd6c93f27f97b992b418de45224 Mon Sep 17 00:00:00 2001 From: CanbiZ Date: Sun, 22 Jun 2025 20:06:25 +0200 Subject: [PATCH 11/54] quickfix missing char --- misc/build.func | 2 ++ 1 file changed, 2 insertions(+) diff --git a/misc/build.func b/misc/build.func index dd28d7359..244499974 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1053,6 +1053,8 @@ lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file EOF fi +} + : "${tz:=Etc/UTC}" msg_info "Starting LXC Container" From 8bd6d89bfff112b4517701e053c011b3697226bf Mon Sep 17 00:00:00 2001 From: CanbiZ Date: Sun, 22 Jun 2025 20:16:16 +0200 Subject: [PATCH 12/54] quickfix --- misc/build.func | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/build.func b/misc/build.func index 244499974..a25b006a5 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1055,13 +1055,13 @@ EOF } -: "${tz:=Etc/UTC}" - +# This starts the container and executes -install.sh msg_info "Starting LXC Container" pct start "$CTID" msg_ok "Started LXC Container" msg_info "Customizing LXC Container" +: "${tz:=Etc/UTC}" if [ "$var_os" == "alpine" ]; then sleep 3 pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories From 5e87af5e8fd63eb1ce70fe1312734b1c59f53d7a Mon Sep 17 00:00:00 2001 From: CanbiZ Date: Sun, 22 Jun 2025 20:25:01 +0200 Subject: [PATCH 13/54] Update build.func --- misc/build.func | 40 ++++++++++------------------------------ 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/misc/build.func b/misc/build.func index a25b006a5..073e2927b 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1053,41 +1053,21 @@ lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file EOF fi -} - -# This starts the container and executes -install.sh -msg_info "Starting LXC Container" -pct start "$CTID" -msg_ok "Started LXC Container" - -msg_info "Customizing LXC Container" -: "${tz:=Etc/UTC}" -if [ "$var_os" == "alpine" ]; then - sleep 3 - pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories + # This starts the container and executes -install.sh + msg_info "Starting LXC Container" + pct start "$CTID" + msg_ok "Started LXC Container" + if [ "$var_os" == "alpine" ]; then + sleep 3 + pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories http://dl-cdn.alpinelinux.org/alpine/latest-stable/main http://dl-cdn.alpinelinux.org/alpine/latest-stable/community EOF' - pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses >/dev/null" -else - sleep 3 - pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen" - pct exec "$CTID" -- bash -c "locale_line=\$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print \$1}' | head -n 1) && \ - echo LANG=\$locale_line >/etc/default/locale && \ - locale-gen >/dev/null && \ - export LANG=\$locale_line" - - if pct exec "$CTID" -- test -e "/usr/share/zoneinfo/$tz"; then - pct exec "$CTID" -- bash -c "echo $tz >/etc/timezone && ln -sf /usr/share/zoneinfo/$tz /etc/localtime" - else - msg_info "Skipping timezone setup – zone '$tz' not found in container" + pct exec "$CTID" -- ash -c "apk add bash >/dev/null" fi + lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/"$var_install".sh)" $? - pct exec "$CTID" -- bash -c "apt-get update >/dev/null && apt-get install -y sudo curl mc gnupg2 >/dev/null" -fi -msg_ok "Customized LXC Container" - -lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/"$var_install".sh)" $? +} # This function sets the description of the container. description() { From aab85ab6548a30d235894ec9ef6232ac64361df4 Mon Sep 17 00:00:00 2001 From: CanbiZ Date: Sun, 22 Jun 2025 20:43:25 +0200 Subject: [PATCH 14/54] fix issue while creating ct without gnupg2 --- misc/build.func | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/misc/build.func b/misc/build.func index 073e2927b..9eab63253 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1057,15 +1057,30 @@ EOF msg_info "Starting LXC Container" pct start "$CTID" msg_ok "Started LXC Container" + msg_info "Customizing LXC Container" if [ "$var_os" == "alpine" ]; then sleep 3 pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories http://dl-cdn.alpinelinux.org/alpine/latest-stable/main http://dl-cdn.alpinelinux.org/alpine/latest-stable/community EOF' - pct exec "$CTID" -- ash -c "apk add bash >/dev/null" + pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses >/dev/null" + else + sleep 3 + # Set locale and timezone before update + pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen" + pct exec "$CTID" -- bash -c "locale_line=\$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print \$1}' | head -n 1) && \ + echo LANG=\$locale_line >/etc/default/locale && \ + locale-gen >/dev/null && \ + export LANG=\$locale_line" + + pct exec "$CTID" -- bash -c "echo $tz >/etc/timezone && ln -sf /usr/share/zoneinfo/$tz /etc/localtime" + + # Install curl + pct exec "$CTID" -- bash -c "apt-get update >/dev/null && apt-get install -y sudo curl mc gnupg2 >/dev/null" fi - lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/"$var_install".sh)" $? + msg_ok "Customized LXC Container" + lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/install/$var_install.sh)" $? } From 75b6aa9dacae23b695abc94eeddf303920ac6416 Mon Sep 17 00:00:00 2001 From: CanbiZ Date: Sun, 22 Jun 2025 20:53:02 +0200 Subject: [PATCH 15/54] Update build.func --- misc/build.func | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/misc/build.func b/misc/build.func index 9eab63253..e5e0087df 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1057,7 +1057,9 @@ EOF msg_info "Starting LXC Container" pct start "$CTID" msg_ok "Started LXC Container" + msg_info "Customizing LXC Container" + : "${tz:=Etc/UTC}" if [ "$var_os" == "alpine" ]; then sleep 3 pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories @@ -1067,21 +1069,23 @@ EOF' pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses >/dev/null" else sleep 3 - # Set locale and timezone before update pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen" pct exec "$CTID" -- bash -c "locale_line=\$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print \$1}' | head -n 1) && \ echo LANG=\$locale_line >/etc/default/locale && \ locale-gen >/dev/null && \ export LANG=\$locale_line" - pct exec "$CTID" -- bash -c "echo $tz >/etc/timezone && ln -sf /usr/share/zoneinfo/$tz /etc/localtime" + if pct exec "$CTID" -- test -e "/usr/share/zoneinfo/$tz"; then + pct exec "$CTID" -- bash -c "echo $tz >/etc/timezone && ln -sf /usr/share/zoneinfo/$tz /etc/localtime" + else + msg_info "Skipping timezone setup – zone '$tz' not found in container" + fi - # Install curl pct exec "$CTID" -- bash -c "apt-get update >/dev/null && apt-get install -y sudo curl mc gnupg2 >/dev/null" fi msg_ok "Customized LXC Container" - lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/install/$var_install.sh)" $? + lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/"$var_install".sh)" $? } # This function sets the description of the container. From 6cc901eba6d5cb1d7e8c73576efd32518e0553e3 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun, 22 Jun 2025 21:35:22 +0200 Subject: [PATCH 16/54] alpine: increase hdd to 1gb (#5377) --- ct/alpine.sh | 2 +- frontend/public/json/alpine.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/alpine.sh b/ct/alpine.sh index 9a636fafd..708c29e21 100644 --- a/ct/alpine.sh +++ b/ct/alpine.sh @@ -9,7 +9,7 @@ APP="Alpine" var_tags="${var_tags:-os;alpine}" var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" -var_disk="${var_disk:-0.5}" +var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.21}" var_unprivileged="${var_unprivileged:-1}" diff --git a/frontend/public/json/alpine.json b/frontend/public/json/alpine.json index ebd03f018..508f7b681 100644 --- a/frontend/public/json/alpine.json +++ b/frontend/public/json/alpine.json @@ -21,7 +21,7 @@ "resources": { "cpu": 1, "ram": 512, - "hdd": 0.5, + "hdd": 1, "os": "alpine", "version": "3.21" } From d495095d21e5c4fdee480ea6f129ae69ee633707 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 20:36:05 +0100 Subject: [PATCH 17/54] Update CHANGELOG.md (#5381) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d54f551b..1439c89c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts - - [core]: fix timing issues while template update & timezone setup at create new LXC [@MickLesk](https://github.com/MickLesk) ([#5358](https://github.com/community-scripts/ProxmoxVE/pull/5358)) + - alpine: increase hdd to 1gb [@MickLesk](https://github.com/MickLesk) ([#5377](https://github.com/community-scripts/ProxmoxVE/pull/5377)) +- [core]: fix timing issues while template update & timezone setup at create new LXC [@MickLesk](https://github.com/MickLesk) ([#5358](https://github.com/community-scripts/ProxmoxVE/pull/5358)) - #### 🐞 Bug Fixes From 82179752ee42cbb18d359435d7f4eb9bec4670eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Sun, 22 Jun 2025 21:40:54 +0200 Subject: [PATCH 18/54] fix: casing and naming error after #5254 (#5380) * fix: fix casing of OpenWrt Signed-off-by: Goetz Goerisch * fix: correct name of Homeassistant VM for PiMox * follow to #5254 Signed-off-by: Goetz Goerisch --------- Signed-off-by: Goetz Goerisch Co-authored-by: Goetz Goerisch --- vm/openwrt.sh | 2 +- vm/pimox-haos-vm.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vm/openwrt.sh b/vm/openwrt.sh index 86f6e4e4f..84660e19c 100644 --- a/vm/openwrt.sh +++ b/vm/openwrt.sh @@ -516,7 +516,7 @@ DESCRIPTION=$( Logo -

OpenWRT VM

+

OpenWrt VM

diff --git a/vm/pimox-haos-vm.sh b/vm/pimox-haos-vm.sh index c4e328a79..d941b97be 100644 --- a/vm/pimox-haos-vm.sh +++ b/vm/pimox-haos-vm.sh @@ -403,7 +403,7 @@ DESCRIPTION=$( Logo -

OpenWRT VM

+

Homeassistant VM

From 89cfb384596b12edd43aaabb50ef1191e1c2ea8d Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 22 Jun 2025 20:41:28 +0100 Subject: [PATCH 19/54] Update CHANGELOG.md (#5382) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1439c89c7..935419bd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,11 +18,12 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts - - alpine: increase hdd to 1gb [@MickLesk](https://github.com/MickLesk) ([#5377](https://github.com/community-scripts/ProxmoxVE/pull/5377)) -- [core]: fix timing issues while template update & timezone setup at create new LXC [@MickLesk](https://github.com/MickLesk) ([#5358](https://github.com/community-scripts/ProxmoxVE/pull/5358)) + - [core]: fix timing issues while template update & timezone setup at create new LXC [@MickLesk](https://github.com/MickLesk) ([#5358](https://github.com/community-scripts/ProxmoxVE/pull/5358)) +- alpine: increase hdd to 1gb [@MickLesk](https://github.com/MickLesk) ([#5377](https://github.com/community-scripts/ProxmoxVE/pull/5377)) - #### 🐞 Bug Fixes + - fix: casing and naming error after #5254 [@GoetzGoerisch](https://github.com/GoetzGoerisch) ([#5380](https://github.com/community-scripts/ProxmoxVE/pull/5380)) - fix: install_adminer > setup_adminer [@MickLesk](https://github.com/MickLesk) ([#5356](https://github.com/community-scripts/ProxmoxVE/pull/5356)) - gitea: Update gitea.sh to stop update failures [@tystuyfzand](https://github.com/tystuyfzand) ([#5361](https://github.com/community-scripts/ProxmoxVE/pull/5361)) From b6a98288cce292f074b1d07a9d369ca1e8649150 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 02:15:59 +0200 Subject: [PATCH 20/54] Update versions.json (#5385) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 4fb0bdcdd..1110ca92f 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,33 @@ [ + { + "name": "OliveTin/OliveTin", + "version": "2025.6.22", + "date": "2025-06-22T22:41:11Z" + }, + { + "name": "qbittorrent/qBittorrent", + "version": "release-5.1.1", + "date": "2025-06-22T21:41:17Z" + }, + { + "name": "pocket-id/pocket-id", + "version": "v1.4.1", + "date": "2025-06-22T19:38:08Z" + }, { "name": "msgbyte/tianji", - "version": "v1.22.2", - "date": "2025-06-22T10:21:41Z" + "version": "v1.22.3", + "date": "2025-06-22T18:29:00Z" + }, + { + "name": "clusterzx/paperless-ai", + "version": "v3.0.7", + "date": "2025-06-22T17:49:29Z" + }, + { + "name": "fuma-nama/fumadocs", + "version": "create-fumadocs-app@15.5.4", + "date": "2025-06-22T13:12:24Z" }, { "name": "TandoorRecipes/recipes", @@ -52,12 +77,12 @@ { "name": "theonedev/onedev", "version": "v11.11.1", - "date": "2025-06-21T09:23:39Z" + "date": "2025-06-21T07:32:15Z" }, { "name": "runtipi/runtipi", - "version": "v4.2.1", - "date": "2025-06-03T20:04:28Z" + "version": "nightly", + "date": "2025-06-21T09:03:46Z" }, { "name": "pocketbase/pocketbase", @@ -159,11 +184,6 @@ "version": "v2.17.1", "date": "2025-06-19T19:35:01Z" }, - { - "name": "pocket-id/pocket-id", - "version": "v1.4.0", - "date": "2025-06-19T18:30:11Z" - }, { "name": "rclone/rclone", "version": "v1.70.1", @@ -224,11 +244,6 @@ "version": "v3.12.7", "date": "2025-06-18T14:22:53Z" }, - { - "name": "clusterzx/paperless-ai", - "version": "v3.0.6", - "date": "2025-06-18T14:18:13Z" - }, { "name": "openhab/openhab-core", "version": "5.0.0.M3", @@ -344,11 +359,6 @@ "version": "e5.9.1-alpha.1", "date": "2025-06-16T15:34:01Z" }, - { - "name": "fuma-nama/fumadocs", - "version": "fumadocs-openapi@9.0.12", - "date": "2025-06-16T15:09:27Z" - }, { "name": "open-webui/open-webui", "version": "v0.6.15", @@ -564,11 +574,6 @@ "version": "v1.10.0", "date": "2025-06-07T08:31:48Z" }, - { - "name": "OliveTin/OliveTin", - "version": "2025.6.6", - "date": "2025-06-06T21:39:22Z" - }, { "name": "diced/zipline", "version": "v4.1.2", @@ -944,11 +949,6 @@ "version": "v2.6.3", "date": "2025-04-27T09:05:42Z" }, - { - "name": "qbittorrent/qBittorrent", - "version": "release-5.1.0", - "date": "2025-04-27T08:53:48Z" - }, { "name": "photoprism/photoprism", "version": "250426-27ec7a128", From 5cf8765d9a650af8273e4050a43ad70be056a24a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 01:16:29 +0100 Subject: [PATCH 21/54] Update CHANGELOG.md (#5386) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 935419bd0..ae9ce8dbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-06-23 + ## 2025-06-22 ### 🚀 Updated Scripts From 33bb4fd9e09fedd3f3333b08a55a4b69d5753e47 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Mon, 23 Jun 2025 09:07:49 +0200 Subject: [PATCH 22/54] changedetection: fix: hermetic msedge (#5388) --- ct/changedetection.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ct/changedetection.sh b/ct/changedetection.sh index e9dd4c81f..d452ce26d 100644 --- a/ct/changedetection.sh +++ b/ct/changedetection.sh @@ -52,7 +52,8 @@ function update_script() { $STD /opt/browserless/node_modules/playwright-core/cli.js install --with-deps # Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed. $STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome - $STD /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit msedge + $STD /opt/browserless/node_modules/playwright-core/cli.js install --force msedge + $STD /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit $STD npm run build --prefix /opt/browserless $STD npm run build:function --prefix /opt/browserless $STD npm prune production --prefix /opt/browserless From ea8586d4b571269806e3814c127c4c9aa340bf8f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 08:08:24 +0100 Subject: [PATCH 23/54] Update CHANGELOG.md (#5389) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae9ce8dbe..fae66ac1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-23 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - changedetection: fix: hermetic msedge [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5388](https://github.com/community-scripts/ProxmoxVE/pull/5388)) + ## 2025-06-22 ### 🚀 Updated Scripts From 2f0bff4e422609a4f70ef9f0665279808af281bf Mon Sep 17 00:00:00 2001 From: Miguel Date: Mon, 23 Jun 2025 13:44:49 +0200 Subject: [PATCH 24/54] changed trilium github repo (#5390) --- ct/trilium.sh | 2 +- frontend/public/json/trilium.json | 2 +- install/trilium-install.sh | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/trilium.sh b/ct/trilium.sh index dbb37cf84..76e66dc0b 100644 --- a/ct/trilium.sh +++ b/ct/trilium.sh @@ -52,7 +52,7 @@ function update_script() { cp -r "${DB_PATH}" /opt/trilium_backup/ rm -rf /opt/trilium cd /tmp - curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" + curl -fsSL "https://github.com/TriliumNext/trilium/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" tar -xf "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" mv "TriliumNextNotes-Server-${RELEASE}-linux-x64" /opt/trilium diff --git a/frontend/public/json/trilium.json b/frontend/public/json/trilium.json index 3efbee29f..44ca9e740 100644 --- a/frontend/public/json/trilium.json +++ b/frontend/public/json/trilium.json @@ -10,7 +10,7 @@ "privileged": false, "interface_port": 8080, "documentation": "https://triliumnext.github.io/Docs/", - "website": "https://github.com/TriliumNext/Notes", + "website": "https://github.com/TriliumNext/trilium", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/triliumnext.webp", "config_path": "/root/trilium-data/config.ini", "description": "TriliumNext is an newer Fork of Trilium. TriliumNext is an open-source note-taking and personal knowledge management application. It allows users to organize and manage their notes, ideas, and information in a single place, using a hierarchical tree-like structure. Trilium offers a range of features, including rich text formatting, links, images, and attachments, making it easy to create and structure notes. The software is designed to be flexible and customizable, with a range of customization options and plugins available, including themes, export options, and more. Trilium is a self-hosted solution, and can be run on a local machine or a cloud-based server, providing users with full control over their notes and information.", diff --git a/install/trilium-install.sh b/install/trilium-install.sh index c744f2a5b..22e473cce 100644 --- a/install/trilium-install.sh +++ b/install/trilium-install.sh @@ -15,8 +15,8 @@ update_os msg_info "Setup TriliumNext" cd /opt -RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" +RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/trilium/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/TriliumNext/trilium/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" From 9559a1b3f7791c6d2c048bc11ac8f12975799045 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 12:45:18 +0100 Subject: [PATCH 25/54] Update CHANGELOG.md (#5392) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fae66ac1e..a4a44f7db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - changed trilium github repo [@miggi92](https://github.com/miggi92) ([#5390](https://github.com/community-scripts/ProxmoxVE/pull/5390)) - changedetection: fix: hermetic msedge [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5388](https://github.com/community-scripts/ProxmoxVE/pull/5388)) ## 2025-06-22 From 09dbc227285d809eb20d79ce993fc5626ccf1369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 23 Jun 2025 13:57:45 +0200 Subject: [PATCH 26/54] PLANKA: Fix the update procedure (#5391) * fix update * Fix because Mick --- ct/planka.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ct/planka.sh b/ct/planka.sh index 01f817a3b..b08b0ab1c 100644 --- a/ct/planka.sh +++ b/ct/planka.sh @@ -41,19 +41,19 @@ function update_script() { mkdir -p /opt/planka-backup/background-images mkdir -p /opt/planka-backup/attachments mv /opt/planka/planka/.env /opt/planka-backup - mv /opt/planka/planka/public/favicons/* /opt/planka-backup/favicons/ - mv /opt/planka/planka/public/user-avatars/* /opt/planka-backup/user-avatars/ - mv /opt/planka/planka/public/background-images/* /opt/planka-backup/background-images/ - mv /opt/planka/planka/private/attachments/* /opt/planka-backup/attachments/ + [ -n "$(ls -A /opt/planka/planka/public/favicons 2>/dev/null)" ] && mv /opt/planka/planka/public/favicons/* /opt/planka-backup/favicons/ + [ -n "$(ls -A /opt/planka/planka/public/user-avatars 2>/dev/null)" ] && mv /opt/planka/planka/public/user-avatars/* /opt/planka-backup/user-avatars/ + [ -n "$(ls -A /opt/planka/planka/public/background-images 2>/dev/null)" ] && mv /opt/planka/planka/public/background-images/* /opt/planka-backup/background-images/ + [ -n "$(ls -A /opt/planka/planka/private/attachments 2>/dev/null)" ] && mv /opt/planka/planka/private/attachments/* /opt/planka-backup/attachments/ rm -rf /opt/planka fetch_and_deploy_gh_release "planka" "plankanban/planka" "prebuild" "latest" "/opt/planka" "planka-prebuild.zip" cd /opt/planka/planka $STD npm install mv /opt/planka-backup/.env /opt/planka/planka/ - mv /opt/planka-backup/favicons/* /opt/planka/planka/public/favicons/ - mv /opt/planka-backup/user-avatars/* /opt/planka/planka/public/user-avatars/ - mv /opt/planka-backup/background-images/* /opt/planka/planka/public/background-images/ - mv /opt/planka-backup/attachments/* /opt/planka/planka/private/attachments/ + [ -n "$(ls -A /opt/planka-backup/favicons 2>/dev/null)" ] && mv /opt/planka-backup/favicons/* /opt/planka/planka/public/favicons/ + [ -n "$(ls -A /opt/planka-backup/user-avatars 2>/dev/null)" ] && mv /opt/planka-backup/user-avatars/* /opt/planka/planka/public/user-avatars/ + [ -n "$(ls -A /opt/planka-backup/background-images 2>/dev/null)" ] && mv /opt/planka-backup/background-images/* /opt/planka/planka/public/background-images/ + [ -n "$(ls -A /opt/planka-backup/attachments 2>/dev/null)" ] && mv /opt/planka-backup/attachments/* /opt/planka/planka/private/attachments/ msg_ok "Updated $APP to ${RELEASE}" msg_info "Starting $APP" From a1aee90f72e94d5f200eaff712226d6e9fd32cf1 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 12:58:22 +0100 Subject: [PATCH 27/54] Update CHANGELOG.md (#5393) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4a44f7db..219f2561b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - PLANKA: Fix the update procedure [@tremor021](https://github.com/tremor021) ([#5391](https://github.com/community-scripts/ProxmoxVE/pull/5391)) - changed trilium github repo [@miggi92](https://github.com/miggi92) ([#5390](https://github.com/community-scripts/ProxmoxVE/pull/5390)) - changedetection: fix: hermetic msedge [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5388](https://github.com/community-scripts/ProxmoxVE/pull/5388)) From a8b3244f92a6178f6ab2da246caa2be744ef18b0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:08:13 +0200 Subject: [PATCH 28/54] Update versions.json (#5394) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 74 +++++++++++++++--------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 1110ca92f..6c60820b1 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,39 @@ [ + { + "name": "Graylog2/graylog2-server", + "version": "6.3.0-rc.2", + "date": "2025-06-23T11:31:38Z" + }, + { + "name": "mattermost/mattermost", + "version": "v9.11.17", + "date": "2025-06-18T08:12:05Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p5-rc1", + "date": "2025-06-23T06:14:42Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2042", + "date": "2025-06-23T05:54:00Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.18", + "date": "2025-06-20T04:45:37Z" + }, + { + "name": "gotson/komga", + "version": "1.22.0", + "date": "2025-06-23T03:11:37Z" + }, + { + "name": "plexguide/Huntarr.io", + "version": "8.1.8", + "date": "2025-06-23T00:21:30Z" + }, { "name": "OliveTin/OliveTin", "version": "2025.6.22", @@ -34,21 +69,11 @@ "version": "1.5.35", "date": "2025-06-22T08:30:10Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2037", - "date": "2025-06-22T05:55:32Z" - }, { "name": "inventree/InvenTree", "version": "0.17.14", "date": "2025-06-21T23:43:04Z" }, - { - "name": "plexguide/Huntarr.io", - "version": "8.1.7", - "date": "2025-06-21T23:25:45Z" - }, { "name": "HabitRPG/habitica", "version": "v5.37.0", @@ -81,8 +106,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-06-21T09:03:46Z" + "version": "v4.2.1", + "date": "2025-06-03T20:04:28Z" }, { "name": "pocketbase/pocketbase", @@ -174,11 +199,6 @@ "version": "v2.16.3", "date": "2025-06-20T05:49:06Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.18", - "date": "2025-06-20T04:45:37Z" - }, { "name": "paperless-ngx/paperless-ngx", "version": "v2.17.1", @@ -199,11 +219,6 @@ "version": "2025.05.1", "date": "2025-06-19T11:28:36Z" }, - { - "name": "mattermost/mattermost", - "version": "v9.11.17", - "date": "2025-06-18T08:12:05Z" - }, { "name": "n8n-io/n8n", "version": "n8n@1.98.2", @@ -369,11 +384,6 @@ "version": "v8.1.16", "date": "2025-06-16T13:49:37Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.3.0-rc.1", - "date": "2025-06-16T11:28:08Z" - }, { "name": "home-assistant/operating-system", "version": "15.2", @@ -479,11 +489,6 @@ "version": "latest", "date": "2025-06-12T19:09:18Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.3.0p34", - "date": "2025-06-12T12:15:44Z" - }, { "name": "zitadel/zitadel", "version": "v3.3.0", @@ -819,11 +824,6 @@ "version": "2.0.4", "date": "2025-05-16T15:09:53Z" }, - { - "name": "gotson/komga", - "version": "1.21.3", - "date": "2025-05-16T04:31:05Z" - }, { "name": "Dolibarr/dolibarr", "version": "18.0.7", From 22964f4898471b12a26e60d182b6d103e7a60053 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 23 Jun 2025 20:13:34 +0200 Subject: [PATCH 29/54] quickfix NodeJS - wrong function after merge --- install/adventurelog-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index bf5dbd5c9..6111e8036 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -21,7 +21,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" PYTHON_VERSION="3.12" setup_uv -NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules +NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs PG_VERSION="16" PG_MODULES="postgis" install_postgresql msg_info "Set up PostgreSQL Database" From 342722b10ae312d70f68186a0a83e75b479e3b33 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 23 Jun 2025 20:14:26 +0200 Subject: [PATCH 30/54] fix setup_postgres > install_postgres --- install/adventurelog-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index 6111e8036..a486afeb9 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" PYTHON_VERSION="3.12" setup_uv NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs -PG_VERSION="16" PG_MODULES="postgis" install_postgresql +PG_VERSION="16" PG_MODULES="postgis" setup_postgresql msg_info "Set up PostgreSQL Database" DB_NAME="adventurelog_db" From 7b90b0624e2cc8874692119dc88b4e010f929d03 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 23 Jun 2025 20:53:23 +0200 Subject: [PATCH 31/54] remove unneeded var --- install/adventurelog-install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index a486afeb9..8c880c724 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -89,7 +89,6 @@ EOF cd /opt/adventurelog/frontend $STD pnpm i $STD pnpm build -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed AdventureLog" msg_info "Setting up Django Admin" From c09606db69b5641c219e65743d3b4cdd0935c4ef Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 23 Jun 2025 20:57:01 +0200 Subject: [PATCH 32/54] [core]: tools.func -> autoupdate npm to newest version on install (#5397) --- misc/tools.func | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/misc/tools.func b/misc/tools.func index fd9eff384..46d21279f 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -64,6 +64,12 @@ function setup_nodejs() { exit 1 fi + # Update to latest npm + $STD npm install -g npm@latest || { + msg_error "Failed to update npm to latest version" + exit 1 + } + msg_ok "Setup Node.js ${NODE_VERSION}" fi From dc3113c57b1c25b8eba80ad5a91cde6d7c045775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 23 Jun 2025 20:57:31 +0200 Subject: [PATCH 33/54] Update mariadb.json (#5400) --- frontend/public/json/mariadb.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/public/json/mariadb.json b/frontend/public/json/mariadb.json index 3004ea9c9..a91f36a24 100644 --- a/frontend/public/json/mariadb.json +++ b/frontend/public/json/mariadb.json @@ -46,6 +46,10 @@ { "text": "This script requires some extra steps after the installation, Please checkout the 'documentation'", "type": "info" + }, + { + "text": "Access Adminer Web UI at `http:///adminer.php`", + "type": "info" } ] } From a0f18fd0f73ec1327e713b697663fdf7fc33110b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 19:57:38 +0100 Subject: [PATCH 34/54] Update CHANGELOG.md (#5403) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 219f2561b..d1cd04180 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - [core]: tools.func -> autoupdate npm to newest version on install [@MickLesk](https://github.com/MickLesk) ([#5397](https://github.com/community-scripts/ProxmoxVE/pull/5397)) + - #### 🐞 Bug Fixes - PLANKA: Fix the update procedure [@tremor021](https://github.com/tremor021) ([#5391](https://github.com/community-scripts/ProxmoxVE/pull/5391)) From 3d4bcb8081a4ea6b6a99226125235ba2a7a2c067 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 19:58:19 +0100 Subject: [PATCH 35/54] Update CHANGELOG.md (#5404) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1cd04180..c6365e388 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,12 @@ All LXC instances created using this repository come pre-installed with Midnight - changed trilium github repo [@miggi92](https://github.com/miggi92) ([#5390](https://github.com/community-scripts/ProxmoxVE/pull/5390)) - changedetection: fix: hermetic msedge [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5388](https://github.com/community-scripts/ProxmoxVE/pull/5388)) +### 🌐 Website + + - #### 📝 Script Information + + - MariaDB: Add information about Adminer on website [@tremor021](https://github.com/tremor021) ([#5400](https://github.com/community-scripts/ProxmoxVE/pull/5400)) + ## 2025-06-22 ### 🚀 Updated Scripts From 7302d43e7e7e8b33ce40314006acf3afb197c1fb Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 23 Jun 2025 21:29:56 +0200 Subject: [PATCH 36/54] --- install/adventurelog-install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index 8c880c724..1cfc845fa 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -146,7 +146,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf /opt/v${RELEASE}.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 7e7d610182e38fbb60adb15658680e4320fdeb7a Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 23 Jun 2025 22:18:22 +0200 Subject: [PATCH 37/54] Alpine-Forgejo (#5396) --- ct/alpine-forgejo.sh | 45 +++++++++++++++++++++++++++++++ frontend/public/json/forgejo.json | 13 ++++++++- install/alpine-forgejo-install.sh | 29 ++++++++++++++++++++ 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 ct/alpine-forgejo.sh create mode 100644 install/alpine-forgejo-install.sh diff --git a/ct/alpine-forgejo.sh b/ct/alpine-forgejo.sh new file mode 100644 index 000000000..cced348c8 --- /dev/null +++ b/ct/alpine-forgejo.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Johann3s-H (An!ma) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://forgejo.org/ + +APP="Alpine-Forgejo" +var_tags="${var_tags:-alpine;git}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.21}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + msg_info "Updating Alpine Packages" + $STD apk -U upgrade + msg_ok "Updated Alpine Packages" + + msg_info "Updating Forgejo" + $STD apk upgrade forgejo + msg_ok "Updated Forgejo" + + msg_info "Restarting Forgejo" + $STD rc-service forgejo restart + msg_ok "Restarted Forgejo" + + exit 0 +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/frontend/public/json/forgejo.json b/frontend/public/json/forgejo.json index b94c5849b..674c9a775 100644 --- a/frontend/public/json/forgejo.json +++ b/frontend/public/json/forgejo.json @@ -25,8 +25,19 @@ "os": "debian", "version": "12" } + }, + { + "type": "alpine", + "script": "ct/alpine-forgejo.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } } - ], + ], "default_credentials": { "username": null, "password": null diff --git a/install/alpine-forgejo-install.sh b/install/alpine-forgejo-install.sh new file mode 100644 index 000000000..870b4888e --- /dev/null +++ b/install/alpine-forgejo-install.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Johann3s-H (An!ma) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://forgejo.org/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Forgejo" +$STD apk add --no-cache forgejo +msg_ok "Installed Forgejo" + +msg_info "Enabling Forgejo Service" +$STD rc-update add forgejo default +msg_ok "Enabled Forgejo Service" + +msg_info "Starting Forgejo" +$STD service forgejo start +msg_ok "Started Forgejo" + +motd_ssh +customize \ No newline at end of file From 454a272cad4f754971208e24b17102a7260c04e3 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 21:19:04 +0100 Subject: [PATCH 38/54] Update CHANGELOG.md (#5405) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6365e388..1c41f9f9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-23 +### 🆕 New Scripts + + - Alpine-Forgejo by @Johann3s-H [@MickLesk](https://github.com/MickLesk) ([#5396](https://github.com/community-scripts/ProxmoxVE/pull/5396)) + ### 🚀 Updated Scripts - [core]: tools.func -> autoupdate npm to newest version on install [@MickLesk](https://github.com/MickLesk) ([#5397](https://github.com/community-scripts/ProxmoxVE/pull/5397)) From b889909d653b33c16a765e3fef502b6b0c24028d Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 22:30:23 +0200 Subject: [PATCH 39/54] Update .app files (#5406) Co-authored-by: GitHub Actions --- ct/headers/alpine-forgejo | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/alpine-forgejo diff --git a/ct/headers/alpine-forgejo b/ct/headers/alpine-forgejo new file mode 100644 index 000000000..40c8e23f3 --- /dev/null +++ b/ct/headers/alpine-forgejo @@ -0,0 +1,6 @@ + ___ __ _ ______ _ + / | / /___ (_)___ ___ / ____/___ _________ ____ (_)___ + / /| | / / __ \/ / __ \/ _ \______/ /_ / __ \/ ___/ __ `/ _ \ / / __ \ + / ___ |/ / /_/ / / / / / __/_____/ __/ / /_/ / / / /_/ / __/ / / /_/ / +/_/ |_/_/ .___/_/_/ /_/\___/ /_/ \____/_/ \__, /\___/_/ /\____/ + /_/ /____/ /___/ From e11fb287f10df663b0371b9dbb256d4543657962 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 02:15:14 +0200 Subject: [PATCH 40/54] Update versions.json (#5409) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 90 +++++++++++++++--------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 6c60820b1..bbf9e0210 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,49 @@ [ + { + "name": "rcourtman/Pulse", + "version": "v3.31.1", + "date": "2025-06-23T23:13:13Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-incremental-vector-store-1", + "date": "2025-06-23T21:37:47Z" + }, + { + "name": "minio/minio", + "version": "RELEASE.2025-06-13T11-33-47Z", + "date": "2025-06-23T20:58:42Z" + }, + { + "name": "esphome/esphome", + "version": "2025.6.1", + "date": "2025-06-23T19:28:09Z" + }, + { + "name": "runtipi/runtipi", + "version": "v4.2.1", + "date": "2025-06-03T20:04:28Z" + }, + { + "name": "home-assistant/core", + "version": "2025.6.2", + "date": "2025-06-23T18:38:37Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p5-rc2", + "date": "2025-06-23T15:50:55Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "pmm-6401-v1.120.0", + "date": "2025-06-23T15:12:12Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.98.2", + "date": "2025-06-18T18:20:16Z" + }, { "name": "Graylog2/graylog2-server", "version": "6.3.0-rc.2", @@ -9,11 +54,6 @@ "version": "v9.11.17", "date": "2025-06-18T08:12:05Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0p5-rc1", - "date": "2025-06-23T06:14:42Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.2042", @@ -84,11 +124,6 @@ "version": "preview-fix-proxy-auth", "date": "2025-06-21T13:43:58Z" }, - { - "name": "rcourtman/Pulse", - "version": "v3.30.0", - "date": "2025-06-17T16:00:01Z" - }, { "name": "rogerfar/rdt-client", "version": "v2.0.114", @@ -104,11 +139,6 @@ "version": "v11.11.1", "date": "2025-06-21T07:32:15Z" }, - { - "name": "runtipi/runtipi", - "version": "v4.2.1", - "date": "2025-06-03T20:04:28Z" - }, { "name": "pocketbase/pocketbase", "version": "v0.28.4", @@ -139,11 +169,6 @@ "version": "3.2.1-rc1", "date": "2025-06-20T19:41:10Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "v1.24.0-victorialogs", - "date": "2025-06-20T19:31:31Z" - }, { "name": "homarr-labs/homarr", "version": "v1.25.0", @@ -219,11 +244,6 @@ "version": "2025.05.1", "date": "2025-06-19T11:28:36Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.98.2", - "date": "2025-06-18T18:20:16Z" - }, { "name": "redis/redis", "version": "8.2-m01-int2", @@ -274,11 +294,6 @@ "version": "v10.7.0", "date": "2025-06-18T11:57:05Z" }, - { - "name": "esphome/esphome", - "version": "2025.6.0", - "date": "2025-06-18T09:41:11Z" - }, { "name": "forgejo/forgejo", "version": "v11.0.2", @@ -464,11 +479,6 @@ "version": "v3.3.25", "date": "2025-06-14T02:52:44Z" }, - { - "name": "home-assistant/core", - "version": "2025.6.1", - "date": "2025-06-13T20:16:18Z" - }, { "name": "wazuh/wazuh", "version": "coverity-w25-4.13.0", @@ -484,11 +494,6 @@ "version": "v2025-06-12", "date": "2025-06-12T20:59:47Z" }, - { - "name": "meilisearch/meilisearch", - "version": "latest", - "date": "2025-06-12T19:09:18Z" - }, { "name": "zitadel/zitadel", "version": "v3.3.0", @@ -769,11 +774,6 @@ "version": "v4.39.4", "date": "2025-05-25T02:27:28Z" }, - { - "name": "minio/minio", - "version": "RELEASE.2025-05-24T17-08-30Z", - "date": "2025-05-24T21:42:19Z" - }, { "name": "0xERR0R/blocky", "version": "v0.26.2", From daad486c5e7232ac2d7e5cdb365cfb19d02a98c9 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 01:15:55 +0100 Subject: [PATCH 41/54] Update CHANGELOG.md (#5410) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c41f9f9e..3871937b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-06-24 + ## 2025-06-23 ### 🆕 New Scripts From 66ab254fb288410834c53fd30b09c36261a0c928 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:33:26 +0200 Subject: [PATCH 42/54] Refactor: ESPHome to uv based install (#5413) * Refactor: ESPHome to uv based install * fix curl --- ct/esphome.sh | 57 ++++++++++++++++++++++++++++++-------- install/esphome-install.sh | 26 ++++++++--------- 2 files changed, 59 insertions(+), 24 deletions(-) diff --git a/ct/esphome.sh b/ct/esphome.sh index f9b086a62..127a2d9a5 100644 --- a/ct/esphome.sh +++ b/ct/esphome.sh @@ -25,22 +25,57 @@ function update_script() { check_container_resources if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then msg_error "No ${APP} Installation Found!" - exit + exit 1 fi - msg_info "Stopping ESPHome" + + msg_info "Stopping ${APP}" systemctl stop esphomeDashboard - msg_ok "Stopped ESPHome" + msg_ok "Stopped ${APP}" - msg_info "Updating ESPHome" - if [[ -d /srv/esphome ]]; then - $STD source /srv/esphome/bin/activate + VENV_PATH="/opt/esphome/.venv" + ESPHOME_BIN="${VENV_PATH}/bin/esphome" + export PYTHON_VERSION="3.12" + + if [[ ! -d "$VENV_PATH" || ! -x "$ESPHOME_BIN" ]]; then + PYTHON_VERSION="3.12" setup_uv + msg_info "Migrating to uv/venv" + rm -rf "$VENV_PATH" + mkdir -p /opt/esphome + cd /opt/esphome + $STD uv venv "$VENV_PATH" + $STD "$VENV_PATH/bin/python" -m ensurepip --upgrade + $STD "$VENV_PATH/bin/python" -m pip install --upgrade pip + $STD "$VENV_PATH/bin/python" -m pip install esphome tornado esptool + msg_ok "Migrated to uv/venv" + else + msg_info "Updating ESPHome" + PYTHON_VERSION="3.12" setup_uv + $STD "$VENV_PATH/bin/python" -m pip install --upgrade esphome tornado esptool + msg_ok "Updated ESPHome" fi - $STD pip3 install -U esphome - msg_ok "Updated ESPHome" + SERVICE_FILE="/etc/systemd/system/esphomeDashboard.service" + if ! grep -q "${VENV_PATH}/bin/esphome" "$SERVICE_FILE"; then + msg_info "Updating systemd service" + cat <"$SERVICE_FILE" +[Unit] +Description=ESPHome Dashboard +After=network.target - msg_info "Starting ESPHome" +[Service] +ExecStart=${VENV_PATH}/bin/esphome dashboard /root/config/ +Restart=always +User=root + +[Install] +WantedBy=multi-user.target +EOF + $STD systemctl daemon-reload + msg_ok "Updated systemd service" + fi + + msg_info "Starting ${APP}" systemctl start esphomeDashboard - msg_ok "Started ESPHome" + msg_ok "Started ${APP}" msg_ok "Updated Successfully" exit } @@ -52,4 +87,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6052${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6052${CL}" diff --git a/install/esphome-install.sh b/install/esphome-install.sh index 37e2d71d0..8e8e022c5 100644 --- a/install/esphome-install.sh +++ b/install/esphome-install.sh @@ -17,34 +17,34 @@ msg_info "Installing Dependencies" $STD apt-get install -y git msg_ok "Installed Dependencies" -msg_info "Setup Python3" -$STD apt-get install -y \ - python3 \ - python3-dev \ - python3-pip \ - python3-venv -rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED -msg_ok "Setup Python3" +PYTHON_VERSION="3.12" setup_uv -msg_info "Installing ESPHome" -mkdir /root/config -$STD pip install esphome tornado esptool -msg_ok "Installed ESPHome" +msg_info "Setting up Virtual Environment" +mkdir -p /opt/esphome +mkdir -p /root/config +cd /opt/esphome +$STD uv venv /opt/esphome/.venv +$STD /opt/esphome/.venv/bin/python -m ensurepip --upgrade +$STD /opt/esphome/.venv/bin/python -m pip install --upgrade pip +$STD /opt/esphome/.venv/bin/python -m pip install esphome tornado esptool +msg_ok "Setup and Installed ESPHome" msg_info "Creating Service" +mkdir -p /root/config cat </etc/systemd/system/esphomeDashboard.service [Unit] Description=ESPHome Dashboard After=network.target [Service] -ExecStart=/usr/local/bin/esphome dashboard /root/config/ +ExecStart=/opt/esphome/.venv/bin/esphome dashboard /root/config/ Restart=always User=root [Install] WantedBy=multi-user.target EOF + systemctl enable -q --now esphomeDashboard msg_ok "Created Service" From 0efa83ff48dc90e06c66553f5b4e8be1db721291 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:33:46 +0200 Subject: [PATCH 43/54] Refactor: Prometheus PVE Exporter to uv based install (#5412) --- ct/prometheus-pve-exporter.sh | 81 +++++++++++++++++----- install/prometheus-pve-exporter-install.sh | 16 ++--- 2 files changed, 70 insertions(+), 27 deletions(-) diff --git a/ct/prometheus-pve-exporter.sh b/ct/prometheus-pve-exporter.sh index 34c1b2611..1513b34fc 100644 --- a/ct/prometheus-pve-exporter.sh +++ b/ct/prometheus-pve-exporter.sh @@ -20,26 +20,69 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -f /etc/systemd/system/prometheus-pve-exporter.service ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Stopping ${APP}" - systemctl stop prometheus-pve-exporter - msg_ok "Stopped ${APP}" + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/systemd/system/prometheus-pve-exporter.service ]]; then + msg_error "No ${APP} Installation Found!" + exit 1 + fi - msg_info "Updating ${APP}" - $STD pip install prometheus-pve-exporter --default-timeout=300 --upgrade --root-user-action=ignore - msg_ok "Updated ${APP}" + msg_info "Stopping ${APP}" + systemctl stop prometheus-pve-exporter + msg_ok "Stopped ${APP}" - msg_info "Starting ${APP}" - systemctl start prometheus-pve-exporter - msg_ok "Started ${APP}" - msg_ok "Updated Successfully" - exit + export PVE_VENV_PATH="/opt/prometheus-pve-exporter/.venv" + export PVE_EXPORTER_BIN="${PVE_VENV_PATH}/bin/pve_exporter" + + if [[ ! -d "$PVE_VENV_PATH" || ! -x "$PVE_EXPORTER_BIN" ]]; then + PYTHON_VERSION="3.12" setup_uv + msg_info "Migrating to uv/venv" + rm -rf "$PVE_VENV_PATH" + mkdir -p /opt/prometheus-pve-exporter + cd /opt/prometheus-pve-exporter + $STD uv venv "$PVE_VENV_PATH" + $STD "$PVE_VENV_PATH/bin/python" -m ensurepip --upgrade + $STD "$PVE_VENV_PATH/bin/python" -m pip install --upgrade pip + $STD "$PVE_VENV_PATH/bin/python" -m pip install prometheus-pve-exporter + msg_ok "Migrated to uv/venv" + else + msg_info "Updating Prometheus Proxmox VE Exporter" + PYTHON_VERSION="3.12" setup_uv + $STD "$PVE_VENV_PATH/bin/python" -m pip install --upgrade prometheus-pve-exporter + msg_ok "Updated Prometheus Proxmox VE Exporter" + fi + local service_file="/etc/systemd/system/prometheus-pve-exporter.service" + if ! grep -q "${PVE_VENV_PATH}/bin/pve_exporter" "$service_file"; then + msg_info "Updating systemd service" + cat <"$service_file" +[Unit] +Description=Prometheus Proxmox VE Exporter +Documentation=https://github.com/znerol/prometheus-pve-exporter +After=syslog.target network.target + +[Service] +User=root +Restart=always +Type=simple +ExecStart=${PVE_VENV_PATH}/bin/pve_exporter \\ + --config.file=/opt/prometheus-pve-exporter/pve.yml \\ + --web.listen-address=0.0.0.0:9221 +ExecReload=/bin/kill -HUP \$MAINPID + +[Install] +WantedBy=multi-user.target +EOF + $STD systemctl daemon-reload + msg_ok "Updated systemd service" + fi + + msg_info "Starting ${APP}" + systemctl start prometheus-pve-exporter + msg_ok "Started ${APP}" + + msg_ok "Updated Successfully" + exit 0 } start @@ -49,4 +92,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9221${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9221${CL}" diff --git a/install/prometheus-pve-exporter-install.sh b/install/prometheus-pve-exporter-install.sh index b2ccef80d..513611e5b 100644 --- a/install/prometheus-pve-exporter-install.sh +++ b/install/prometheus-pve-exporter-install.sh @@ -13,16 +13,16 @@ setting_up_container network_check update_os -msg_info "Setup Python3" -$STD apt-get install -y \ - python3 \ - python3-pip -rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED -msg_ok "Setup Python3" +PYTHON_VERSION="3.12" setup_uv msg_info "Installing Prometheus Proxmox VE Exporter" -python3 -m pip install --default-timeout=300 --quiet --root-user-action=ignore prometheus-pve-exporter mkdir -p /opt/prometheus-pve-exporter +cd /opt/prometheus-pve-exporter + +$STD uv venv /opt/prometheus-pve-exporter/.venv +$STD /opt/prometheus-pve-exporter/.venv/bin/python -m ensurepip --upgrade +$STD /opt/prometheus-pve-exporter/.venv/bin/python -m pip install --upgrade pip +$STD /opt/prometheus-pve-exporter/.venv/bin/python -m pip install prometheus-pve-exporter cat </opt/prometheus-pve-exporter/pve.yml default: user: prometheus@pve @@ -42,7 +42,7 @@ After=syslog.target network.target User=root Restart=always Type=simple -ExecStart=pve_exporter \ +ExecStart=/opt/prometheus-pve-exporter/.venv/bin/pve_exporter \ --config.file=/opt/prometheus-pve-exporter/pve.yml \ --web.listen-address=0.0.0.0:9221 ExecReload=/bin/kill -HUP \$MAINPID From 99a0fb727bcf68a60d063144ddda375c3b382414 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 10:33:54 +0100 Subject: [PATCH 44/54] Update CHANGELOG.md (#5414) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3871937b1..05c2b1b8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-06-24 +### 🚀 Updated Scripts + + - #### 🔧 Refactor + + - Refactor: ESPHome to uv based install [@MickLesk](https://github.com/MickLesk) ([#5413](https://github.com/community-scripts/ProxmoxVE/pull/5413)) + ## 2025-06-23 ### 🆕 New Scripts From d95bfdb7dc6128979b1dbbb3c246bf060ab64599 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:34:07 +0200 Subject: [PATCH 45/54] Refactor: MeTube to uv based install (#5411) * Refactor: MeTube (uv migrated) * Setup_nodejs --- ct/metube.sh | 91 ++++++++++++++++++++++------ frontend/public/json/metube.json | 35 +++++++++++ frontend/public/json/metube.json.bak | 35 ----------- install/metube-install.sh | 23 +++---- 4 files changed, 119 insertions(+), 65 deletions(-) create mode 100644 frontend/public/json/metube.json delete mode 100644 frontend/public/json/metube.json.bak diff --git a/ct/metube.sh b/ct/metube.sh index 287ea264e..abfd891cb 100644 --- a/ct/metube.sh +++ b/ct/metube.sh @@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="MeTube" var_tags="${var_tags:-media;youtube}" var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-1024}" +var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" var_version="${var_version:-12}" @@ -23,40 +23,97 @@ function update_script() { header_info check_container_storage check_container_resources + if [[ ! -d /opt/metube ]]; then msg_error "No ${APP} Installation Found!" exit fi + msg_info "Stopping ${APP} Service" systemctl stop metube msg_ok "Stopped ${APP} Service" - msg_info "Updating ${APP} to latest Git" - cd /opt - if [ -d metube_bak ]; then - rm -rf metube_bak + msg_info "Backing up Old Installation" + if [[ -d /opt/metube_bak ]]; then + rm -rf /opt/metube_bak fi - mv metube metube_bak + mv /opt/metube /opt/metube_bak + msg_ok "Backup created" + + msg_info "Cloning Latest ${APP} Release" $STD git clone https://github.com/alexta69/metube /opt/metube + msg_ok "Cloned ${APP}" + + msg_info "Building Frontend" cd /opt/metube/ui $STD npm install $STD node_modules/.bin/ng build - cd /opt/metube - cp /opt/metube_bak/.env /opt/metube/ - $STD pip3 install pipenv - $STD pipenv install + msg_ok "Built Frontend" - if [ -d "/opt/metube_bak" ]; then - rm -rf /opt/metube_bak + PYTHON_VERSION="3.13" setup_uv + + msg_info "Setting up Python Environment (uv)" + $STD uv venv /opt/metube/.venv + $STD /opt/metube/.venv/bin/python -m ensurepip --upgrade + $STD /opt/metube/.venv/bin/python -m pip install --upgrade pip + $STD /opt/metube/.venv/bin/python -m pip install pipenv + msg_ok "Python Environment Ready" + + msg_info "Installing Backend Requirements" + cd /opt/metube + $STD /opt/metube/.venv/bin/pipenv install + msg_ok "Installed Backend" + + msg_info "Restoring Environment File" + if [[ -f /opt/metube_bak/.env ]]; then + cp /opt/metube_bak/.env /opt/metube/.env fi - msg_ok "Updated ${APP} to latest Git" + msg_ok "Restored .env" + + if [[ ! -d /opt/metube/.venv ]]; then + msg_info "Migrating to uv-based environment" + PYTHON_VERSION="3.13" setup_uv + $STD uv venv /opt/metube/.venv + $STD /opt/metube/.venv/bin/python -m ensurepip --upgrade + $STD /opt/metube/.venv/bin/python -m pip install --upgrade pip + $STD /opt/metube/.venv/bin/python -m pip install pipenv + $STD /opt/metube/.venv/bin/pipenv install + $STD /opt/metube/.venv/bin/pipenv update yt-dlp + + msg_info "Patching systemd Service" + cat </etc/systemd/system/metube.service +[Unit] +Description=Metube - YouTube Downloader +After=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/metube +EnvironmentFile=/opt/metube/.env +ExecStart=/opt/metube/.venv/bin/pipenv run python3 app/main.py +Restart=always +User=root + +[Install] +WantedBy=multi-user.target +EOF + msg_ok "Patched systemd Service" + fi + $STD systemctl daemon-reload + msg_ok "Service Updated" + + msg_info "Cleaning up" + rm -rf /opt/metube_bak + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleaned Up" msg_info "Starting ${APP} Service" - systemctl start metube + systemctl enable -q --now metube sleep 1 msg_ok "Started ${APP} Service" - msg_ok "Updated Successfully!\n" - exit + + msg_ok "Updated Successfully!" } start @@ -66,4 +123,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8081${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8081${CL}" diff --git a/frontend/public/json/metube.json b/frontend/public/json/metube.json new file mode 100644 index 000000000..70350e73a --- /dev/null +++ b/frontend/public/json/metube.json @@ -0,0 +1,35 @@ +{ + "name": "MeTube", + "slug": "metube", + "categories": [ + 11 + ], + "date_created": "2024-06-12", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 8081, + "documentation": null, + "website": "https://github.com/alexta69/metube", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/metube.webp", + "config_path": "/opt/metube/.env", + "description": "MeTube allows you to download videos from YouTube and dozens of other sites.", + "install_methods": [ + { + "type": "default", + "script": "ct/metube.sh", + "resources": { + "cpu": 1, + "ram": 2048, + "hdd": 10, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/frontend/public/json/metube.json.bak b/frontend/public/json/metube.json.bak deleted file mode 100644 index 12f0a8214..000000000 --- a/frontend/public/json/metube.json.bak +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "MeTube", - "slug": "metube", - "categories": [ - 11 - ], - "date_created": "2024-06-12", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 8081, - "documentation": null, - "website": "https://github.com/alexta69/metube", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/metube.webp", - "config_path": "/opt/metube/.env", - "description": "MeTube allows you to download videos from YouTube and dozens of other sites.", - "install_methods": [ - { - "type": "default", - "script": "ct/metube.sh", - "resources": { - "cpu": 1, - "ram": 1024, - "hdd": 10, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] -} diff --git a/install/metube-install.sh b/install/metube-install.sh index ea55e5ecb..ac22cf332 100644 --- a/install/metube-install.sh +++ b/install/metube-install.sh @@ -1,8 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2021-2025 tteck -# Author: tteck -# Co-Author: MickLesk (Canbiz) +# Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/alexta69/metube @@ -28,14 +27,7 @@ $STD apt-get install -y --no-install-recommends \ ca-certificates msg_ok "Installed Dependencies" -msg_info "Setup Python3" -$STD apt-get install -y \ - python3 \ - python3-dev \ - python3-pip \ - python3-venv -msg_ok "Setup Python3" - +PYTHON_VERSION="3.13" setup_uv NODE_VERSION="22" setup_nodejs msg_info "Installing MeTube" @@ -44,8 +36,13 @@ cd /opt/metube/ui $STD npm install $STD node_modules/.bin/ng build cd /opt/metube -$STD pip3 install pipenv -$STD pipenv install +$STD uv venv /opt/metube/.venv +$STD /opt/metube/.venv/bin/python -m ensurepip --upgrade +$STD /opt/metube/.venv/bin/python -m pip install --upgrade pip +$STD /opt/metube/.venv/bin/python -m pip install pipenv +$STD /opt/metube/.venv/bin/pipenv install +$STD /opt/metube/.venv/bin/pipenv update yt-dlp + mkdir -p /opt/metube_downloads /opt/metube_downloads/.metube /opt/metube_downloads/music /opt/metube_downloads/videos cat </opt/metube/.env DOWNLOAD_DIR=/opt/metube_downloads @@ -65,7 +62,7 @@ After=network.target Type=simple WorkingDirectory=/opt/metube EnvironmentFile=/opt/metube/.env -ExecStart=/usr/local/bin/pipenv run python3 app/main.py +ExecStart=/opt/metube/.venv/bin/pipenv run python3 app/main.py Restart=always User=root From b4c6f28e4ec0232e0569ac883b0f50b06f59c169 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 10:34:52 +0100 Subject: [PATCH 46/54] Update CHANGELOG.md (#5415) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05c2b1b8b..f8389e4d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,8 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🔧 Refactor + - Refactor: MeTube to uv based install [@MickLesk](https://github.com/MickLesk) ([#5411](https://github.com/community-scripts/ProxmoxVE/pull/5411)) + - Refactor: Prometheus PVE Exporter to uv based install [@MickLesk](https://github.com/MickLesk) ([#5412](https://github.com/community-scripts/ProxmoxVE/pull/5412)) - Refactor: ESPHome to uv based install [@MickLesk](https://github.com/MickLesk) ([#5413](https://github.com/community-scripts/ProxmoxVE/pull/5413)) ## 2025-06-23 From 2faeb5255cd84a9a070378a3a696021ac080f759 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 10:35:05 +0100 Subject: [PATCH 47/54] Update date in json (#5416) Co-authored-by: GitHub Actions --- frontend/public/json/metube.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/metube.json b/frontend/public/json/metube.json index 70350e73a..66e0fa0b6 100644 --- a/frontend/public/json/metube.json +++ b/frontend/public/json/metube.json @@ -4,7 +4,7 @@ "categories": [ 11 ], - "date_created": "2024-06-12", + "date_created": "2025-06-24", "type": "ct", "updateable": true, "privileged": false, From d73bc95d4a93d43ecaa3fccbe2290d423499dc4b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 10:35:12 +0100 Subject: [PATCH 48/54] Update CHANGELOG.md (#5417) Co-authored-by: github-actions[bot] From f60d132b202abdf0eba3597b56c9c2bf6a6445d2 Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:58:42 +0200 Subject: [PATCH 49/54] Update all Alpine Scripts to atleast 1GB HDD (#5418) * Update alpine-it-tools.sh * Update alpine-zigbee2mqtt.sh * Update jsons --------- Co-authored-by: tremor021 --- ct/alpine-it-tools.sh | 2 +- ct/alpine-zigbee2mqtt.sh | 2 +- frontend/public/json/alpine-it-tools.json | 4 +- frontend/public/json/zigbee2mqtt.json | 96 +++++++++++------------ 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/ct/alpine-it-tools.sh b/ct/alpine-it-tools.sh index 9050745de..460d3e069 100644 --- a/ct/alpine-it-tools.sh +++ b/ct/alpine-it-tools.sh @@ -9,7 +9,7 @@ APP="Alpine-IT-Tools" var_tags="${var_tags:-alpine;development}" var_cpu="${var_cpu:-1}" var_ram="${var_ram:-256}" -var_disk="${var_disk:-0.5}" +var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.21}" var_unprivileged="${var_unprivileged:-1}" diff --git a/ct/alpine-zigbee2mqtt.sh b/ct/alpine-zigbee2mqtt.sh index 0af68ea97..664ac5ea8 100644 --- a/ct/alpine-zigbee2mqtt.sh +++ b/ct/alpine-zigbee2mqtt.sh @@ -7,7 +7,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Alpine-Zigbee2MQTT" var_tags="${var_tags:-alpine;zigbee;mqtt;smarthome}" -var_disk="${var_disk:-0.3}" +var_disk="${var_disk:-1}" var_cpu="${var_cpu:-1}" var_ram="${var_ram:-256}" var_os="${var_os:-alpine}" diff --git a/frontend/public/json/alpine-it-tools.json b/frontend/public/json/alpine-it-tools.json index e2194cb82..94764f83c 100644 --- a/frontend/public/json/alpine-it-tools.json +++ b/frontend/public/json/alpine-it-tools.json @@ -21,7 +21,7 @@ "resources": { "cpu": 1, "ram": 256, - "hdd": 0.5, + "hdd": 1, "os": "alpine", "version": "3.21" } @@ -32,7 +32,7 @@ "resources": { "cpu": 1, "ram": 256, - "hdd": 0.5, + "hdd": 1, "os": "alpine", "version": "3.21" } diff --git a/frontend/public/json/zigbee2mqtt.json b/frontend/public/json/zigbee2mqtt.json index d7bb9a284..354f6743e 100644 --- a/frontend/public/json/zigbee2mqtt.json +++ b/frontend/public/json/zigbee2mqtt.json @@ -1,51 +1,51 @@ { - "name": "Zigbee2MQTT", - "slug": "zigbee2mqtt", - "categories": [ - 17 - ], - "date_created": "2024-05-02", - "type": "ct", - "updateable": true, - "privileged": true, - "interface_port": 9442, - "documentation": "https://www.zigbee2mqtt.io/guide/getting-started/", - "website": "https://www.zigbee2mqtt.io/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zigbee2mqtt.webp", - "config_path": "/opt/zigbee2mqtt/data/configuration.yaml", - "description": "Zigbee2MQTT is an open-source software project that allows you to use Zigbee-based smart home devices (such as those sold under the Philips Hue and Ikea Tradfri brands) with MQTT-based home automation systems, like Home Assistant, Node-RED, and others. The software acts as a bridge between your Zigbee devices and MQTT, allowing you to control and monitor these devices from your home automation system.", - "install_methods": [ - { - "type": "default", - "script": "ct/zigbee2mqtt.sh", - "resources": { - "cpu": 2, - "ram": 1024, - "hdd": 4, - "os": "debian", - "version": "12" - } - }, - { - "type": "alpine", - "script": "ct/alpine-zigbee2mqtt.sh", - "resources": { - "cpu": 1, - "ram": 256, - "hdd": 0.3, - "os": "alpine", - "version": "3.21" - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Zigbee2MQTT", + "slug": "zigbee2mqtt", + "categories": [ + 17 + ], + "date_created": "2024-05-02", + "type": "ct", + "updateable": true, + "privileged": true, + "interface_port": 9442, + "documentation": "https://www.zigbee2mqtt.io/guide/getting-started/", + "website": "https://www.zigbee2mqtt.io/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zigbee2mqtt.webp", + "config_path": "/opt/zigbee2mqtt/data/configuration.yaml", + "description": "Zigbee2MQTT is an open-source software project that allows you to use Zigbee-based smart home devices (such as those sold under the Philips Hue and Ikea Tradfri brands) with MQTT-based home automation systems, like Home Assistant, Node-RED, and others. The software acts as a bridge between your Zigbee devices and MQTT, allowing you to control and monitor these devices from your home automation system.", + "install_methods": [ + { + "type": "default", + "script": "ct/zigbee2mqtt.sh", + "resources": { + "cpu": 2, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } }, - "notes": [ - { - "text": "You can find the post-install guide here: `https://github.com/community-scripts/ProxmoxVE/discussions/410`", - "type": "info" - } - ] + { + "type": "alpine", + "script": "ct/alpine-zigbee2mqtt.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "You can find the post-install guide here: `https://github.com/community-scripts/ProxmoxVE/discussions/410`", + "type": "info" + } + ] } From 6a285e1e19cfa034fe8897f28a962dd2ddfd9c84 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 10:59:54 +0100 Subject: [PATCH 50/54] Update CHANGELOG.md (#5419) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8389e4d8..69d5e6efe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🚀 Updated Scripts + - #### 🐞 Bug Fixes + + - Update all Alpine Scripts to atleast 1GB HDD [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5418](https://github.com/community-scripts/ProxmoxVE/pull/5418)) + - #### 🔧 Refactor - Refactor: MeTube to uv based install [@MickLesk](https://github.com/MickLesk) ([#5411](https://github.com/community-scripts/ProxmoxVE/pull/5411)) From 15b36b4d16afb9702d7a43ce722a2f8a1b715cf7 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 24 Jun 2025 13:24:55 +0200 Subject: [PATCH 51/54] Minio: use latest version or latest feature rich version (#5423) * minio ref * Improvements * Update minio-install.sh --- ct/minio.sh | 23 +++++++++++++++++--- install/minio-install.sh | 46 +++++++++++++++++++++++++++++++++------- 2 files changed, 58 insertions(+), 11 deletions(-) diff --git a/ct/minio.sh b/ct/minio.sh index a7b4700dd..018fdb4d0 100644 --- a/ct/minio.sh +++ b/ct/minio.sh @@ -27,16 +27,33 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + FEATURE_RICH_VERSION="2025-04-22T22-12-26Z" RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + CURRENT_VERSION="" + [[ -f /opt/${APP}_version.txt ]] && CURRENT_VERSION=$(cat /opt/${APP}_version.txt) + RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') + + if [[ "${CURRENT_VERSION}" == "${FEATURE_RICH_VERSION}" && "${RELEASE}" != "${FEATURE_RICH_VERSION}" ]]; then + echo + echo "You are currently running the last feature-rich community version: ${FEATURE_RICH_VERSION}" + echo "WARNING: Updating to the latest version will REMOVE most management features from the Console UI." + echo "Do you still want to upgrade to the latest version? [y/N]: " + read -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + msg_ok "No update performed. Staying on the feature-rich version." + exit + fi + fi + + if [[ "${CURRENT_VERSION}" != "${RELEASE}" ]]; then msg_info "Stopping ${APP}" systemctl stop minio msg_ok "${APP} Stopped" msg_info "Updating ${APP} to ${RELEASE}" mv /usr/local/bin/minio /usr/local/bin/minio_bak - curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") - mv minio /usr/local/bin/ + curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o /usr/local/bin/minio chmod +x /usr/local/bin/minio echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP}" diff --git a/install/minio-install.sh b/install/minio-install.sh index c94af1227..fe6bc6b47 100644 --- a/install/minio-install.sh +++ b/install/minio-install.sh @@ -13,31 +13,60 @@ setting_up_container network_check update_os -msg_info "Setup MinIO" -RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') -curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o /usr/local/bin/minio +FEATURE_RICH_VERSION="2025-04-22T22-12-26Z" + +echo +echo "MinIO recently removed many management features from the Console UI." +echo "The last feature-complete version is: $FEATURE_RICH_VERSION" +echo "Latest versions require the paid edition for full UI functionality." +echo +echo "Choose which version to install:" +echo " [N] Feature-rich community version ($FEATURE_RICH_VERSION) [Recommended]" +echo " [Y] Latest version (may lack UI features)" +echo +read -p "Install latest MinIO version? [y/N]: " -n 1 -r +echo +if [[ $REPLY =~ ^[Yy]$ ]]; then + USE_LATEST=true +else + USE_LATEST=false +fi + +msg_info "Setting up MinIO" +if [[ "$USE_LATEST" == "true" ]]; then + RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') + DOWNLOAD_URL="https://dl.min.io/server/minio/release/linux-amd64/minio" +else + RELEASE="$FEATURE_RICH_VERSION" + DOWNLOAD_URL="https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.${FEATURE_RICH_VERSION}" +fi + +curl -fsSL "$DOWNLOAD_URL" -o /usr/local/bin/minio chmod +x /usr/local/bin/minio useradd -r minio-user -s /sbin/nologin mkdir -p /home/minio-user chown minio-user:minio-user /home/minio-user mkdir -p /data chown minio-user:minio-user /data + MINIO_ADMIN_USER="minioadmin" MINIO_ADMIN_PASSWORD="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" + cat </etc/default/minio MINIO_ROOT_USER=${MINIO_ADMIN_USER} MINIO_ROOT_PASSWORD=${MINIO_ADMIN_PASSWORD} EOF + { echo "" - echo "MinIO-Credentials" + echo "MinIO Credentials" echo "MinIO Admin User: $MINIO_ADMIN_USER" echo "MinIO Admin Password: $MINIO_ADMIN_PASSWORD" } >>~/minio.creds -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +echo "${RELEASE}" >/opt/${APPLICATION,,}_version.txt msg_ok "Setup MinIO" -msg_info "Creating Service" +msg_info "Creating service" cat </etc/systemd/system/minio.service [Unit] Description=MinIO @@ -57,8 +86,9 @@ LimitNOFILE=65536 [Install] WantedBy=multi-user.target EOF + systemctl enable -q --now minio -msg_ok "Created Service" +msg_ok "Service created" motd_ssh customize @@ -66,4 +96,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleanup complete" From 1d06016ae10a59a6c37ce47934eaf82576602fcc Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 24 Jun 2025 13:25:26 +0200 Subject: [PATCH 52/54] Update tools.func (#5422) --- misc/tools.func | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index 46d21279f..f241d2508 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -747,12 +747,12 @@ function fetch_and_deploy_gh_release() { local app_lc=$(echo "${app,,}" | tr -d ' ') local version_file="$HOME/.${app_lc}" - local curl_timeout="--connect-timeout 10 --max-time 30" + + local api_timeout="--connect-timeout 5 --max-time 30" + local download_timeout="--connect-timeout 15 --max-time 900" local current_version="" - if [[ -f "$version_file" ]]; then - current_version=$(<"$version_file") - fi + [[ -f "$version_file" ]] && current_version=$(<"$version_file") if ! command -v jq &>/dev/null; then $STD apt-get install -y jq &>/dev/null @@ -763,11 +763,22 @@ function fetch_and_deploy_gh_release() { local header=() [[ -n "${GITHUB_TOKEN:-}" ]] && header=(-H "Authorization: token $GITHUB_TOKEN") - local resp http_code - resp=$(curl $curl_timeout -fsSL -w "%{http_code}" -o /tmp/gh_rel.json "${header[@]}" "$api_url") + local max_retries=3 retry_delay=2 attempt=1 success=false resp http_code + + while ((attempt <= max_retries)); do + resp=$(curl $api_timeout -fsSL -w "%{http_code}" -o /tmp/gh_rel.json "${header[@]}" "$api_url") && success=true && break + sleep "$retry_delay" + ((attempt++)) + done + + if ! $success; then + msg_error "Failed to fetch release metadata after $max_retries attempts" + return 1 + fi + http_code="${resp:(-3)}" [[ "$http_code" != "200" ]] && { - msg_error "Failed to fetch release: HTTP $http_code" + msg_error "GitHub API returned HTTP $http_code" return 1 } @@ -785,14 +796,14 @@ function fetch_and_deploy_gh_release() { tmpdir=$(mktemp -d) || return 1 local filename="" url="" - msg_info "Setup $app ($version)" + msg_info "Fetching GitHub release: $app ($version)" if [[ "$mode" == "tarball" || "$mode" == "source" ]]; then url=$(echo "$json" | jq -r '.tarball_url // empty') [[ -z "$url" ]] && url="https://github.com/$repo/archive/refs/tags/v$version.tar.gz" filename="${app_lc}-${version}.tar.gz" - curl $curl_timeout -fsSL -o "$tmpdir/$filename" "$url" || { + curl $download_timeout -fsSL -o "$tmpdir/$filename" "$url" || { msg_error "Download failed: $url" rm -rf "$tmpdir" return 1 @@ -836,7 +847,7 @@ function fetch_and_deploy_gh_release() { fi filename="${url_match##*/}" - curl $curl_timeout -fsSL -o "$tmpdir/$filename" "$url_match" || { + curl $download_timeout -fsSL -o "$tmpdir/$filename" "$url_match" || { msg_error "Download failed: $url_match" rm -rf "$tmpdir" return 1 @@ -871,7 +882,7 @@ function fetch_and_deploy_gh_release() { } filename="${asset_url##*/}" - curl $curl_timeout -fsSL -o "$tmpdir/$filename" "$asset_url" || { + curl $download_timeout -fsSL -o "$tmpdir/$filename" "$asset_url" || { msg_error "Download failed: $asset_url" rm -rf "$tmpdir" return 1 @@ -912,7 +923,7 @@ function fetch_and_deploy_gh_release() { filename="${asset_url##*/}" mkdir -p "$target" - curl $curl_timeout -fsSL -o "$target/$app" "$asset_url" || { + curl $download_timeout -fsSL -o "$target/$app" "$asset_url" || { msg_error "Download failed: $asset_url" rm -rf "$tmpdir" return 1 @@ -927,7 +938,7 @@ function fetch_and_deploy_gh_release() { fi echo "$version" >"$version_file" - msg_ok "Setup $app ($version)" + msg_ok "Deployed: $app ($version)" rm -rf "$tmpdir" } From 5b35d537a876a5fc328679fbe1efa3465fdffb89 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 12:25:34 +0100 Subject: [PATCH 53/54] Update CHANGELOG.md (#5425) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69d5e6efe..1b0f8a435 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Update all Alpine Scripts to atleast 1GB HDD [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#5418](https://github.com/community-scripts/ProxmoxVE/pull/5418)) + - #### ✨ New Features + + - Minio: use latest version or latest feature rich version [@MickLesk](https://github.com/MickLesk) ([#5423](https://github.com/community-scripts/ProxmoxVE/pull/5423)) + - #### 🔧 Refactor - Refactor: MeTube to uv based install [@MickLesk](https://github.com/MickLesk) ([#5411](https://github.com/community-scripts/ProxmoxVE/pull/5411)) From 0c1aaedf6b4585337289614f91261c3276daf2c5 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 12:26:01 +0100 Subject: [PATCH 54/54] Update CHANGELOG.md (#5426) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b0f8a435..b7c519433 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### ✨ New Features + - [core]: Improve GitHub release fetch robustness with split timeouts and retry logic [@MickLesk](https://github.com/MickLesk) ([#5422](https://github.com/community-scripts/ProxmoxVE/pull/5422)) - Minio: use latest version or latest feature rich version [@MickLesk](https://github.com/MickLesk) ([#5423](https://github.com/community-scripts/ProxmoxVE/pull/5423)) - #### 🔧 Refactor