Compare commits

..

15 Commits

Author SHA1 Message Date
github-actions[bot]
853eadeb4e Update CHANGELOG.md 2025-11-20 17:29:39 +00:00
Chris
dd8bb6f42b Immich v2.3.1: OpenVINO tuning, OCR fixes, Maintenance mode, workflows/plugin framework (#9310)
* Add env var for OpenVINO floating point precision setting

* v2.3.1 - Maintenance mode, workflow/plugin framework
2025-11-20 18:08:25 +01:00
CanbiZ
9879cb4b69 Remove package-lock.json copy in install script
Removed the copy of package-lock.json from the installation script.
2025-11-20 16:13:25 +01:00
CanbiZ
264a29980c documenso: test turbo prune 2025-11-20 16:04:24 +01:00
community-scripts-pr-app[bot]
3af525882a Update versions.json (#9305)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-20 13:07:30 +01:00
community-scripts-pr-app[bot]
17bb0af069 Update CHANGELOG.md (#9304)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-20 12:02:56 +00:00
Tobias
3850960eca kasm: add: update (#9253) 2025-11-20 13:02:30 +01:00
community-scripts-pr-app[bot]
323ca24625 Update CHANGELOG.md (#9303)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-20 12:02:06 +00:00
CanbiZ
6fc20ae5c2 Omada - AVX-only support (#9295) 2025-11-20 13:01:41 +01:00
community-scripts-pr-app[bot]
318574fcd1 Update CHANGELOG.md (#9302)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-20 12:01:26 +00:00
CanbiZ
fe3dab0ee1 tools/pve: expand PVE support to 9.0–9.1 (post-install & netdata) (#9298) 2025-11-20 13:01:01 +01:00
community-scripts-pr-app[bot]
b314ba4bf1 Update CHANGELOG.md (#9300)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-20 11:43:18 +00:00
CanbiZ
0153f4bd40 core: change 'uv cache clear' to 'uv cache clean' (#9299) 2025-11-20 12:42:57 +01:00
CanbiZ
3b7de3da6b searxng updatable -> false 2025-11-20 11:09:58 +01:00
dependabot[bot]
7ea03832ec build(deps): bump golang.org/x/crypto (#9292)
Bumps the go_modules group with 1 update in the /api directory: [golang.org/x/crypto](https://github.com/golang/crypto).


Updates `golang.org/x/crypto` from 0.35.0 to 0.45.0
- [Commits](https://github.com/golang/crypto/compare/v0.35.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 09:39:07 +01:00
14 changed files with 206 additions and 110 deletions

View File

@@ -12,6 +12,22 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
## 2025-11-20 ## 2025-11-20
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- core: change 'uv cache clear' to 'uv cache clean' [@MickLesk](https://github.com/MickLesk) ([#9299](https://github.com/community-scripts/ProxmoxVE/pull/9299))
- #### ✨ New Features
- Immich v2.3.1: OpenVINO tuning, OCR fixes, Maintenance mode, workflows/plugin framework [@vhsdream](https://github.com/vhsdream) ([#9310](https://github.com/community-scripts/ProxmoxVE/pull/9310))
- kasm: add: update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9253](https://github.com/community-scripts/ProxmoxVE/pull/9253))
- tools/pve: expand PVE support to 9.09.1 (post-install & netdata) [@MickLesk](https://github.com/MickLesk) ([#9298](https://github.com/community-scripts/ProxmoxVE/pull/9298))
- #### 💥 Breaking Changes
- Omada - AVX-only support [@MickLesk](https://github.com/MickLesk) ([#9295](https://github.com/community-scripts/ProxmoxVE/pull/9295))
## 2025-11-19 ## 2025-11-19
### 🚀 Updated Scripts ### 🚀 Updated Scripts

View File

@@ -1,6 +1,6 @@
module proxmox-api module proxmox-api
go 1.23.2 go 1.24.0
require ( require (
github.com/gorilla/mux v1.8.1 github.com/gorilla/mux v1.8.1
@@ -17,7 +17,7 @@ require (
github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/scram v1.1.2 // indirect
github.com/xdg-go/stringprep v1.0.4 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
golang.org/x/crypto v0.35.0 // indirect golang.org/x/crypto v0.45.0 // indirect
golang.org/x/sync v0.11.0 // indirect golang.org/x/sync v0.18.0 // indirect
golang.org/x/text v0.22.0 // indirect golang.org/x/text v0.31.0 // indirect
) )

View File

@@ -27,16 +27,16 @@ go.mongodb.org/mongo-driver v1.17.2 h1:gvZyk8352qSfzyZ2UMWcpDpMSGEr1eqE4T793Sqyh
go.mongodb.org/mongo-driver v1.17.2/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.mongodb.org/mongo-driver v1.17.2/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -48,8 +48,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

View File

@@ -61,6 +61,15 @@ EOF
msg_ok "Installed libmimalloc3" msg_ok "Installed libmimalloc3"
fi fi
if [[ ! -f /etc/apt/sources.list.d/mise.list ]]; then
msg_info "Installing Mise"
curl -fSs https://mise.jdx.dev/gpg-key.pub | tee /etc/apt/keyrings/mise-archive-keyring.pub 1>/dev/null
echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.pub arch=amd64] https://mise.jdx.dev/deb stable main" | tee /etc/apt/sources.list.d/mise.list
$STD apt update
$STD apt install -y mise
msg_ok "Installed Mise"
fi
STAGING_DIR=/opt/staging STAGING_DIR=/opt/staging
BASE_DIR=${STAGING_DIR}/base-images BASE_DIR=${STAGING_DIR}/base-images
SOURCE_DIR=${STAGING_DIR}/image-source SOURCE_DIR=${STAGING_DIR}/image-source
@@ -93,7 +102,7 @@ EOF
msg_ok "Image-processing libraries up to date" msg_ok "Image-processing libraries up to date"
fi fi
RELEASE="2.2.3" RELEASE="2.3.1"
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop immich-web systemctl stop immich-web
@@ -121,6 +130,7 @@ EOF
UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)" UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
SRC_DIR="${INSTALL_DIR}/source" SRC_DIR="${INSTALL_DIR}/source"
APP_DIR="${INSTALL_DIR}/app" APP_DIR="${INSTALL_DIR}/app"
PLUGIN_DIR="${APP_DIR}/corePlugin"
ML_DIR="${APP_DIR}/machine-learning" ML_DIR="${APP_DIR}/machine-learning"
GEO_DIR="${INSTALL_DIR}/geodata" GEO_DIR="${INSTALL_DIR}/geodata"
@@ -145,9 +155,7 @@ EOF
rm -rf "${APP_DIR:?}"/* rm -rf "${APP_DIR:?}"/*
) )
rm -rf "$SRC_DIR" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR"
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR"
msg_info "Updating ${APP} web and microservices" msg_info "Updating ${APP} web and microservices"
cd "$SRC_DIR"/server cd "$SRC_DIR"/server
@@ -180,7 +188,18 @@ EOF
$STD pnpm --filter @immich/cli --prod --no-optional deploy "$APP_DIR"/cli $STD pnpm --filter @immich/cli --prod --no-optional deploy "$APP_DIR"/cli
cd "$APP_DIR" cd "$APP_DIR"
mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin
msg_ok "Updated ${APP} web and microservices"
# plugins
cd "$SRC_DIR"
$STD mise trust --ignore ./mise.toml
$STD mise trust ./plugins/mise.toml
cd plugins
$STD mise install
$STD mise run build
mkdir -p "$PLUGIN_DIR"
cp -r ./dist "$PLUGIN_DIR"/dist
cp ./manifest.json "$PLUGIN_DIR"
msg_ok "Updated ${APP} server, web, cli and plugins"
cd "$SRC_DIR"/machine-learning cd "$SRC_DIR"/machine-learning
mkdir -p "$ML_DIR" && chown -R immich:immich "$ML_DIR" mkdir -p "$ML_DIR" && chown -R immich:immich "$ML_DIR"

View File

@@ -25,14 +25,51 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var ]]; then if [[ ! -d /opt/kasm/current ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating LXC"
$STD apt update msg_info "Checking for new version"
$STD apt -y upgrade CURRENT_VERSION=$(readlink -f /opt/kasm/current | awk -F'/' '{print $4}')
msg_ok "Updated LXC" KASM_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_[0-9]+\.[0-9]+\.[0-9]+\.[a-z0-9]+\.tar\.gz' | head -n 1)
if [[ -z "$KASM_URL" ]]; then
msg_error "Unable to detect latest Kasm release URL."
exit 1
fi
KASM_VERSION=$(echo "$KASM_URL" | sed -E 's/.*kasm_release_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
msg_info "Checked for new version"
msg_info "Removing outdated docker-compose plugin"
[ -f ~/.docker/cli-plugins/docker-compose ] && rm -rf ~/.docker/cli-plugins/docker-compose
msg_ok "Removed outdated docker-compose plugin"
if [[ -z "$CURRENT_VERSION" ]] || [[ "$KASM_VERSION" != "$CURRENT_VERSION" ]]; then
msg_info "Updating Kasm"
cd /tmp
msg_warn "WARNING: This script will run an external installer from a third-party source (https://www.kasmweb.com/)."
msg_warn "The following code is NOT maintained or audited by our repository."
msg_warn "If you have any doubts or concerns, please review the installer code before proceeding:"
msg_custom "${TAB3}${GATEWAY}${BGN}${CL}" "\e[1;34m" "→ upgrade.sh inside tar.gz $KASM_URL"
echo
read -r -p "${TAB3}Do you want to continue? [y/N]: " CONFIRM
if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then
msg_error "Aborted by user. No changes have been made."
exit 10
fi
curl -fsSL -o "/tmp/kasm_release_${KASM_VERSION}.tar.gz" "$KASM_URL"
tar -xf "kasm_release_${KASM_VERSION}.tar.gz"
chmod +x /tmp/kasm_release/install.sh
rm -f /tmp/kasm_release_${KASM_VERSION}.tar.gz
bash /tmp/kasm_release/upgrade.sh --proxy-port 443
rm -rf /tmp/kasm_release
msg_ok "Updated Successfully"
else
msg_ok "No update required. Kasm is already at v${KASM_VERSION}"
fi
exit exit
} }

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-05-26", "date_created": "2025-05-26",
"type": "ct", "type": "ct",
"updateable": false, "updateable": true,
"privileged": true, "privileged": true,
"config_path": "", "config_path": "",
"interface_port": 443, "interface_port": 443,

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-08-26", "date_created": "2025-08-26",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8888, "interface_port": 8888,
"documentation": "https://docs.searxng.org/", "documentation": "https://docs.searxng.org/",

View File

@@ -1,14 +1,79 @@
[ [
{
"name": "kimai/kimai",
"version": "2.44.0",
"date": "2025-11-20T11:01:01Z"
},
{
"name": "itsmng/itsm-ng",
"version": "v2.1.1",
"date": "2025-11-20T10:54:07Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-ui@16.0.15",
"date": "2025-11-20T10:52:04Z"
},
{
"name": "mattermost/mattermost",
"version": "v10.11.7",
"date": "2025-11-17T08:40:53Z"
},
{
"name": "Athou/commafeed",
"version": "5.12.0",
"date": "2025-11-20T06:18:58Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.336",
"date": "2025-11-20T05:55:54Z"
},
{
"name": "documenso/documenso",
"version": "v2.0.14",
"date": "2025-11-20T04:12:40Z"
},
{
"name": "immich-app/immich",
"version": "v2.3.1",
"date": "2025-11-20T03:10:27Z"
},
{
"name": "nextcloud/nextcloudpi",
"version": "v1.56.0",
"date": "2025-11-20T02:28:35Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.80.0.dev6",
"date": "2025-11-20T02:03:21Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-20T00:27:04Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{
"name": "coder/code-server",
"version": "v4.106.2",
"date": "2025-11-20T00:23:05Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.5",
"date": "2025-11-12T15:24:23Z"
},
{ {
"name": "esphome/esphome", "name": "esphome/esphome",
"version": "2025.11.0", "version": "2025.11.0",
"date": "2025-11-19T22:37:46Z" "date": "2025-11-19T22:37:46Z"
}, },
{
"name": "immich-app/immich",
"version": "v2.3.0",
"date": "2025-11-19T22:36:35Z"
},
{ {
"name": "TandoorRecipes/recipes", "name": "TandoorRecipes/recipes",
"version": "2.3.5", "version": "2.3.5",
@@ -29,16 +94,6 @@
"version": "v2.7.12", "version": "v2.7.12",
"date": "2025-05-29T17:08:26Z" "date": "2025-05-29T17:08:26Z"
}, },
{
"name": "BerriAI/litellm",
"version": "v1.77.3-stable-patch-2",
"date": "2025-11-19T19:00:37Z"
},
{
"name": "coder/code-server",
"version": "v4.106.0",
"date": "2025-11-19T18:01:23Z"
},
{ {
"name": "tailscale/tailscale", "name": "tailscale/tailscale",
"version": "v1.90.8", "version": "v1.90.8",
@@ -84,16 +139,6 @@
"version": "v0.13.0", "version": "v0.13.0",
"date": "2025-11-19T14:16:07Z" "date": "2025-11-19T14:16:07Z"
}, },
{
"name": "nextcloud/nextcloudpi",
"version": "v1.56.0",
"date": "2025-11-19T14:11:24Z"
},
{
"name": "mattermost/mattermost",
"version": "v10.11.7",
"date": "2025-11-17T08:40:53Z"
},
{ {
"name": "n8n-io/n8n", "name": "n8n-io/n8n",
"version": "n8n@1.120.4", "version": "n8n@1.120.4",
@@ -124,11 +169,6 @@
"version": "v1.5.3", "version": "v1.5.3",
"date": "2025-09-20T12:12:33Z" "date": "2025-09-20T12:12:33Z"
}, },
{
"name": "Jackett/Jackett",
"version": "v0.24.327",
"date": "2025-11-19T05:55:51Z"
},
{ {
"name": "element-hq/synapse", "name": "element-hq/synapse",
"version": "v1.143.0rc1", "version": "v1.143.0rc1",
@@ -139,16 +179,6 @@
"version": "2.1.1", "version": "2.1.1",
"date": "2025-06-14T17:45:06Z" "date": "2025-06-14T17:45:06Z"
}, },
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-19T00:27:10Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{ {
"name": "gtsteffaniak/filebrowser", "name": "gtsteffaniak/filebrowser",
"version": "v1.0.1-stable", "version": "v1.0.1-stable",
@@ -169,11 +199,6 @@
"version": "v3.0.1", "version": "v3.0.1",
"date": "2025-11-18T18:50:35Z" "date": "2025-11-18T18:50:35Z"
}, },
{
"name": "keycloak/keycloak",
"version": "26.4.5",
"date": "2025-11-12T15:24:23Z"
},
{ {
"name": "seerr-team/seerr", "name": "seerr-team/seerr",
"version": "preview-test-fix-subscriptions", "version": "preview-test-fix-subscriptions",
@@ -194,11 +219,6 @@
"version": "8.4.0", "version": "8.4.0",
"date": "2025-11-18T15:06:37Z" "date": "2025-11-18T15:06:37Z"
}, },
{
"name": "fuma-nama/fumadocs",
"version": "create-fumadocs-app@16.0.17",
"date": "2025-11-18T12:28:43Z"
},
{ {
"name": "NginxProxyManager/nginx-proxy-manager", "name": "NginxProxyManager/nginx-proxy-manager",
"version": "v2.13.5", "version": "v2.13.5",
@@ -219,11 +239,6 @@
"version": "coverity-w47-4.14.2", "version": "coverity-w47-4.14.2",
"date": "2025-11-18T07:24:43Z" "date": "2025-11-18T07:24:43Z"
}, },
{
"name": "documenso/documenso",
"version": "v2.0.13",
"date": "2025-11-18T05:59:02Z"
},
{ {
"name": "0xERR0R/blocky", "name": "0xERR0R/blocky",
"version": "v0.28.2", "version": "v0.28.2",
@@ -379,11 +394,6 @@
"version": "v1.43.3", "version": "v1.43.3",
"date": "2025-11-14T19:16:17Z" "date": "2025-11-14T19:16:17Z"
}, },
{
"name": "kimai/kimai",
"version": "2.43.0",
"date": "2025-11-14T17:20:16Z"
},
{ {
"name": "mealie-recipes/mealie", "name": "mealie-recipes/mealie",
"version": "v3.5.0", "version": "v3.5.0",
@@ -1079,16 +1089,6 @@
"version": "2025.09.24", "version": "2025.09.24",
"date": "2025-09-24T13:51:23Z" "date": "2025-09-24T13:51:23Z"
}, },
{
"name": "itsmng/itsm-ng",
"version": "v2.1.0",
"date": "2025-09-22T09:23:37Z"
},
{
"name": "Athou/commafeed",
"version": "5.11.1",
"date": "2025-09-22T02:21:27Z"
},
{ {
"name": "gotify/server", "name": "gotify/server",
"version": "v2.7.3", "version": "v2.7.3",

View File

@@ -71,7 +71,11 @@ export TURBO_CACHE=1
export NEXT_TELEMETRY_DISABLED=1 export NEXT_TELEMETRY_DISABLED=1
export CYPRESS_INSTALL_BINARY=0 export CYPRESS_INSTALL_BINARY=0
export NODE_OPTIONS="--max-old-space-size=4096" export NODE_OPTIONS="--max-old-space-size=4096"
$STD turbo prune --scope=@documenso/remix --docker
cd out
cp -r json/* .
$STD npm ci $STD npm ci
cp -r full/* .
$STD turbo run build --filter=@documenso/remix $STD turbo run build --filter=@documenso/remix
$STD npm run prisma:migrate-deploy $STD npm run prisma:migrate-deploy
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"

View File

@@ -84,6 +84,13 @@ if [[ "$CTTYPE" == "0" && -d /dev/dri ]]; then
fi fi
msg_ok "Dependencies Installed" msg_ok "Dependencies Installed"
msg_info "Installing Mise"
curl -fSs https://mise.jdx.dev/gpg-key.pub | tee /etc/apt/keyrings/mise-archive-keyring.pub 1>/dev/null
echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.pub arch=amd64] https://mise.jdx.dev/deb stable main" | tee /etc/apt/sources.list.d/mise.list
$STD apt update
$STD apt install -y mise
msg_ok "Installed Mise"
read -r -p "${TAB3}Install OpenVINO dependencies for Intel HW-accelerated machine-learning? y/N " prompt read -r -p "${TAB3}Install OpenVINO dependencies for Intel HW-accelerated machine-learning? y/N " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing OpenVINO dependencies" msg_info "Installing OpenVINO dependencies"
@@ -277,6 +284,7 @@ INSTALL_DIR="/opt/${APPLICATION}"
UPLOAD_DIR="${INSTALL_DIR}/upload" UPLOAD_DIR="${INSTALL_DIR}/upload"
SRC_DIR="${INSTALL_DIR}/source" SRC_DIR="${INSTALL_DIR}/source"
APP_DIR="${INSTALL_DIR}/app" APP_DIR="${INSTALL_DIR}/app"
PLUGIN_DIR="${APP_DIR}/corePlugin"
ML_DIR="${APP_DIR}/machine-learning" ML_DIR="${APP_DIR}/machine-learning"
GEO_DIR="${INSTALL_DIR}/geodata" GEO_DIR="${INSTALL_DIR}/geodata"
mkdir -p "$INSTALL_DIR" mkdir -p "$INSTALL_DIR"
@@ -314,7 +322,18 @@ cp LICENSE "$APP_DIR"
$STD pnpm --filter @immich/sdk --filter @immich/cli --frozen-lockfile install $STD pnpm --filter @immich/sdk --filter @immich/cli --frozen-lockfile install
$STD pnpm --filter @immich/sdk --filter @immich/cli build $STD pnpm --filter @immich/sdk --filter @immich/cli build
$STD pnpm --filter @immich/cli --prod --no-optional deploy "$APP_DIR"/cli $STD pnpm --filter @immich/cli --prod --no-optional deploy "$APP_DIR"/cli
msg_ok "Installed Immich Server and Web Components"
# plugins
cd "$SRC_DIR"
$STD mise trust --ignore ./mise.toml
$STD mise trust ./plugins/mise.toml
cd plugins
$STD mise install
$STD mise run build
mkdir -p "$PLUGIN_DIR"
cp -r ./dist "$PLUGIN_DIR"/dist
cp ./manifest.json "$PLUGIN_DIR"
msg_ok "Installed Immich Server, Web and Plugin Components"
cd "$SRC_DIR"/machine-learning cd "$SRC_DIR"/machine-learning
$STD useradd -U -s /usr/sbin/nologin -r -M -d "$INSTALL_DIR" immich $STD useradd -U -s /usr/sbin/nologin -r -M -d "$INSTALL_DIR" immich
@@ -378,6 +397,10 @@ DB_VECTOR_EXTENSION=vectorchord
REDIS_HOSTNAME=127.0.0.1 REDIS_HOSTNAME=127.0.0.1
IMMICH_MACHINE_LEARNING_URL=http://127.0.0.1:3003 IMMICH_MACHINE_LEARNING_URL=http://127.0.0.1:3003
MACHINE_LEARNING_CACHE_FOLDER=${INSTALL_DIR}/cache MACHINE_LEARNING_CACHE_FOLDER=${INSTALL_DIR}/cache
## - For OpenVINO only - uncomment below to increase
## - inference speed while reducing accuracy
## - Default is FP32
# MACHINE_LEARNING_OPENVINO_PRECISION=FP16
IMMICH_MEDIA_LOCATION=${UPLOAD_DIR} IMMICH_MEDIA_LOCATION=${UPLOAD_DIR}
EOF EOF

View File

@@ -13,19 +13,16 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Detecting latest Kasm Workspaces release" msg_info "Installing Docker"
KASM_URL=$( $STD sh <(curl -fsSL https://get.docker.com/)
curl -fsSL "https://www.kasm.com/downloads" \ msg_ok "Installed Docker"
| tr '\n' ' ' \
| grep -oE 'https://kasm-static-content[^"]*kasm_release_[0-9]+\.[0-9]+\.[0-9]+\.[a-z0-9]+\.tar\.gz' \
| head -n 1
)
msg_info "Detecting latest Kasm Workspaces release"
KASM_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_[0-9]+\.[0-9]+\.[0-9]+\.[a-z0-9]+\.tar\.gz' | head -n 1)
if [[ -z "$KASM_URL" ]]; then if [[ -z "$KASM_URL" ]]; then
msg_error "Unable to detect latest Kasm release URL." msg_error "Unable to detect latest Kasm release URL."
exit 1 exit 1
fi fi
KASM_VERSION=$(echo "$KASM_URL" | sed -E 's/.*kasm_release_([0-9]+\.[0-9]+\.[0-9]+).*/\1/') KASM_VERSION=$(echo "$KASM_URL" | sed -E 's/.*kasm_release_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
msg_ok "Detected Kasm Workspaces version $KASM_VERSION" msg_ok "Detected Kasm Workspaces version $KASM_VERSION"

View File

@@ -393,7 +393,7 @@ cleanup_lxc() {
# Python pip # Python pip
if command -v pip &>/dev/null; then $STD pip cache purge || true; fi if command -v pip &>/dev/null; then $STD pip cache purge || true; fi
# Python uv # Python uv
if command -v uv &>/dev/null; then $STD uv cache clear || true; fi if command -v uv &>/dev/null; then $STD uv cache clean || true; fi
# Node.js npm # Node.js npm
if command -v npm &>/dev/null; then $STD npm cache clean --force || true; fi if command -v npm &>/dev/null; then $STD npm cache clean --force || true; fi
# Node.js yarn # Node.js yarn

View File

@@ -42,7 +42,7 @@ function msg_ok() {
function msg_error() { echo -e "${RD}$1${CL}"; } function msg_error() { echo -e "${RD}$1${CL}"; }
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported. # This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
# Supported: Proxmox VE 8.0.x 8.9.x and 9.0 (NOT 9.1+) # Supported: Proxmox VE 8.0.x 8.9.x and 9.09.1.x
pve_check() { pve_check() {
local PVE_VER local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -58,12 +58,12 @@ pve_check() {
return 0 return 0
fi fi
# Check for Proxmox VE 9.x: allow ONLY 9.0 # Check for Proxmox VE 9.x: allow 9.09.1.x
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
local MINOR="${BASH_REMATCH[1]}" local MINOR="${BASH_REMATCH[1]}"
if ((MINOR != 0)); then if ((MINOR < 0 || MINOR > 1)); then
msg_error "This version of Proxmox VE is not yet supported." msg_error "This version of Proxmox VE is not yet supported."
msg_error "Supported: Proxmox VE version 9.0" msg_error "Supported: Proxmox VE version 9.09.1.x"
exit 1 exit 1
fi fi
return 0 return 0
@@ -71,7 +71,7 @@ pve_check() {
# All other unsupported versions # All other unsupported versions
msg_error "This version of Proxmox VE is not supported." msg_error "This version of Proxmox VE is not supported."
msg_error "Supported versions: Proxmox VE 8.0 8.x or 9.0" msg_error "Supported versions: Proxmox VE 8.0 8.9 or 9.09.1.x"
exit 1 exit 1
} }

View File

@@ -88,14 +88,14 @@ main() {
fi fi
start_routines_8 start_routines_8
elif [[ "$PVE_MAJOR" == "9" ]]; then elif [[ "$PVE_MAJOR" == "9" ]]; then
if ((PVE_MINOR != 0)); then if ((PVE_MINOR < 0 || PVE_MINOR > 1)); then
msg_error "Only Proxmox 9.0 is currently supported" msg_error "Only Proxmox 9.0-9.1.x is currently supported"
exit 1 exit 1
fi fi
start_routines_9 start_routines_9
else else
msg_error "Unsupported Proxmox VE major version: $PVE_MAJOR" msg_error "Unsupported Proxmox VE major version: $PVE_MAJOR"
echo -e "Supported: 8.08.9.x and 9.0" echo -e "Supported: 8.08.9.x and 9.09.1.x"
exit 1 exit 1
fi fi
} }