Compare commits

...
Author SHA1 Message Date
MickLesk 8ab8a4cb1c Generate the NPM admin config and repair certbot's venv on update
2.16.0 ships production.conf only as a template that its s6 prepare step renders,
so installs outside Docker never listened on 81; render it on install, on update
while keeping a custom admin port, and on update for containers already stuck on
2.16.0. Certbot's upgrade died on a dist-info without RECORD, which pip's own
--ignore-installed hint does not clear, so drop such records before upgrading.
2026-09-26 20:44:07 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 76a09f5ad9 Update CHANGELOG.md (#17521)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-26 17:08:54 +00:00
CanbiZ (MickLesk)andpavlojs 91bccdacd3 Semaphore: fix BoltDB migration by pinning 2.18.30 (#17439)
* Fix Semaphore BoltDB migration

* Update ct/semaphore.sh

Co-authored-by: pavlojs <63199635+pavlojs@users.noreply.github.com>

---------

Co-authored-by: pavlojs <63199635+pavlojs@users.noreply.github.com>
2026-09-26 19:08:26 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 9e39761415 Update CHANGELOG.md (#17513)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 19:27:29 +00:00
community-scripts-pr-app[bot]andGitHub Actions d439341c7a Update .app files (#17509)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2026-09-25 21:26:18 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 432d56b887 Update CHANGELOG.md (#17511)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 19:09:49 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] ab02d929c3 Update CHANGELOG.md (#17510)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 19:09:29 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 8f0bcf9fe9 Update CHANGELOG.md (#17508)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 19:09:18 +00:00
CanbiZ (MickLesk) 89671ce007 Take the Obsidian version from the Ignis release tag (#17503)
Upstream renamed OBSIDIAN_VERSION in its Dockerfile to IGNIS_OBSIDIAN_PIN, so the
grep matched nothing - and under pipefail the assignment itself aborts, which is why
the fallback on the next line never ran. The tag already carries the pairing
(0.8.13+obsidian.1.13.7), so read it there and keep both Dockerfile keys as a
fallback.
2026-09-25 21:09:05 +02:00
CanbiZ (MickLesk) 28aa1bdbee Refactor: Umbrel OS VM (#17505)
Refactor Umbrel OS VM script to improve structure and readability. Update function calls and variable handling for better maintainability.
2026-09-25 21:08:49 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 0993068f56 Update CHANGELOG.md (#17504)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 16:25:09 +00:00
push-app-to-main[bot]andCanbiZ c7a9a32693 RustFS (#17499)
* Add rustfs (ct)

* update

* Aktualisieren von rustfs-install.sh

* Uncomment var_arm64 variable assignment

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-09-25 18:24:39 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 01be93e721 Update CHANGELOG.md (#17494)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 09:10:26 +00:00
CanbiZ (MickLesk) d7a3386dab Docker-LXC: remove Portainer installation from install (#17493)
* Docker-LXC: remove Portainer installation from install

Removed Portainer installation prompts and related code.

* Remove Portainer installation instructions from docker.sh

Removed instructions for installing Portainer as an addon.
2026-09-25 11:09:54 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 8e51b22e8b Update CHANGELOG.md (#17492)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 06:19:05 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] f7b0e066a0 Update CHANGELOG.md (#17491)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-25 06:18:37 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] ac44688925 Update CHANGELOG.md (#17490)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-24 20:20:48 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 25c9f5a142 Update CHANGELOG.md (#17489)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-24 20:20:36 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] d376f6a92e Update CHANGELOG.md (#17488)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-24 20:20:19 +00:00
CanbiZ (MickLesk) 037e55256c Journiv: Serve Node Frontend and add HTTP Auth .env (#17479)
* Let Journiv start over plain HTTP

* Build the Journiv frontend

* Return to the project root before alembic
2026-09-24 22:20:12 +02:00
CanbiZ (MickLesk) 26c3bb9325 Declare the RomM filesystem structure required since 5.3.0 (#17480) 2026-09-24 22:19:52 +02:00
MickLesk c69359d704 rm unneeded link 2026-09-24 12:23:17 +02:00
MickLesk 04fd8481f5 quickfix ln in immich update, Fixes #17482 2026-09-24 11:29:18 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 03702ce31a Update CHANGELOG.md (#17475)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-24 06:44:33 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] e38cc1c631 Update CHANGELOG.md (#17474)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-24 06:07:14 +00:00
CanbiZ (MickLesk) b855a5782a Use apt_update_safe instead of aborting on a failed apt update (#17462) 2026-09-24 08:06:49 +02:00
167 changed files with 544 additions and 802 deletions
+48
View File
@@ -546,6 +546,54 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-09-26
### 🚀 Updated Scripts
- #### 💥 Breaking Changes
- Semaphore: fix BoltDB migration by pinning 2.18.30 [@MickLesk](https://github.com/MickLesk) ([#17439](https://github.com/community-scripts/ProxmoxVE/pull/17439))
## 2026-09-25
### 🆕 New Scripts
- RustFS ([#17499](https://github.com/community-scripts/ProxmoxVE/pull/17499))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Ignis: take the Obsidian version from release tag [@MickLesk](https://github.com/MickLesk) ([#17503](https://github.com/community-scripts/ProxmoxVE/pull/17503))
- #### 🔧 Refactor
- Refactor: Umbrel OS VM [@MickLesk](https://github.com/MickLesk) ([#17505](https://github.com/community-scripts/ProxmoxVE/pull/17505))
- Docker-LXC: remove Portainer installation from install [@MickLesk](https://github.com/MickLesk) ([#17493](https://github.com/community-scripts/ProxmoxVE/pull/17493))
### 💾 Core
- Incus: make prompts visible for end-user [@MickLesk](https://github.com/MickLesk) ([core#73](https://github.com/community-scripts/core/pull/73))
- incus: do not let an install script block on an invisible prompt [@MickLesk](https://github.com/MickLesk) ([core#71](https://github.com/community-scripts/core/pull/71))
- tel: report progress from installs only, not updates [@MickLesk](https://github.com/MickLesk) ([core#72](https://github.com/community-scripts/core/pull/72))
## 2026-09-24
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Declare the RomM filesystem structure required since 5.3.0 [@MickLesk](https://github.com/MickLesk) ([#17480](https://github.com/community-scripts/ProxmoxVE/pull/17480))
- general: use apt_update_safe instead of aborting on a failed apt update [@MickLesk](https://github.com/MickLesk) ([#17462](https://github.com/community-scripts/ProxmoxVE/pull/17462))
- #### 🔧 Refactor
- Journiv: Serve Node Frontend and add HTTP Auth .env [@MickLesk](https://github.com/MickLesk) ([#17479](https://github.com/community-scripts/ProxmoxVE/pull/17479))
### 💾 Core
- core: accept an off-subnet gateway for /31 and /32 [@MickLesk](https://github.com/MickLesk) ([core#70](https://github.com/community-scripts/core/pull/70))
## 2026-09-23
### 🚀 Updated Scripts
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
setup_mariadb
if check_for_gh_release "2fauth" "Bubka/2FAuth"; then
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_info "Creating Backup"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating Apache Cassandra"
$STD apt update
apt_update_safe
$STD apt install -y --only-upgrade cassandra cassandra-tools
msg_ok "Updated Apache Cassandra"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating Apache CouchDB"
$STD apt-get update
apt_update_safe
$STD apt-get install -y --only-upgrade couchdb
msg_ok "Updated Apache CouchDB"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating Apt-Cacher-NG"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated Apt-Cacher-NG"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating Aria2"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated Aria2"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating AudiobookShelf"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated AudiobookShelf"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -34,7 +34,7 @@ function update_script() {
fi
if check_for_gh_release "authelia" "authelia/authelia"; then
$STD apt update
apt_update_safe
$STD apt -y upgrade
fetch_and_deploy_gh_release "authelia" "authelia/authelia" "binary"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -39,7 +39,7 @@ Package: bunkerweb
Pin: version ${RELEASE}
Pin-Priority: 1001
EOF
$STD apt update
apt_update_safe
$STD apt-mark unhold bunkerweb nginx
$STD apt install -y --allow-downgrades bunkerweb="${RELEASE}"
msg_ok "Updated BunkerWeb"
+1 -1
View File
@@ -40,7 +40,7 @@ update_deb_based() {
fi
msg_info "Updating Caddy LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Caddy LXC"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt-get update
apt_update_safe
$STD apt-get -y upgrade
msg_ok "Updated ${APP} LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated ${APP} LXC"
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating ddclient"
$STD apt update
apt_update_safe
$STD apt install --only-upgrade -y ddclient
$STD systemctl restart ddclient
msg_ok "Updated ddclient"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating deCONZ"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated deCONZ"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating Defguard"
$STD apt update
apt_update_safe
$STD apt install -y defguard defguard-proxy
msg_ok "Updated Defguard"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating Deluge"
ensure_dependencies python3-setuptools
$STD apt update
apt_update_safe
$STD pip3 install deluge[all] "pyopenssl<25" --upgrade
msg_ok "Updated Deluge"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
exit
fi
msg_info "Updating Devuan LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated Devuan LXC"
exit
+1 -3
View File
@@ -36,7 +36,7 @@ catch_errors
update_deb_based() {
msg_info "Updating base system"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Base system updated"
@@ -73,5 +73,3 @@ description
msg_ok "Completed successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Portainer is available as a separate addon. Install it with:${CL}"
echo -e "${GATEWAY}${BGN}bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/portainer.sh)\"${CL}"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt-get update
apt_update_safe
$STD apt-get -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -37,7 +37,7 @@ function update_script() {
msg_ok "Service stopped"
msg_info "Updating Debian LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Debian LXC"
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating ${APP}"
$STD apt update
apt_update_safe
$STD apt install -y elasticsearch
msg_ok "Updated ${APP}"
+1 -1
View File
@@ -34,7 +34,7 @@ function update_script() {
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
msg_info "Updating LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated LXC"
+1 -1
View File
@@ -40,7 +40,7 @@ function update_script() {
"main"
fi
msg_info "Updating evcc LXC"
$STD apt update
apt_update_safe
$STD apt --only-upgrade install -y evcc
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating FHEM"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated FHEM"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating GitLab (Patience)"
$STD apt update
apt_update_safe
$STD apt install -y gitlab-ce
msg_ok "Updated GitLab"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -49,7 +49,7 @@ update_deb_based() {
fi
msg_info "Updating Grafana LXC"
$STD apt update
apt_update_safe
$STD apt --only-upgrade install -y grafana
msg_ok "Updated successfully!"
}
+3 -3
View File
@@ -43,17 +43,17 @@ function update_script() {
MONGO_VERSION="8.2" setup_mongodb
msg_info "Updating Graylog"
$STD apt update
apt_update_safe
$STD apt upgrade -y
curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.deb" -o "graylog-7.0-repository_latest.deb"
$STD dpkg -i graylog-7.0-repository_latest.deb
$STD apt update
apt_update_safe
ensure_dependencies graylog-server graylog-datanode
rm -f graylog-7.0-repository_latest.deb
msg_ok "Updated Graylog"
elif dpkg --compare-versions "$CURRENT_VERSION" ge "7.0"; then
msg_info "Updating Graylog"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Graylog"
fi
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating ${APP}"
$STD apt update
apt_update_safe
$STD apt install -y haproxy
msg_ok "Updated ${APP}"
+6
View File
@@ -0,0 +1,6 @@
____ __ ___________
/ __ \__ _______/ /_/ ____/ ___/
/ /_/ / / / / ___/ __/ /_ \__ \
/ _, _/ /_/ (__ ) /_/ __/ ___/ /
/_/ |_|\__,_/____/\__/_/ /____/
+1 -1
View File
@@ -63,7 +63,7 @@ EOF
fi
msg_info "Updating Nodejs"
$STD apt update
apt_update_safe
$STD apt upgrade nodejs -y
msg_ok "Updated Nodejs"
+1 -1
View File
@@ -63,7 +63,7 @@ function update_script() {
fi
if [ "$UPD" == "3" ]; then
msg_info "Installing Home Assistant Community Store (HACS)"
$STD apt update
apt_update_safe
cd /var/lib/docker/volumes/hass_config/_data
$STD bash <(curl -fsSL https://get.hacs.xyz)
msg_ok "Installed Home Assistant Community Store (HACS)"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt install -y homebridge
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt install -y hyperion
msg_ok "Updated successfully!"
exit
+8 -3
View File
@@ -49,9 +49,14 @@ function update_script() {
msg_ok "Built Ignis"
msg_info "Checking Obsidian Web Assets"
OBSIDIAN_VERSION=$(grep -oP 'OBSIDIAN_VERSION=\K[0-9.]+' /opt/ignis/apps/ignis-server/Dockerfile | head -n1)
[[ -z "$OBSIDIAN_VERSION" ]] && OBSIDIAN_VERSION="$(cat /opt/ignis_data/obsidian.version 2>/dev/null)"
if [[ -n "$OBSIDIAN_VERSION" && "$OBSIDIAN_VERSION" != "$(cat /opt/ignis_data/obsidian.version 2>/dev/null)" ]]; then
# From the release tag (0.8.13+obsidian.1.13.7): upstream renamed the Dockerfile variable.
OBSIDIAN_VERSION=""
[[ "${IGNIS_BUILD:-}" == *obsidian.* ]] && OBSIDIAN_VERSION="${IGNIS_BUILD##*obsidian.}"
if [[ ! "$OBSIDIAN_VERSION" =~ ^[0-9]+(\.[0-9]+)+$ ]]; then
OBSIDIAN_VERSION="$(grep -ohP '(OBSIDIAN_VERSION|IGNIS_OBSIDIAN_PIN)=\K[0-9.]+' /opt/ignis/apps/ignis-server/Dockerfile 2>/dev/null | head -n1 || true)"
fi
[[ "$OBSIDIAN_VERSION" =~ ^[0-9]+(\.[0-9]+)+$ ]] || msg_warn "Could not determine the paired Obsidian version - keeping the installed assets"
if [[ "$OBSIDIAN_VERSION" =~ ^[0-9]+(\.[0-9]+)+$ && "$OBSIDIAN_VERSION" != "$(cat /opt/ignis_data/obsidian.version 2>/dev/null)" ]]; then
rm -rf /opt/ignis_data/obsidian-app
mkdir -p /opt/ignis_data/obsidian-app
curl -fsSL -o /tmp/obsidian.asar.gz "https://github.com/obsidianmd/obsidian-releases/releases/download/v${OBSIDIAN_VERSION}/obsidian-${OBSIDIAN_VERSION}.asar.gz"
+2 -4
View File
@@ -56,7 +56,7 @@ Pin:release a=testing
Pin-Priority: 450
EOF
[[ -f /etc/apt/preferences.d/immich ]] && rm /etc/apt/preferences.d/immich
$STD apt update
apt_update_safe
msg_ok "Added Debian Testing repo"
fi
@@ -193,8 +193,6 @@ EOF
export SHARP_FORCE_GLOBAL_LIBVIPS=true
$STD pnpm --dir "$APP_DIR/node_modules/sharp" exec npm run build
ln -sfn "$GEO_DIR" "$APP_DIR/geodata"
# Patch helmet.json: disable upgrade-insecure-requests for HTTP access
if [[ -f "$APP_DIR/helmet.json" ]]; then
jq '.contentSecurityPolicy.directives["upgrade-insecure-requests"] = null' "$APP_DIR/helmet.json" >"$APP_DIR/helmet.json.tmp" && mv "$APP_DIR/helmet.json.tmp" "$APP_DIR/helmet.json"
@@ -325,7 +323,7 @@ EOF
[[ ! -f "$GEO_DIR/countryInfo.txt" ]] && curl_with_retry "https://download.geonames.org/export/dump/countryInfo.txt" "countryInfo.txt"
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"
ln -sfn "$GEO_DIR" "$APP_DIR/geodata"
[[ ! -f /usr/bin/immich ]] && ln -sf "$APP_DIR"/cli/bin/immich /usr/bin/immich
[[ ! -f /usr/bin/immich-admin ]] && ln -sf "$APP_DIR"/bin/immich-admin /usr/bin/immich-admin
+1 -1
View File
@@ -42,7 +42,7 @@ function update_script() {
msg_ok "Created backup"
msg_info "Updating Infisical"
$STD apt update
apt_update_safe
$STD apt install -y infisical-core
$STD infisical-ctl reconfigure
msg_ok "Updated Infisical"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating InfluxDB"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated InfluxDB"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -38,7 +38,7 @@ function update_script() {
fi
msg_info "Updating InvenTree"
$STD apt update
apt_update_safe
$STD apt install --only-upgrade inventree -y
msg_ok "Updated InvenTree"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -34,7 +34,7 @@ function update_script() {
NODE_VERSION="24" NPM_VERSION="11" setup_nodejs
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -34,7 +34,7 @@ function update_script() {
setup_mariadb
msg_info "Updating ITSM-NG"
$STD apt update
apt_update_safe
$STD apt -y upgrade
chown -R www-data:www-data /var/lib/itsm-ng
mkdir -p /usr/share/itsm-ng/css/palettes
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating Container OS"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated Container OS"
+1 -1
View File
@@ -34,7 +34,7 @@ function update_script() {
JAVA_VERSION="21" setup_java
msg_info "Updating Jenkins"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Jenkins"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -41,7 +41,7 @@ function update_script() {
fi
msg_info "Updating Jitsi Meet"
$STD apt update
apt_update_safe
$STD apt install -y --only-upgrade \
jitsi-meet \
jicofo \
+11
View File
@@ -45,6 +45,17 @@ function update_script() {
$STD uv sync --locked --no-editable --no-install-project
msg_ok "Updated Python Environment"
NODE_VERSION="24" setup_nodejs
msg_info "Building Frontend"
cd /opt/journiv/frontend
$STD npm ci
$STD npm run build
cd /opt/journiv
msg_ok "Built Frontend"
grep -q '^ALLOW_INSECURE_COOKIE_AUTH_OVER_HTTP=' /opt/journiv.env ||
echo 'ALLOW_INSECURE_COOKIE_AUTH_OVER_HTTP=true' >>/opt/journiv.env
msg_info "Running Database Migrations"
set -a
source /opt/journiv.env
+1 -1
View File
@@ -44,7 +44,7 @@ function update_script() {
msg_ok "Stopped Service"
msg_info "Updating packages"
$STD apt-get update
apt_update_safe
$STD apt-get -y upgrade
msg_ok "Updated packages"
+1 -1
View File
@@ -35,7 +35,7 @@ function update_script() {
CURRENT=$(dpkg-query -W -f='${Version}' kiwix-tools 2>/dev/null)
msg_info "Updating Package Index"
$STD apt update
apt_update_safe
msg_ok "Updated Package Index"
CANDIDATE=$(apt-cache policy kiwix-tools | awk '/Candidate:/{print $2}')
+1 -1
View File
@@ -38,7 +38,7 @@ function update_script() {
msg_info "Stopped Service"
msg_info "Updating Container"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Container"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating lldap"
$STD apt update
apt_update_safe
$STD apt upgrade -y lldap
msg_ok "Updated lldap"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -51,7 +51,7 @@ update_deb_based() {
msg_ok "Stopped Loki"
msg_info "Updating Loki"
$STD apt update
apt_update_safe
$STD apt install -y --only-upgrade loki
msg_ok "Updated Loki"
+1 -1
View File
@@ -40,7 +40,7 @@ update_deb_based() {
fi
setup_mariadb
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
}
+1 -1
View File
@@ -30,7 +30,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
$STD apt update
apt_update_safe
$STD apt upgrade -y
NODE_VERSION="24" NODE_MODULE="matterbridge" setup_nodejs
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -37,7 +37,7 @@ function update_script() {
msg_ok "Stopped Service"
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated ${APP} LXC"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating MongoDB LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -41,7 +41,7 @@ function update_script() {
fi
msg_info "Updating MQTT"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -40,7 +40,7 @@ function update_script() {
create_backup /etc/mumble/mumble-server.ini /var/lib/mumble-server/mumble-server.sqlite
msg_info "Updating Mumble"
$STD apt update
apt_update_safe
$STD apt install -y mumble-server
cat <<EOF >~/.mumble
$(get_latest_github_release "mumble-voip/mumble")
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
JAVA_VERSION="21" setup_java
msg_info "Updating ${APP}"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -34,7 +34,7 @@ function update_script() {
fi
msg_info "Updating Netbird"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -37,7 +37,7 @@ function update_script() {
msg_ok "Stopped Service"
msg_info "Updating LXC packages"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated LXC packages"
+12
View File
@@ -118,10 +118,18 @@ EOF
$STD "$CERTBOT_PYTHON" -m ensurepip --upgrade
fi
$STD "$CERTBOT_PYTHON" -m pip install --upgrade pip setuptools wheel
find /opt/certbot/lib/python3*/site-packages -maxdepth 1 -name '*.dist-info' -type d ! -exec test -e '{}/RECORD' ';' -exec rm -rf '{}' + 2>/dev/null || true
$STD "$CERTBOT_PYTHON" -m pip install --upgrade certbot certbot-dns-cloudflare
msg_ok "Updated Certbot"
fi
if [[ -f /etc/nginx/conf.d/production.conf.template && ! -f /etc/nginx/conf.d/production.conf ]]; then
msg_info "Restoring Admin Interface"
sed 's/{{NPM_ADMIN_PORT}}/81/g' /etc/nginx/conf.d/production.conf.template >/etc/nginx/conf.d/production.conf
systemctl restart openresty
msg_ok "Restored Admin Interface"
fi
if check_for_gh_release "nginxproxymanager" "NginxProxyManager/nginx-proxy-manager"; then
msg_info "Stopping Services"
systemctl stop openresty
@@ -159,6 +167,10 @@ EOF
cp /opt/nginxproxymanager/docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager
ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf
rm -f /etc/nginx/conf.d/dev.conf
if [[ -f /etc/nginx/conf.d/production.conf.template ]]; then
ADMIN_PORT=$(grep -oP '^\s*listen\s+\K[0-9]+(?=\s+default)' /etc/nginx/conf.d/production.conf 2>/dev/null | head -n1 || true)
sed "s/{{NPM_ADMIN_PORT}}/${ADMIN_PORT:-81}/g" /etc/nginx/conf.d/production.conf.template >/etc/nginx/conf.d/production.conf
fi
mkdir -p /tmp/nginx/body \
/run/nginx \
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating Notifiarr"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Notifiarr"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -54,7 +54,7 @@ update_deb_based() {
fi
msg_info "Updating ntfy"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated ntfy"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating ntopng"
$STD apt update
apt_update_safe
$STD apt install -y ntopng
msg_ok "Updated ntopng"
+1 -1
View File
@@ -41,7 +41,7 @@ function update_script() {
fi
msg_info "Updating NZBGet"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated NZBGet"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -39,7 +39,7 @@ function update_script() {
create_backup /var/lib/couchdb /opt/couchdb/etc/local.d/obsidian-livesync.ini /opt/obsidian-livesync/.env
msg_info "Updating Container OS"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Container OS"
+1 -1
View File
@@ -39,7 +39,7 @@ function update_script() {
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating OnlyOffice Document Server"
$STD apt update
apt_update_safe
$STD apt -y --only-upgrade install onlyoffice-documentserver
msg_ok "Updated OnlyOffice Document Server"
+1 -1
View File
@@ -39,7 +39,7 @@ function update_script() {
msg_ok "Stopped services"
msg_info "Updating packages"
$STD apt-get update
apt_update_safe
$STD apt-get dist-upgrade -y
ensure_dependencies "inotify-tools"
msg_ok "Updated packages"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating OpenProject"
$STD apt update
apt_update_safe
$STD apt install --only-upgrade -y openproject
msg_ok "Updated OpenProject"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating Orb"
$STD apt update
apt_update_safe
$STD apt install -y --only-upgrade orb
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -33,7 +33,7 @@ function update_script() {
fi
msg_info "Updating ${APP}"
$STD apt update
apt_update_safe
$STD apt install -y ot-recorder
msg_ok "Updated ${APP}"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
setup_mariadb
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated $APP LXC"
exit
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating PiHole"
set +e
$STD apt update
apt_update_safe
$STD apt upgrade -y
/usr/local/bin/pihole -up
msg_ok "Updated PiHole"
+1 -1
View File
@@ -79,7 +79,7 @@ function update_script() {
fi
msg_info "Updating Plex Media Server"
$STD apt update
apt_update_safe
$STD apt install -y plexmediaserver
msg_ok "Updated Plex Media Server"
+2 -2
View File
@@ -38,7 +38,7 @@ function update_script() {
if [ "$UPD" == "1" ]; then
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated successfully!"
@@ -59,7 +59,7 @@ function update_script() {
fi
if [ "$UPD" == "2" ]; then
msg_info "Installing Home Assistant Community Store (HACS)"
$STD apt update
apt_update_safe
cd /var/lib/containers/storage/volumes/hass_config/_data
$STD bash <(curl -fsSL https://get.hacs.xyz)
msg_ok "Installed Home Assistant Community Store (HACS)"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated successfully!"
exit
+1 -1
View File
@@ -39,7 +39,7 @@ update_deb_based() {
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated successfully!"
}
+1 -1
View File
@@ -46,7 +46,7 @@ function update_script() {
fi
msg_info "Updating PowerDNS"
$STD apt update
apt_update_safe
$STD apt install -y --only-upgrade pdns-server pdns-backend-sqlite3
msg_ok "Updated PowerDNS"
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+2 -2
View File
@@ -36,7 +36,7 @@ function update_script() {
echo "deb [signed-by=/usr/share/keyrings/proxmox-archive-keyring.gpg] http://download.proxmox.com/debian/pdm bookworm pdm-test" >/etc/apt/sources.list.d/pdm-test.list
curl -fsSL https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -o /usr/share/keyrings/proxmox-archive-keyring.gpg
rm -f /etc/apt/keyrings/proxmox-release-bookworm.gpg /etc/apt/sources.list.d/proxmox-release-bookworm.list
$STD apt update
apt_update_safe
msg_ok "Updated old sources"
fi
@@ -55,7 +55,7 @@ function update_script() {
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -32,7 +32,7 @@ function update_script() {
fi
msg_info "Updating Proxmox-Mail-Gateway"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated Proxmox-Mail-Gateway"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -45,7 +45,7 @@ Suites: $(lsb_release -sc)
Components: main
Signed-By: /usr/share/keyrings/deb.sury.org-php.gpg
EOF
$STD apt update
apt_update_safe
$STD apt remove -y php"${CURRENT_PHP//./}"*
$STD apt install -y \
php8.4 \
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt -y upgrade
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
+1 -1
View File
@@ -40,7 +40,7 @@ update_deb_based() {
fi
msg_info "Updating $APP LXC"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated $APP LXC"
}
+1 -1
View File
@@ -31,7 +31,7 @@ function update_script() {
exit
fi
msg_info "Updating Resilio Sync"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated successfully!"
exit
+12
View File
@@ -218,6 +218,18 @@ DROPEOF
fi
msg_ok "Updated ROMM"
# 5.3.0 refuses to start without filesystem.structure and dropped
# roms_folder/firmware_folder. A custom layout cannot be inferred.
ROMM_CFG=/var/lib/romm/config/config.yml
if [[ -f "$ROMM_CFG" ]] && ! grep -qE '^[[:space:]]*structure:' "$ROMM_CFG"; then
if grep -qE '^[[:space:]]*(roms_folder|firmware_folder):' "$ROMM_CFG"; then
msg_warn "RomM 5.3.0 removed roms_folder/firmware_folder - replace them with filesystem.structure in ${ROMM_CFG}"
else
printf '\nfilesystem:\n structure:\n default: "roms/{platform}/{game}"\n firmware: "bios/{platform}"\n' >>"$ROMM_CFG"
msg_ok "Added filesystem.structure to ${ROMM_CFG}"
fi
fi
msg_info "Starting Services"
systemctl start romm-backend romm-worker romm-scheduler romm-watcher
msg_ok "Started Services"
+59
View File
@@ -0,0 +1,59 @@
#!/usr/bin/env bash
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/rustfs/rustfs
APP="RustFS"
var_tags="${var_tags:-storage;s3}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-yes}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/default/rustfs ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "rustfs" "rustfs/rustfs"; then
msg_info "Stopping Service"
systemctl stop rustfs
msg_ok "Stopped Service"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rustfs" "rustfs/rustfs" "prebuild" "latest" "/opt/rustfs" "rustfs-linux-$(arch_resolve x86_64 aarch64)-gnu-*.zip"
chmod +x /opt/rustfs/rustfs
msg_info "Starting Service"
systemctl start rustfs
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW}Console:${CL}"
echo -e "${GATEWAY}${BGN}http://${IP}:9001${CL}"
echo -e "${INFO}${YW}S3 API on port 9000 - keys are in /etc/default/rustfs${CL}"
+1 -1
View File
@@ -36,7 +36,7 @@ function update_script() {
if check_for_gh_release "salt" "saltstack/salt"; then
msg_info "Updating Salt"
sed -i "s/^\(Pin: version \).*/\1${RELEASE}/" /etc/apt/preferences.d/salt-pin-1001
$STD apt update
apt_update_safe
$STD apt upgrade -y
echo "${RELEASE}" >~/.salt
msg_ok "Updated successfully!"
+49 -23
View File
@@ -32,42 +32,68 @@ function update_script() {
exit
fi
if check_for_gh_release "semaphore" "semaphoreui/semaphore"; then
if [[ -f /opt/semaphore/semaphore_db.bolt ]]; then
msg_warn "WARNING: Due to bugs with BoltDB database, update script will move your application"
msg_warn "to use SQLite database instead. Make sure you have a backup of your data!"
echo ""
read -r -p "${TAB3}Do you want to continue? (y/N): " CONFIRM
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
exit 0
else
msg_info "Moving from BoltDB to SQLite"
sed -i \
-e 's|"bolt": {|"sqlite": {|' \
-e 's|/semaphore_db.bolt"|/database.sqlite"|' \
-e '/semaphore_db.bolt/d' \
-e '/"dialect"/d' \
-e '/^ },$/a\ "dialect": "sqlite",' \
/opt/semaphore/config.json
msg_ok "Moved from BoltDB to SQLite"
fi
# Outside the release check on purpose: a container left behind by the old
# order already carries the newest version, so the check would skip it.
local migrated=0
if [[ -f /opt/semaphore/semaphore_db.bolt ]]; then
msg_warn "WARNING: Due to bugs with BoltDB database, update script will move your application"
msg_warn "to use SQLite database instead. Make sure you have a backup of your data!"
echo ""
read -r -p "${TAB3}Do you want to continue? (y/N): " CONFIRM
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
exit 0
fi
msg_info "Stopping Service"
systemctl stop semaphore
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "semaphore" "semaphoreui/semaphore" "binary" "latest" "/opt/semaphore" "semaphore_*_linux_$(arch_resolve).deb"
msg_info "Moving from BoltDB to SQLite"
sed -i \
-e 's|"bolt": {|"sqlite": {|' \
-e 's|/semaphore_db.bolt"|/database.sqlite"|' \
-e '/semaphore_db.bolt/d' \
-e '/"dialect"/d' \
-e '/^ },$/a\ "dialect": "sqlite",' \
/opt/semaphore/config.json
msg_ok "Moved from BoltDB to SQLite"
if [[ -f /opt/semaphore/semaphore_db.bolt ]]; then
$STD semaphore migrate --from-boltdb /opt/semaphore/semaphore_db.bolt --config /opt/semaphore/config.json
rm -f /opt/semaphore/semaphore_db.bolt
# 2.19 dropped BoltDB along with the migration flag, so this has to run on
# the last release that still has it.
fetch_and_deploy_gh_release "semaphore" "semaphoreui/semaphore" "binary" "v2.18.30" "/opt/semaphore" "semaphore_*_linux_$(arch_resolve).deb"
msg_info "Migrating BoltDB to SQLite"
if [[ -f /opt/semaphore/database.sqlite ]]; then
mkdir -p /opt/semaphore/sqlite.bak
mv /opt/semaphore/database.sqlite* /opt/semaphore/sqlite.bak/
fi
sed '/"dialect": "sqlite",/a\ "apps": {"ansible": {}, "terraform": {}, "tofu": {}, "terragrunt": {}, "bash": {}, "powershell": {}, "python": {}, "pulumi": {}},' \
/opt/semaphore/config.json >/opt/semaphore/migrate.json
if ! $STD semaphore migrate --from-boltdb /opt/semaphore/semaphore_db.bolt --config /opt/semaphore/migrate.json; then
msg_error "Migration failed - semaphore_db.bolt was kept, run the update again to retry"
exit 1
fi
rm -f /opt/semaphore/migrate.json
mv /opt/semaphore/semaphore_db.bolt /opt/semaphore/semaphore_db.bolt.bak
msg_ok "Migrated BoltDB to SQLite"
migrated=1
fi
if check_for_gh_release "semaphore" "semaphoreui/semaphore"; then
msg_info "Stopping Service"
systemctl stop semaphore
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "semaphore" "semaphoreui/semaphore" "binary" "latest" "/opt/semaphore" "semaphore_*_linux_$(arch_resolve).deb"
msg_info "Starting Service"
systemctl start semaphore
msg_ok "Started Service"
msg_ok "Updated successfully!"
elif ((migrated)); then
msg_info "Starting Service"
systemctl start semaphore
msg_ok "Started Service"
fi
exit
}
+1 -1
View File
@@ -38,7 +38,7 @@ function update_script() {
"trixie"
msg_info "Updating SFTPGo"
$STD apt update
apt_update_safe
$STD apt upgrade -y
msg_ok "Updated SFTPGo"
msg_ok "Updated successfully!"

Some files were not shown because too many files have changed in this diff Show More