Compare commits

...
Author SHA1 Message Date
github-actions[bot] 512f4ec58f Update CHANGELOG.md 2026-09-22 14:16:42 +00:00
github-actions[bot] 24f0c8379a chore(ct): sync cloudflare-ddns defaults from PocketBase (#17446)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-22 16:16:27 +02:00
community-scripts-pr-app[bot]andGitHub Actions 699aa1b4b8 Update .app files (#17441)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2026-09-22 16:07:59 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] abdc1fb099 Update CHANGELOG.md (#17443)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-22 14:07:00 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 08e6a64bda Update CHANGELOG.md (#17440)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-22 14:06:46 +00:00
CanbiZ (MickLesk) 76b839b04c several scripts: let uv see the project before syncing it | refactor some scripts that use uv (#17436)
* Let uv see the project before syncing it

uv refuses to run when a project pins a required-version it does not
match, in either direction: RomM pins ==0.12.13, which fails against
both the 0.10.3 a container was built with and the 0.12.17 latest
installs.

UV_PROJECT_DIR points setup_uv at the project so it reads that pin. It
is a prefix like PYTHON_VERSION and UV_VERSION, and the call sits
directly under fetch_and_deploy: the project is on disk by then, and
the deploy has closed its message block, which setup_uv needs since it
opens one of its own. That is also the only call needed - nothing
between the old early call and the deploy uses uv or Python, so the two
collapse into one.

Two things found along the way:

UV_PYTHON was set as a command prefix on setup_uv in 14 places. setup_uv
reads PYTHON_VERSION, never UV_PYTHON, and a prefix assignment does not
outlive the call, so those pins did nothing. They now use
PYTHON_VERSION, which installs the interpreter they were asking for.

Five update scripts had no setup_uv at all while their install
counterpart pinned a Python version. They now carry the same pin.

immich is left out: it runs uv through sudo -u inside a retry loop.

* yubal: drop the uv 0.7.19 pin

The pin came in with the script and was never explained. uv 0.7.19 is
from 2025-07-02; yubal's uv.lock has carried revision 3 since at least
2025-12-27, and older uv refuses a newer lockfile revision. The script
runs uv sync --frozen, so there is no fallback.

yubal declares no required-version of its own, so latest is what it
gets - and if it ever pins one, that pin is now honoured.
2026-09-22 16:06:15 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 9f47f1fa03 Update CHANGELOG.md (#17437)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-22 12:31:47 +00:00
CanbiZ (MickLesk) f212f93d89 Stop generating header filenames with a newline in them (#17435)
generate-app-headers.sh read APP with a plain grep -oP, so a script that
sets APP twice yielded both lines and the filename became
"almalinux
almalinux${var_version}vm". Three of those are in the tree
and they make main impossible to check out on Windows.

Nothing reads vm/headers: get_header fetches banners from the core
repo, which already carries clean almalinux, debian and ubuntu.
2026-09-22 14:30:44 +02:00
66 changed files with 95 additions and 90 deletions
+3 -1
View File
@@ -22,7 +22,9 @@ generate_headers() {
for script in "${file_list[@]}"; do
[[ -f "$script" ]] || continue
app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
# -m1: a script that sets APP twice (the second carrying ${var_version})
# otherwise yields both lines, and the filename gets a newline in it.
app_name=$(grep -m1 -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
if [[ -n "$app_name" ]]; then
# core.func/vm-core.func look the header up as "${APP,,}" without spaces,
# so the generated file has to be named after APP - not after the script.
+15 -1
View File
@@ -556,9 +556,23 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- fix(alpine-it-tools): write the version file after a successful update [@Houtek](https://github.com/Houtek) ([#17421](https://github.com/community-scripts/ProxmoxVE/pull/17421))
- Umami: Align pnpm with engines.pnpm on update [@ReneNulschDE](https://github.com/ReneNulschDE) ([#17404](https://github.com/community-scripts/ProxmoxVE/pull/17404))
- #### 🔧 Refactor
- several scripts: let uv see the project before syncing it | refactor some scripts that use uv [@MickLesk](https://github.com/MickLesk) ([#17436](https://github.com/community-scripts/ProxmoxVE/pull/17436))
### 💾 Core
- meilisearch: take the raw binary, not the .deb [@MickLesk](https://github.com/MickLesk) ([core#57](https://github.com/community-scripts/core/pull/57))
- setup_uv: honour a project's required-version pin [@MickLesk](https://github.com/MickLesk) ([core#58](https://github.com/community-scripts/core/pull/58))
- fix(motd): repair legacy 00_lxc-details.sh header and dead color placeholders [@BadFlo](https://github.com/BadFlo) ([core#53](https://github.com/community-scripts/core/pull/53))
- meilisearch: take the raw binary, not the .deb [@MickLesk](https://github.com/MickLesk) ([core#57](https://github.com/community-scripts/core/pull/57))
### 📚 Documentation
- github: Stop generating header filenames with a newline in them [@MickLesk](https://github.com/MickLesk) ([#17435](https://github.com/community-scripts/ProxmoxVE/pull/17435))
### ❔ Uncategorized
- chore(ct): sync cloudflare-ddns defaults with PocketBase [@github-actions[bot]](https://github.com/github-actions[bot]) ([#17446](https://github.com/community-scripts/ProxmoxVE/pull/17446))
## 2026-09-21
+1 -1
View File
@@ -45,7 +45,6 @@ function update_script() {
NODE_VERSION="26" NODE_MODULE=pnpm@12 setup_nodejs
$STD uv cache clean
UV_PYTHON_INSTALL_DIR="/usr/local/bin" PYTHON_VERSION="3.14.7" setup_uv
RUST_PROFILE="minimal" RUST_TOOLCHAIN="stable" setup_rust
setup_yq
@@ -95,6 +94,7 @@ function update_script() {
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "authentik" "goauthentik/authentik" "tarball" "${AUTHENTIK_VERSION}" "/opt/authentik"
UV_PYTHON_INSTALL_DIR="/usr/local/bin" PYTHON_VERSION="3.14.7" UV_PROJECT_DIR="/opt/authentik" setup_uv
GO_VERSION="$(grep -m1 '^go ' /opt/authentik/go.mod | awk '{print $2}')" setup_go
msg_info "Configuring rust"
+1 -2
View File
@@ -31,8 +31,6 @@ function update_script() {
exit
fi
setup_uv
RELEASE=$(get_latest_codeberg_release "gelbphoenix/autocaliweb")
if check_for_codeberg_release "autocaliweb" "gelbphoenix/autocaliweb"; then
msg_info "Stopping Services"
@@ -43,6 +41,7 @@ function update_script() {
export VIRTUAL_ENV="${INSTALL_DIR}/venv"
$STD tar -cf ~/autocaliweb_bkp.tar "$INSTALL_DIR"/{metadata_change_logs,dirs.json,.env,scripts/ingest_watcher.sh,scripts/auto_zipper_wrapper.sh,scripts/metadata_change_detector_wrapper.sh}
fetch_and_deploy_codeberg_release "autocaliweb" "gelbphoenix/autocaliweb" "tarball" "latest" "/opt/autocaliweb"
setup_uv $INSTALL_DIR
msg_info "Updating Autocaliweb"
cd "$INSTALL_DIR"
+1
View File
@@ -39,6 +39,7 @@ function update_script() {
create_backup /opt/baserow/.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "baserow" "baserow/baserow" "tarball"
UV_PROJECT_DIR="/opt/baserow/backend" setup_uv
restore_backup
msg_info "Configuring Baserow"
+1
View File
@@ -40,6 +40,7 @@ function update_script() {
create_backup /opt/beaverhabits/.user
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "beaverhabits" "daya0576/beaverhabits" "tarball"
PYTHON_VERSION="3.14" UV_PROJECT_DIR="/opt/beaverhabits" setup_uv
msg_info "Syncing Dependencies"
cd /opt/beaverhabits
+1
View File
@@ -37,6 +37,7 @@ function update_script() {
msg_ok "Stopped Service"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Byparr" "ThePhaseless/Byparr" "tarball" "latest"
UV_PROJECT_DIR="/opt/Byparr" setup_uv
if ! dpkg -l | grep -q ffmpeg; then
msg_info "Installing dependencies"
+2 -2
View File
@@ -9,8 +9,8 @@ source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_
APP="Cloudflare-DDNS"
var_tags="${var_tags:-network}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
+1 -1
View File
@@ -32,7 +32,6 @@ function update_script() {
exit
fi
setup_uv
NODE_VERSION="24" setup_nodejs
if [[ -f "/etc/nginx/sites-available/dispatcharr.conf" ]] && ! grep -q "real_forwarded_proto" "/etc/nginx/sites-available/dispatcharr.conf"; then
msg_info "Migrating Nginx Configuration"
@@ -146,6 +145,7 @@ EOF
msg_ok "Backup created: $BACKUP_FILE"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr" "tarball"
UV_PROJECT_DIR="/opt/dispatcharr" setup_uv
restore_backup
+1
View File
@@ -39,6 +39,7 @@ function update_script() {
create_backup /opt/fireshare/fireshare.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "fireshare" "ShaneIsrael/fireshare" "tarball"
UV_PROJECT_DIR="/opt/fireshare" setup_uv
restore_backup
rm -f /usr/local/bin/fireshare
+1 -1
View File
@@ -38,10 +38,10 @@ function update_script() {
create_backup /opt/flatnotes/.env /opt/flatnotes/data
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="24" setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" "tarball"
PYTHON_VERSION="3.13" UV_PROJECT_DIR="/opt/flatnotes" setup_uv
restore_backup
+1
View File
@@ -38,6 +38,7 @@ function update_script() {
msg_ok "Stopped Services"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "journiv" "journiv/journiv-app" "tarball"
UV_PROJECT_DIR="/opt/journiv" setup_uv
msg_info "Updating Python Environment"
cd /opt/journiv
+1
View File
@@ -42,6 +42,7 @@ function update_script() {
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "kitchenowl" "TomBursch/kitchenowl" "tarball" "latest" "/opt/kitchenowl"
rm -rf /opt/kitchenowl/web
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "kitchenowl-web" "TomBursch/kitchenowl" "prebuild" "latest" "/opt/kitchenowl/web" "kitchenowl_Web.tar.gz"
PYTHON_VERSION="3.14" UV_PROJECT_DIR="/opt/kitchenowl/backend" setup_uv
restore_backup
sed -i 's/default=True/default=False/' /opt/kitchenowl/backend/wsgi.py
+1
View File
@@ -40,6 +40,7 @@ function update_script() {
create_backup /opt/linkding/data /opt/linkding/.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding" "tarball"
UV_PROJECT_DIR="/opt/linkding" setup_uv
restore_backup
ln -sf /usr/lib/$(arch_resolve "x86_64-linux-gnu" "aarch64-linux-gnu")/mod_icu.so /opt/linkding/libicu.so
+1 -1
View File
@@ -32,7 +32,6 @@ function update_script() {
exit
fi
if check_for_gh_release "mealie" "mealie-recipes/mealie"; then
PYTHON_VERSION="3.12" setup_uv
msg_info "Stopping Service"
systemctl stop mealie
@@ -44,6 +43,7 @@ function update_script() {
msg_ok "Backup completed"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mealie" "mealie-recipes/mealie" "tarball"
PYTHON_VERSION="3.12" UV_PROJECT_DIR="/opt/mealie" setup_uv
msg_info "Restoring Configuration"
mv -f /opt/mealie.env /opt/mealie/mealie.env
+1 -2
View File
@@ -31,14 +31,13 @@ function update_script() {
exit
fi
setup_uv
if check_for_gh_release "mediamanager" "maxdorninger/MediaManager"; then
msg_info "Stopping Service"
systemctl stop mediamanager
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "MediaManager" "maxdorninger/MediaManager" "tarball" "latest" "/opt/mediamanager"
UV_PROJECT_DIR="/opt/mediamanager" setup_uv
msg_info "Updating MediaManager"
MM_DIR="/opt/mm"
export CONFIG_DIR="${MM_DIR}/config"
+1
View File
@@ -53,6 +53,7 @@ function update_script() {
create_backup /opt/metube/.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "metube" "alexta69/metube" "tarball" "latest"
UV_PROJECT_DIR="/opt/metube" setup_uv
restore_backup
+1
View File
@@ -40,6 +40,7 @@ function update_script() {
create_backup /opt/notediscovery/data /opt/notediscovery/config.yaml
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "notediscovery" "gamosoft/NoteDiscovery" "tarball"
UV_PROJECT_DIR="/opt/notediscovery" setup_uv
msg_info "Syncing Dependencies"
cd /opt/notediscovery
+1 -1
View File
@@ -83,13 +83,13 @@ function update_script() {
[[ -f /opt/paperless/paperless.conf ]] && cp /opt/paperless/paperless.conf "$BACKUP_DIR/"
msg_ok "Backup completed to $BACKUP_DIR"
PYTHON_VERSION="3.13" setup_uv
if ((BRIDGE_UPDATE)); then
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "v2.20.15" "/opt/paperless" "paperless*tar.xz"
else
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz"
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jbig2enc" "ie13/jbig2enc" "tarball" "latest" "/opt/jbig2enc"
PYTHON_VERSION="3.13" UV_PROJECT_DIR="/opt/paperless" setup_uv
. /etc/os-release
if [ "$VERSION_CODENAME" = "bookworm" ]; then
+1
View File
@@ -51,6 +51,7 @@ function update_script() {
/opt/romm/frontend/dist/assets/ruffle
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "romm" "rommapp/romm" "tarball" "latest" "/opt/romm"
PYTHON_VERSION="3.13" UV_PROJECT_DIR="/opt/romm" setup_uv
echo "__version__ = \"$(cat ~/.romm)\"" >/opt/romm/backend/__version__.py
find /opt/romm/backend/alembic/versions -maxdepth 1 -type f -name '1.*.py' -delete 2>/dev/null || true
+1 -1
View File
@@ -33,7 +33,6 @@ function update_script() {
fi
NODE_VERSION="24" setup_nodejs
PYTHON_VERSION="3.14" setup_uv
if check_for_gh_release "shelfmark" "calibrain/shelfmark"; then
msg_info "Stopping Service(s)"
@@ -68,6 +67,7 @@ function update_script() {
$STD apt remove -y chromium-driver
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "shelfmark" "calibrain/shelfmark" "tarball" "latest" "/opt/shelfmark"
PYTHON_VERSION="3.14" UV_PROJECT_DIR="/opt/shelfmark" setup_uv
restore_backup
RELEASE_VERSION=$(cat "$HOME/.shelfmark")
+1 -2
View File
@@ -31,8 +31,6 @@ function update_script() {
exit
fi
PYTHON_VERSION="3.14" setup_uv
if check_for_gh_release "spoolman" "Donkie/Spoolman"; then
msg_info "Stopping Service"
systemctl stop spoolman
@@ -41,6 +39,7 @@ function update_script() {
create_backup /opt/spoolman/.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "spoolman" "Donkie/Spoolman" "prebuild" "latest" "/opt/spoolman" "spoolman.zip"
PYTHON_VERSION="3.14" UV_PROJECT_DIR="/opt/spoolman" setup_uv
restore_backup
+1 -2
View File
@@ -32,8 +32,6 @@ function update_script() {
exit
fi
setup_uv
if check_for_gh_release "wizarr" "wizarrrr/wizarr"; then
msg_info "Stopping Service"
systemctl stop wizarr
@@ -46,6 +44,7 @@ function update_script() {
msg_ok "Backup Created"
fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr" "tarball"
UV_PROJECT_DIR="/opt/wizarr" setup_uv
msg_info "Updating Wizarr"
cd /opt/wizarr
+1
View File
@@ -41,6 +41,7 @@ function update_script() {
create_backup /opt/yamtrack/src/.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "yamtrack" "FuzzyGrim/Yamtrack" "tarball"
PYTHON_VERSION="3.12" UV_PROJECT_DIR="/opt/yamtrack" setup_uv
restore_backup
+1
View File
@@ -40,6 +40,7 @@ function update_script() {
msg_ok "Stopped Services"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "yubal" "guillevc/yubal" "tarball" "latest" "/opt/yubal"
PYTHON_VERSION="3.12" UV_PROJECT_DIR="/opt/yubal" setup_uv
msg_info "Building Frontend"
cd /opt/yubal/web
+1 -1
View File
@@ -22,7 +22,7 @@ $STD apt install -y \
python3-dev
msg_ok "Installed Dependencies"
UV_PYTHON="3.12" setup_uv
PYTHON_VERSION="3.12" setup_uv
PG_VERSION="16" setup_postgresql
PG_DB_NAME="airflow" PG_DB_USER="airflow" setup_postgresql_db
+1 -1
View File
@@ -25,7 +25,7 @@ msg_ok "Installed Dependencies"
PG_VERSION="16" setup_postgresql
PG_DB_NAME="audiomuse" PG_DB_USER="audiomuse" setup_postgresql_db
UV_PYTHON="3.12" setup_uv
PYTHON_VERSION="3.12" setup_uv
setup_hwaccel
fetch_and_deploy_gh_release "audiomuse-ai" "NeptuneHub/AudioMuse-AI" "tarball"
+1 -1
View File
@@ -53,7 +53,6 @@ msg_ok "Installed Dependencies"
NODE_VERSION="26" NODE_MODULE=pnpm@12 setup_nodejs
setup_yq
RUST_PROFILE="minimal" RUST_TOOLCHAIN="stable" setup_rust
UV_PYTHON_INSTALL_DIR="/usr/local/bin" PYTHON_VERSION="3.14.7" setup_uv
PG_VERSION="17" setup_postgresql
PG_DB_NAME="authentik" PG_DB_USER="authentik" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
@@ -63,6 +62,7 @@ fetch_and_deploy_gh_release "xmlsec" "lsh123/xmlsec" "tarball" "${XMLSEC_VERSION
fetch_and_deploy_gh_release "authentik" "goauthentik/authentik" "tarball" "${AUTHENTIK_VERSION}" "/opt/authentik"
GO_VERSION="$(grep -m1 '^go ' /opt/authentik/go.mod | awk '{print $2}')" setup_go
fetch_and_deploy_gh_release "geoipupdate" "maxmind/geoipupdate" "binary"
UV_PYTHON_INSTALL_DIR="/usr/local/bin" PYTHON_VERSION="3.14.7" UV_PROJECT_DIR="/opt/authentik" setup_uv
msg_info "Setting up xmlsec"
cd /opt/xmlsec
+1 -2
View File
@@ -54,9 +54,8 @@ $STD /opt/calibre/calibre_postinstall
CALIBRE_VERSION=$(cat ~/.calibre)
msg_ok "Installed Calibre"
setup_uv
fetch_and_deploy_codeberg_release "autocaliweb" "gelbphoenix/autocaliweb" "tarball" "latest" "/opt/autocaliweb"
setup_uv $INSTALL_DIR
msg_info "Configuring Autocaliweb"
INSTALL_DIR="/opt/autocaliweb"
+1 -1
View File
@@ -33,9 +33,9 @@ msg_ok "Installed Dependencies"
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
PG_DB_NAME="baserow" PG_DB_USER="baserow" setup_postgresql_db
NODE_VERSION="24" setup_nodejs
setup_uv
fetch_and_deploy_gh_release "baserow" "baserow/baserow" "tarball"
UV_PROJECT_DIR="/opt/baserow/backend" setup_uv
msg_info "Installing Backend Dependencies"
cd /opt/baserow/backend
+1 -2
View File
@@ -13,9 +13,8 @@ setting_up_container
network_check
update_os
PYTHON_VERSION="3.14" setup_uv
fetch_and_deploy_gh_release "beaverhabits" "daya0576/beaverhabits" "tarball"
PYTHON_VERSION="3.14" UV_PROJECT_DIR="/opt/beaverhabits" setup_uv
msg_info "Installing Dependencies"
cd /opt/beaverhabits
+1 -1
View File
@@ -32,7 +32,7 @@ $STD apt install -y \
sshpass
msg_ok "Installed Dependencies"
UV_PYTHON="3.12" setup_uv
PYTHON_VERSION="3.12" setup_uv
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "borg-ui" "karanhudia/borg-ui" "tarball"
+1 -1
View File
@@ -52,8 +52,8 @@ $STD apt -y install --no-install-recommends \
fonts-tlwg-loma-otf
msg_ok "Installed Dependencies"
setup_uv
fetch_and_deploy_gh_release "Byparr" "ThePhaseless/Byparr" "tarball" "latest"
UV_PROJECT_DIR="/opt/Byparr" setup_uv
msg_info "Configuring Byparr"
cd /opt/Byparr
+1 -1
View File
@@ -34,12 +34,12 @@ $STD apt install -y \
libswscale-dev
msg_ok "Installed Dependencies"
setup_uv
NODE_VERSION="24" setup_nodejs
PG_VERSION="16" setup_postgresql
PG_DB_NAME="dispatcharr_db" PG_DB_USER="dispatcharr_usr" setup_postgresql_db
fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr" "tarball"
fetch_and_deploy_gh_release "Comskip" "erikkaashoek/Comskip" "tarball"
UV_PROJECT_DIR="/opt/dispatcharr" setup_uv
msg_info "Compiling Comskip"
cd /opt/Comskip
+1 -1
View File
@@ -36,7 +36,7 @@ $STD apt install -y \
msg_ok "Installed Dependencies"
NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
UV_PYTHON="3.14" setup_uv
PYTHON_VERSION="3.14" setup_uv
setup_mariadb
msg_info "Configuring MariaDB for ERPNext"
+1
View File
@@ -44,6 +44,7 @@ NODE_VERSION=24 setup_nodejs
PYTHON_VERSION=3.14 setup_uv
fetch_and_deploy_gh_release "fireshare" "ShaneIsrael/fireshare" "tarball"
UV_PROJECT_DIR="/opt/fireshare" setup_uv
msg_info "Compiling SVT-AV1 (Patience)"
cd /tmp
+1
View File
@@ -14,6 +14,7 @@ network_check
update_os
fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" "tarball"
UV_PROJECT_DIR="/opt/flatnotes" setup_uv
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="24" setup_nodejs
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt install -y \
caddy
msg_ok "Installed Dependencies"
UV_PYTHON="3.13" setup_uv
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="20" setup_nodejs
fetch_and_deploy_gh_release "homelable" "Pouzor/homelable" "tarball" "latest" "/opt/homelable"
+1 -1
View File
@@ -30,9 +30,9 @@ msg_ok "Installed Dependencies"
setup_ffmpeg
PG_VERSION="17" setup_postgresql
PG_DB_NAME="journiv" PG_DB_USER="journiv" setup_postgresql_db
UV_PYTHON="3.12" setup_uv
fetch_and_deploy_gh_release "journiv" "journiv/journiv-app" "tarball"
PYTHON_VERSION="3.12" UV_PROJECT_DIR="/opt/journiv" setup_uv
msg_info "Setting up Python Environment"
cd /opt/journiv
+1 -1
View File
@@ -38,10 +38,10 @@ $STD apt install -y \
libicu-dev
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.14" setup_uv
fetch_and_deploy_gh_release "kitchenowl" "TomBursch/kitchenowl" "tarball" "latest" "/opt/kitchenowl"
rm -rf /opt/kitchenowl/web
fetch_and_deploy_gh_release "kitchenowl-web" "TomBursch/kitchenowl" "prebuild" "latest" "/opt/kitchenowl/web" "kitchenowl_Web.tar.gz"
PYTHON_VERSION="3.14" UV_PROJECT_DIR="/opt/kitchenowl/backend" setup_uv
msg_info "Setting up KitchenOwl"
cd /opt/kitchenowl/backend
+1 -1
View File
@@ -18,7 +18,7 @@ setup_meilisearch
PG_VERSION="17" PG_MODULES="pgvector" setup_postgresql
PG_DB_NAME="ragapi" PG_DB_USER="ragapi" PG_DB_EXTENSIONS="vector" setup_postgresql_db
NODE_VERSION="24" setup_nodejs
UV_PYTHON="3.12" setup_uv
PYTHON_VERSION="3.12" setup_uv
fetch_and_deploy_gh_tag "librechat" "danny-avila/LibreChat"
fetch_and_deploy_gh_release "rag-api" "danny-avila/rag_api" "tarball"
+1 -1
View File
@@ -26,8 +26,8 @@ $STD apt install -y \
msg_ok "Installed Dependencies"
NODE_VERSION="22" setup_nodejs
setup_uv
fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding" "tarball"
UV_PROJECT_DIR="/opt/linkding" setup_uv
msg_info "Building Frontend"
cd /opt/linkding
+1 -1
View File
@@ -23,7 +23,7 @@ $STD apt install -y \
iproute2
msg_ok "Installed Dependencies"
UV_PYTHON="3.12" setup_uv
PYTHON_VERSION="3.12" setup_uv
msg_info "Setting up Matter Server"
mkdir -p /opt/matter-server/data/credentials
+1 -1
View File
@@ -27,9 +27,9 @@ $STD apt install -y \
iproute2
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.12" setup_uv
PG_VERSION="16" setup_postgresql
fetch_and_deploy_gh_release "mealie" "mealie-recipes/mealie" "tarball"
PYTHON_VERSION="3.12" UV_PROJECT_DIR="/opt/mealie" setup_uv
PG_DB_NAME="mealie_db" PG_DB_USER="mealie_user" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
if [[ -f /opt/mealie/frontend/pnpm-lock.yaml ]]; then
+1 -1
View File
@@ -20,7 +20,6 @@ fi
setup_yq
NODE_VERSION="24" setup_nodejs
setup_uv
PG_VERSION="17" setup_postgresql
msg_info "Setting up PostgreSQL"
@@ -39,6 +38,7 @@ EOF
msg_ok "Set up PostgreSQL"
fetch_and_deploy_gh_release "MediaManager" "maxdorninger/MediaManager" "tarball" "latest" "/opt/mediamanager"
UV_PROJECT_DIR="/opt/mediamanager" setup_uv
msg_info "Configuring MediaManager"
MM_DIR="/opt/mm"
+1 -1
View File
@@ -22,7 +22,6 @@ $STD apt install -y \
ffmpeg
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="24" NODE_MODULE="corepack,pnpm" setup_nodejs
msg_info "Installing Deno"
@@ -34,6 +33,7 @@ curl -fsSL https://deno.land/install.sh | $STD sh -s -- -y
msg_ok "Installed Deno"
fetch_and_deploy_gh_release "metube" "alexta69/metube" "tarball" "latest"
PYTHON_VERSION="3.13" UV_PROJECT_DIR="/opt/metube" setup_uv
msg_info "Installing MeTube"
cd /opt/metube/ui
+1 -2
View File
@@ -13,9 +13,8 @@ setting_up_container
network_check
update_os
setup_uv
fetch_and_deploy_gh_release "notediscovery" "gamosoft/NoteDiscovery" "tarball"
UV_PROJECT_DIR="/opt/notediscovery" setup_uv
msg_info "Installing Dependencies"
cd /opt/notediscovery
+1 -1
View File
@@ -45,8 +45,8 @@ msg_ok "Installed Dependencies"
PG_VERSION="18" setup_postgresql
PG_DB_NAME="paperlessdb" PG_DB_USER="paperless" setup_postgresql_db
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz"
PYTHON_VERSION="3.13" UV_PROJECT_DIR="/opt/paperless" setup_uv
msg_info "Setup Paperless-ngx"
cd /opt/paperless
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt install -y \
tesseract-ocr
msg_ok "Installed Dependencies"
UV_PYTHON="3.13" setup_uv
PYTHON_VERSION="3.13" setup_uv
msg_info "Setting up pyLoad"
mkdir -p /opt/pyload_data/{userdir,downloads}
+1 -1
View File
@@ -76,7 +76,6 @@ function decodeBase64(r) {
export default { decodeBase64 };
EOF
msg_ok "Installed Angie with mod_zip and njs modules"
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="24" setup_nodejs
setup_mariadb
MARIADB_DB_NAME="romm" MARIADB_DB_USER="romm" setup_mariadb_db
@@ -161,6 +160,7 @@ else
fi
fetch_and_deploy_gh_release "romm" "rommapp/romm" "tarball"
PYTHON_VERSION="3.13" UV_PROJECT_DIR="/opt/romm" setup_uv
echo "__version__ = \"$(cat ~/.romm)\"" >/opt/romm/backend/__version__.py
msg_info "Creating environment file"
+1 -1
View File
@@ -24,7 +24,7 @@ msg_ok "Installed Dependencies"
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
PG_DB_NAME="securo" PG_DB_USER="securo" PG_DB_EXTENSIONS="vector" setup_postgresql_db
NODE_VERSION="22" setup_nodejs
UV_PYTHON="3.12" setup_uv
PYTHON_VERSION="3.12" setup_uv
fetch_and_deploy_gh_release "securo" "securo-finance/securo" "tarball"
+1 -1
View File
@@ -121,9 +121,9 @@ else
fi
NODE_VERSION="24" setup_nodejs
PYTHON_VERSION="3.14" setup_uv
fetch_and_deploy_gh_release "shelfmark" "calibrain/shelfmark" "tarball" "latest" "/opt/shelfmark"
PYTHON_VERSION="3.14" UV_PROJECT_DIR="/opt/shelfmark" setup_uv
RELEASE_VERSION=$(cat "$HOME/.shelfmark")
msg_info "Building Shelfmark frontend"
+1 -1
View File
@@ -22,7 +22,7 @@ $STD apt install -y \
ffmpeg
msg_ok "Installed Dependencies"
UV_PYTHON="3.11" setup_uv
PYTHON_VERSION="3.11" setup_uv
NODE_VERSION="24" setup_nodejs
fetch_and_deploy_gh_release "soulsync" "Nezreka/SoulSync" "tarball"
+1
View File
@@ -22,6 +22,7 @@ $STD apt install -y \
msg_ok "Installed Dependencies"
fetch_and_deploy_gh_release "spoolman" "Donkie/Spoolman" "prebuild" "latest" "/opt/spoolman" "spoolman.zip"
UV_PROJECT_DIR="/opt/spoolman" setup_uv
PYTHON_VERSION="3.14" setup_uv
msg_info "Setting up Spoolman"
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt install -y build-essential
msg_ok "Installed Dependencies"
UV_PYTHON="3.12" setup_uv
PYTHON_VERSION="3.12" setup_uv
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "suggestarr" "giuseppe99barchetta/SuggestArr" "tarball"
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
UV_PYTHON="3.13" setup_uv
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="25" setup_nodejs
setup_ffmpeg
setup_gs
+1 -1
View File
@@ -34,7 +34,7 @@ $STD apt install -y \
pkg-config
msg_ok "Installed Dependencies"
UV_PYTHON="3.13" setup_uv
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="24" setup_nodejs
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-$(arch_resolve "x86_64" "aarch64")-unknown-linux-gnu.zip"
+1 -1
View File
@@ -17,10 +17,10 @@ msg_info "Installing Dependencies"
$STD apt install -y sqlite3
msg_ok "Installed Dependencies"
setup_uv
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr" "tarball"
UV_PROJECT_DIR="/opt/wizarr" setup_uv
msg_info "Configure Wizarr"
cd /opt/wizarr
+1 -1
View File
@@ -21,9 +21,9 @@ msg_ok "Installed Dependencies"
PG_VERSION="16" setup_postgresql
PG_DB_NAME="yamtrack" PG_DB_USER="yamtrack" setup_postgresql_db
PYTHON_VERSION="3.12" setup_uv
fetch_and_deploy_gh_release "yamtrack" "FuzzyGrim/Yamtrack" "tarball"
PYTHON_VERSION="3.12" UV_PROJECT_DIR="/opt/yamtrack" setup_uv
msg_info "Installing Python Dependencies"
cd /opt/yamtrack
+1 -2
View File
@@ -30,8 +30,6 @@ ln -sf /opt/bun/bin/bun /usr/local/bin/bun
ln -sf /opt/bun/bin/bunx /usr/local/bin/bunx
msg_ok "Installed Bun"
UV_VERSION="0.7.19" PYTHON_VERSION="3.12" setup_uv
msg_info "Installing Deno"
$STD sh -c "curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh -s -- -y"
msg_ok "Installed Deno"
@@ -43,6 +41,7 @@ mkdir -p /opt/yubal \
msg_ok "Created directories"
fetch_and_deploy_gh_release "yubal" "guillevc/yubal" "tarball" "latest" "/opt/yubal"
PYTHON_VERSION="3.12" UV_PROJECT_DIR="/opt/yubal" setup_uv
msg_info "Building Frontend"
cd /opt/yubal/web
+6
View File
@@ -0,0 +1,6 @@
___ __ __ _
/ | / /___ ___ ____ _/ / (_)___ __ ___ __
/ /| | / / __ `__ \/ __ `/ / / / __ \/ / / / |/_/
/ ___ |/ / / / / / / /_/ / /___/ / / / / /_/ /> <
/_/ |_/_/_/ /_/ /_/\__,_/_____/_/_/ /_/\__,_/_/|_|
@@ -1,12 +0,0 @@
___ __ __ _
/ | / /___ ___ ____ _/ / (_)___ __ ___ __
/ /| | / / __ `__ \/ __ `/ / / / __ \/ / / / |/_/
/ ___ |/ / / / / / / /_/ / /___/ / / / / /_/ /> <
/_/ |_/_/_/ /_/ /_/\__,_/_____/_/_/ /_/\__,_/_/|_|
___ __ __ _ __ __ _ _ _ ____ ___
/ | / /___ ___ ____ _/ / (_)___ __ ___ __ _/ / _/_/ ______ _______ _____ __________(_)___ ____ | | | | / / |/ /
/ /| | / / __ `__ \/ __ `/ / / / __ \/ / / / |/_/ / __//_/| | / / __ `/ ___/ | / / _ \/ ___/ ___/ / __ \/ __ \ / / | | / / /|_/ /
/ ___ |/ / / / / / / /_/ / /___/ / / / / /_/ /> < (_ < < | |/ / /_/ / / | |/ / __/ / (__ ) / /_/ / / / /_>_> | |/ / / / /
/_/ |_/_/_/ /_/ /_/\__,_/_____/_/_/ /_/\__,_/_/|_| / _// / |___/\__,_/_/____|___/\___/_/ /____/_/\____/_/ /_//_/ |___/_/ /_/
/_/ \_\ /_____/ /_/
+6
View File
@@ -0,0 +1,6 @@
____ __ _
/ __ \___ / /_ (_)___ _____
/ / / / _ \/ __ \/ / __ `/ __ \
/ /_/ / __/ /_/ / / /_/ / / / /
/_____/\___/_.___/_/\__,_/_/ /_/
-12
View File
@@ -1,12 +0,0 @@
____ __ _
/ __ \___ / /_ (_)___ _____
/ / / / _ \/ __ \/ / __ `/ __ \
/ /_/ / __/ /_/ / / /_/ / / / /
/_____/\___/_.___/_/\__,_/_/ /_/
____ __ _ __ __ _ _
/ __ \___ / /_ (_)___ _____ _/ / _/_/ ______ _______ _____ __________(_)___ ____ | |
/ / / / _ \/ __ \/ / __ `/ __ \ / __//_/| | / / __ `/ ___/ | / / _ \/ ___/ ___/ / __ \/ __ \ / /
/ /_/ / __/ /_/ / / /_/ / / / / (_ < < | |/ / /_/ / / | |/ / __/ / (__ ) / /_/ / / / /_>_>
/_____/\___/_.___/_/\__,_/_/ /_/ / _// / |___/\__,_/_/____|___/\___/_/ /____/_/\____/_/ /_//_/
/_/ \_\ /_____/ /_/
+6
View File
@@ -0,0 +1,6 @@
__ ____ __
/ / / / /_ __ ______ / /___ __
/ / / / __ \/ / / / __ \/ __/ / / /
/ /_/ / /_/ / /_/ / / / / /_/ /_/ /
\____/_.___/\__,_/_/ /_/\__/\__,_/
-12
View File
@@ -1,12 +0,0 @@
__ ____ __
/ / / / /_ __ ______ / /___ __
/ / / / __ \/ / / / __ \/ __/ / / /
/ /_/ / /_/ / /_/ / / / / /_/ /_/ /
\____/_.___/\__,_/_/ /_/\__/\__,_/
__ ____ __ __ __ _ _ _ ____ ___
/ / / / /_ __ ______ / /___ __ _/ / _/_/ ______ _______ _____ __________(_)___ ____ | | | | / / |/ /
/ / / / __ \/ / / / __ \/ __/ / / / / __//_/| | / / __ `/ ___/ | / / _ \/ ___/ ___/ / __ \/ __ \ / / | | / / /|_/ /
/ /_/ / /_/ / /_/ / / / / /_/ /_/ / (_ < < | |/ / /_/ / / | |/ / __/ / (__ ) / /_/ / / / /_>_> | |/ / / / /
\____/_.___/\__,_/_/ /_/\__/\__,_/ / _// / |___/\__,_/_/____|___/\___/_/ /____/_/\____/_/ /_//_/ |___/_/ /_/
/_/ \_\ /_____/ /_/