Compare commits

..

63 Commits

Author SHA1 Message Date
Sam Heinz
5161a74dca update files in .github to support arm64 2026-05-22 23:53:55 +10:00
Sam Heinz
e82d290c31 set 'var_arm64' to no in all ct scripts 2026-05-22 23:43:48 +10:00
community-scripts-pr-app[bot]
274505536f Update CHANGELOG.md (#14652)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 13:10:54 +00:00
Chris
563209cf87 OpenCloud: v7.0.0 changes (#14650) 2026-05-22 15:10:20 +02:00
community-scripts-pr-app[bot]
465b4ea2a2 Update CHANGELOG.md (#14651)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 13:04:34 +00:00
Michel Roegl-Brunner
d7c9065fc8 fix(the-lounge): install Node.js 22 before deb package (#14648)
The Lounge v4.5.0 requires nodejs (>= 22.13.0), which is not available from Debian 13 default repos. Install Node.js 22 via NodeSource before deploying the thelounge-deb package in both install and update scripts.
2026-05-22 23:04:04 +10:00
community-scripts-pr-app[bot]
5f0914d32c Update CHANGELOG.md (#14647)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 09:43:49 +00:00
push-app-to-main[bot]
bacdd0b99f bitfocus-companion (#14603) 2026-05-22 11:43:22 +02:00
community-scripts-pr-app[bot]
3a18573a6d Update CHANGELOG.md (#14646)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 09:06:22 +00:00
CanbiZ (MickLesk)
8b80ab2534 Docmost: Fix duplicate STORAGE_DRIVER (#14645) 2026-05-22 11:05:53 +02:00
community-scripts-pr-app[bot]
fa4fc95a74 Update CHANGELOG.md (#14643)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 07:08:43 +00:00
CanbiZ (MickLesk)
2fa9ae03a1 core: suppress MOTD for non-interactive shells (#14638) 2026-05-22 09:08:13 +02:00
community-scripts-pr-app[bot]
83859e2219 Update CHANGELOG.md (#14642)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 07:07:49 +00:00
CanbiZ (MickLesk)
82abeac9fb SoulSync: setup Node v22 and build WebUI (#14639) 2026-05-22 09:07:28 +02:00
community-scripts-pr-app[bot]
8aca89b8dc Update CHANGELOG.md (#14641)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 07:07:14 +00:00
CanbiZ (MickLesk)
35953b6d51 Refactor: Dispatcharr (#14313) 2026-05-22 09:06:48 +02:00
community-scripts-pr-app[bot]
a80e215262 Update CHANGELOG.md (#14640)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 06:52:09 +00:00
CanbiZ (MickLesk)
51468821f9 Profilarr: pin Deno version to v2.7.5 (#14632)
* Profilarr: pin Deno version to v2.7.5

* Update Deno version check and deployment

Pin Deno version to 2.7.5 to address known issue.
2026-05-22 08:51:43 +02:00
community-scripts-pr-app[bot]
2c9f6c5305 Update CHANGELOG.md (#14637)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-22 05:46:42 +00:00
Atahan Kucuk
bc43c262a8 fix: make LXC banner OS detection dynamic via /etc/os-release (#14269)
* fix: derive LXC banner OS from os-release

Read os-release at login time for the generated LXC banner so OS display stays accurate after template changes or in-place upgrades. Prefer PRETTY_NAME with safe fallbacks to NAME, template defaults, and Unknown OS while preserving existing banner formatting.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: simplify dynamic LXC banner OS resolution

Reduce banner OS rendering to a minimal runtime os-release read with PRETTY_NAME/NAME fallbacks and Unknown OS default. Remove redundant OS rewrites from update_motd_ip now that OS display is resolved dynamically at login.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 07:46:18 +02:00
community-scripts-pr-app[bot]
0e00444cb9 Update CHANGELOG.md (#14633)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-21 21:07:46 +00:00
Romain PINSOLLE
9d0c174de1 snowshare: use mv instead of cp for uploads backup to prevent disk fill (#14558)
* snowshare: use mv instead of cp for uploads backup to prevent disk fill

Replaces cp -a with mv when backing up and restoring /opt/snowshare/uploads
during updates. cp -a duplicated the entire uploads directory on each update,
which could fill the disk on instances with large uploads and left stale
backup directories accumulating across failed updates. mv is atomic on the
same filesystem and avoids any data duplication. Also clears any leftover
backup directory before the move to prevent nesting on interrupted updates.

Refs TuroYT/snowshare#258

* snowshare: use UPLOAD_DIR env to persist uploads outside install dir

Set UPLOAD_DIR=/opt/snowshare_data in the env file so uploads live
outside /opt/snowshare and survive CLEAN_INSTALL updates without any
backup/restore step. Existing installations are migrated on first
update by moving uploads to the new location and appending UPLOAD_DIR
to the env file, making the change non-breaking.
2026-05-21 23:07:16 +02:00
community-scripts-pr-app[bot]
60d1998765 Update CHANGELOG.md (#14627)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-21 17:05:26 +00:00
CanbiZ (MickLesk)
1cdfdea583 Proxmox VE 9.2 support (#14624) 2026-05-21 19:04:47 +02:00
community-scripts-pr-app[bot]
878b09f5ec Update CHANGELOG.md (#14620)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-21 10:29:23 +00:00
w-gitops
c17d376aae Technitium DNS: download release before stopping the service on update (#14616)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 12:28:46 +02:00
community-scripts-pr-app[bot]
d80d0fb285 Update CHANGELOG.md (#14611)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-20 17:20:52 +00:00
CanbiZ (MickLesk)
62b4b5f260 Profilarr v2: Update and Refactor whole Script (#14584) 2026-05-20 19:19:08 +02:00
MickLesk
56c97cdf80 typo 2026-05-20 15:53:29 +02:00
MickLesk
9ac2eda0bb flowise add sqlite dep for newer version 2026-05-20 15:51:14 +02:00
MickLesk
f2266d8f53 flowise add pnpm global-bin-dir 2026-05-20 15:42:54 +02:00
community-scripts-pr-app[bot]
d6af82ff60 Update CHANGELOG.md (#14608)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-20 12:34:57 +00:00
Michel Roegl-Brunner
d38c5ceb56 Update mylar3 to point to new Repo (#14606)
* Move mylar3 to new repo

* change form variabel to hardcoded
2026-05-20 14:34:22 +02:00
community-scripts-pr-app[bot]
c5aaf72c9b Update CHANGELOG.md (#14599)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-20 05:34:33 +00:00
Slaviša Arežina
f0b1afca69 Ollama: Fix for latest version (#14596)
* fix

* oops

* Also in openwebui

* removed unused .ollama file
2026-05-20 07:34:03 +02:00
community-scripts-pr-app[bot]
3b142e5dc9 Update CHANGELOG.md (#14595)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 21:43:05 +00:00
Slaviša Arežina
b8822e9123 Refactor (#14594) 2026-05-19 23:42:26 +02:00
community-scripts-pr-app[bot]
a6533d2f2c Update CHANGELOG.md (#14593)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 21:33:35 +00:00
Slaviša Arežina
b65bd1a8cb Update SSL certificate paths in espconnect-install.sh (#14591) 2026-05-19 23:33:12 +02:00
community-scripts-pr-app[bot]
2944aa9100 Update CHANGELOG.md (#14588)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:51:09 +00:00
push-app-to-main[bot]
afa59595f0 Add lobehub (ct) (#14441)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-19 08:50:45 +02:00
community-scripts-pr-app[bot]
ff4a9d423b Update CHANGELOG.md (#14587)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:50:23 +00:00
CanbiZ (MickLesk)
59d4ab70c3 ReactiveResume: set correct WorkingDirectory for systemd service (#14579)
* fix(reactive-resume): set correct WorkingDirectory for systemd service

* fix(reactive-resume): update WorkingDirectory in service for existing installs
2026-05-19 08:49:54 +02:00
community-scripts-pr-app[bot]
7ecb1eb305 Update CHANGELOG.md (#14586)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:35:17 +00:00
CanbiZ (MickLesk)
7076d03ab3 Sparkyfitness: add missing nginx template variable substitutions (#14578)
* fix(sparkyfitness): add missing nginx template variable substitutions

* fix(sparkyfitness): regenerate nginx config during updates for existing installs
2026-05-19 08:34:52 +02:00
CanbiZ (MickLesk)
c874324f06 Wanderer: include dev dependencies during build (#14577)
* fix(wanderer): include dev dependencies during build

* fix(wanderer): remove --omit=dev from update script to allow npm run build
2026-05-19 08:34:28 +02:00
community-scripts-pr-app[bot]
0cab1f7f89 Update CHANGELOG.md (#14585)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:24:57 +00:00
Michel Roegl-Brunner
f7432990cf Update nodejs Versions (#14582)
* Move fumadocs to node 24 per there package.json requirements

* Move papra to node 26 per there .nvmrc file

* Move zipline to node 24 as per there Dockerfile
2026-05-19 08:24:28 +02:00
community-scripts-pr-app[bot]
39e67bc874 Update CHANGELOG.md (#14583)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-19 06:21:31 +00:00
CanbiZ (MickLesk)
4ffa551202 fix(whisparr): switch from nightly to stable GitHub release (#14581) 2026-05-19 08:21:07 +02:00
community-scripts-pr-app[bot]
0374da39f7 Update CHANGELOG.md (#14570)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 18:05:03 +00:00
push-app-to-main[bot]
ade578edad ESPconnect (#14444)
* Add espconnect (ct)

* update source

* Update author attribution in espconnect.sh

* Modify author info and remove SSL certificate creation

Updated author information in the script and removed self-signed certificate generation.

---------

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-05-18 20:04:19 +02:00
community-scripts-pr-app[bot]
c33dd2ae39 Update CHANGELOG.md (#14569)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 18:02:29 +00:00
CanbiZ (MickLesk)
3a5f4454e6 Pangolin: bump to 1.18.4, fix missing statusHistory migration (#14566)
* feat(pangolin): bump to 1.18.4, fix missing statusHistory migration

* fix(pangolin): remove redundant msg_info in migration check
2026-05-18 20:01:55 +02:00
community-scripts-pr-app[bot]
c9d0196fee Update CHANGELOG.md (#14563)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 15:07:14 +00:00
push-app-to-main[bot]
404463be21 degoog (#14533)
* Add degoog (ct)

* Update degoog.sh

* fix

---------

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-05-18 17:06:40 +02:00
community-scripts-pr-app[bot]
5dc2b090d9 Update CHANGELOG.md (#14562)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 14:44:17 +00:00
Tom Frenzel
1c216fc582 Bichon: Support v1 migration (#14524) 2026-05-18 16:43:44 +02:00
community-scripts-pr-app[bot]
1e795835fc Update CHANGELOG.md (#14561)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 13:57:24 +00:00
community-scripts-pr-app[bot]
e234f411c7 Update CHANGELOG.md (#14560)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-18 13:53:31 +00:00
push-app-to-main[bot]
89025c9f28 Add webtrees (ct) (#14532)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-05-18 15:52:58 +02:00
community-scripts-pr-app[bot]
3b308af40a Update CHANGELOG.md (#14550)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-17 18:32:39 +00:00
Alicia Sykes
1a93de8674 dashy: fix yarn-missing on update and back up full user-data (#14548) 2026-05-17 20:32:12 +02:00
574 changed files with 1931 additions and 273 deletions

View File

@@ -79,6 +79,18 @@ body:
validations:
required: true
- type: dropdown
id: host_arm64
attributes:
label: 🧱 Is this Proxmox host running arm64?
description: "Run `dpkg --print-architecture` on your Proxmox host if unsure."
options:
- ""
- "No"
- "Yes"
validations:
required: true
- type: input
id: pve_version
attributes:

View File

@@ -49,18 +49,26 @@ jobs:
return
fi
local url="https://pkgs.alpinelinux.org/package/v${alpine_ver}/main/x86_64/nodejs"
local page
page=$(curl -sf "$url" 2>/dev/null || echo "")
local full_ver=""
if [[ -n "$page" ]]; then
# Parse: "Version | 24.13.0-r1" or similar table row
full_ver=$(echo "$page" | grep -oP 'Version\s*\|\s*\K[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "")
if [[ -z "$full_ver" ]]; then
# Fallback: look for version pattern after "Version"
full_ver=$(echo "$page" | grep -oP '(?<=Version</td><td>)[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "")
local arch_label url_arch url page
for arch_pair in "amd64:x86_64" "arm64:aarch64"; do
arch_label="${arch_pair%%:*}"
url_arch="${arch_pair#*:}"
url="https://pkgs.alpinelinux.org/package/v${alpine_ver}/main/${url_arch}/nodejs"
page=$(curl -sf "$url" 2>/dev/null || echo "")
if [[ -n "$page" ]]; then
# Parse: "Version | 24.13.0-r1" or similar table row.
full_ver=$(echo "$page" | grep -oP 'Version\s*\|\s*\K[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "")
if [[ -z "$full_ver" ]]; then
# Fallback: look for version pattern after "Version".
full_ver=$(echo "$page" | grep -oP '(?<=Version</td><td>)[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "")
fi
fi
fi
if [[ -n "$full_ver" ]]; then
echo "Resolved Alpine ${alpine_ver} nodejs via ${arch_label}"
break
fi
done
local major=""
if [[ -n "$full_ver" ]]; then

View File

@@ -179,6 +179,7 @@ jobs:
if (resolvedType) payload.type = resolvedType;
var resolvedCats = (data.categories || []).map(function(n) { return categoryNameToPbId[categoryIdToName[n]]; }).filter(Boolean);
if (resolvedCats.length) payload.categories = resolvedCats;
if (data.has_arm !== undefined) payload.has_arm = data.has_arm === true || data.has_arm === 'true';
if (data.version !== undefined) payload.version = data.version;
if (data.changelog !== undefined) payload.changelog = data.changelog;
if (data.screenshots !== undefined) payload.screenshots = data.screenshots;

View File

@@ -464,10 +464,113 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-05-22
### 🆕 New Scripts
- bitfocus-companion ([#14603](https://github.com/community-scripts/ProxmoxVE/pull/14603))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix(the-lounge): install Node.js 22 before deb package [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14648](https://github.com/community-scripts/ProxmoxVE/pull/14648))
- Docmost: Fix duplicate STORAGE_DRIVER [@MickLesk](https://github.com/MickLesk) ([#14645](https://github.com/community-scripts/ProxmoxVE/pull/14645))
- Profilarr: pin Deno version to v2.7.5 [@MickLesk](https://github.com/MickLesk) ([#14632](https://github.com/community-scripts/ProxmoxVE/pull/14632))
- #### 💥 Breaking Changes
- OpenCloud: v7.0.0 changes [@vhsdream](https://github.com/vhsdream) ([#14650](https://github.com/community-scripts/ProxmoxVE/pull/14650))
- #### 🔧 Refactor
- SoulSync: setup Node v22 and build WebUI [@MickLesk](https://github.com/MickLesk) ([#14639](https://github.com/community-scripts/ProxmoxVE/pull/14639))
- Refactor: Dispatcharr [@MickLesk](https://github.com/MickLesk) ([#14313](https://github.com/community-scripts/ProxmoxVE/pull/14313))
### 💾 Core
- #### 🐞 Bug Fixes
- fix: make LXC banner OS detection dynamic via /etc/os-release [@atahan99](https://github.com/atahan99) ([#14269](https://github.com/community-scripts/ProxmoxVE/pull/14269))
- #### 🔧 Refactor
- core: suppress MOTD for non-interactive shells [@MickLesk](https://github.com/MickLesk) ([#14638](https://github.com/community-scripts/ProxmoxVE/pull/14638))
## 2026-05-21
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- snowshare: use mv instead of cp for uploads backup to prevent disk fill [@TuroYT](https://github.com/TuroYT) ([#14558](https://github.com/community-scripts/ProxmoxVE/pull/14558))
- Technitium DNS: download release before stopping the service on update [@w-gitops](https://github.com/w-gitops) ([#14616](https://github.com/community-scripts/ProxmoxVE/pull/14616))
- #### ✨ New Features
- Proxmox VE 9.2 support [@MickLesk](https://github.com/MickLesk) ([#14624](https://github.com/community-scripts/ProxmoxVE/pull/14624))
## 2026-05-20
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Update mylar3 to point to new Repo [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14606](https://github.com/community-scripts/ProxmoxVE/pull/14606))
- Ollama: Fix for latest version [@tremor021](https://github.com/tremor021) ([#14596](https://github.com/community-scripts/ProxmoxVE/pull/14596))
- #### ✨ New Features
- Profilarr v2: Update and Refactor whole Script [@MickLesk](https://github.com/MickLesk) ([#14584](https://github.com/community-scripts/ProxmoxVE/pull/14584))
## 2026-05-19
### 🆕 New Scripts
- LobeHub ([#14441](https://github.com/community-scripts/ProxmoxVE/pull/14441))
### 🚀 Updated Scripts
- Update nodejs Versions [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14582](https://github.com/community-scripts/ProxmoxVE/pull/14582))
- #### 🐞 Bug Fixes
- ESPConnect: Fix paths to SSL certificates [@tremor021](https://github.com/tremor021) ([#14591](https://github.com/community-scripts/ProxmoxVE/pull/14591))
- ReactiveResume: set correct WorkingDirectory for systemd service [@MickLesk](https://github.com/MickLesk) ([#14579](https://github.com/community-scripts/ProxmoxVE/pull/14579))
- Sparkyfitness: add missing nginx template variable substitutions [@MickLesk](https://github.com/MickLesk) ([#14578](https://github.com/community-scripts/ProxmoxVE/pull/14578))
- Wanderer: include dev dependencies during build [@MickLesk](https://github.com/MickLesk) ([#14577](https://github.com/community-scripts/ProxmoxVE/pull/14577))
- Whisparr: switch from nightly to stable GitHub release [@MickLesk](https://github.com/MickLesk) ([#14581](https://github.com/community-scripts/ProxmoxVE/pull/14581))
- #### 🔧 Refactor
- Refactor: SonarQube [@tremor021](https://github.com/tremor021) ([#14594](https://github.com/community-scripts/ProxmoxVE/pull/14594))
## 2026-05-18
### 🆕 New Scripts
- ESPconnect ([#14444](https://github.com/community-scripts/ProxmoxVE/pull/14444))
- degoog ([#14533](https://github.com/community-scripts/ProxmoxVE/pull/14533))
- Webtrees ([#14532](https://github.com/community-scripts/ProxmoxVE/pull/14532))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Bichon: Support v1 migration [@tomfrenzel](https://github.com/tomfrenzel) ([#14524](https://github.com/community-scripts/ProxmoxVE/pull/14524))
- #### ✨ New Features
- Pangolin: bump to 1.18.4, fix missing statusHistory migration [@MickLesk](https://github.com/MickLesk) ([#14566](https://github.com/community-scripts/ProxmoxVE/pull/14566))
## 2026-05-17
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- dashy: fix yarn-missing on update and back up full user-data [@lissy93](https://github.com/lissy93) ([#14548](https://github.com/community-scripts/ProxmoxVE/pull/14548))
- #### ✨ New Features
- tools.func: replace max-time with speed-limit stall detection in curl_download [@MickLesk](https://github.com/MickLesk) ([#14545](https://github.com/community-scripts/ProxmoxVE/pull/14545))

View File

@@ -30,7 +30,7 @@ The collection covers hundreds of services across categories like home automatio
| Component | Details |
| -------------- | ------------------------------------------------ |
| **Proxmox VE** | Version 8.4, 9.0, or 9.1 |
| **Proxmox VE** | Version 8.4, 9.0, 9.1, or 9.2 |
| **Host OS** | Proxmox VE (Debian-based) |
| **Access** | Root shell access on the Proxmox host |
| **Network** | Internet connection required during installation |

View File

@@ -6,6 +6,7 @@ This project currently supports the following versions of Proxmox VE (PVE):
| Version | Supported |
| ------- | ------------------ |
| 9.2.x | :white_check_mark: |
| 9.1.x | :white_check_mark: |
| 9.0.x | :white_check_mark: |
| 8.4.x | :white_check_mark: |

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-ubuntu}"
var_version="${var_version:-24.04}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-0}"
var_gpu="${var_gpu:-yes}"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -13,6 +13,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-20}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-2}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-5}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-2}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-10}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-2}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -13,6 +13,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-2}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
var_fuse="${var_fuse:-yes}"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-4}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-2}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-2}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -13,6 +13,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
var_tun="${var_tun:-1}"

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-256}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-0}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.23}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -13,6 +13,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-16}"
var_os="${var_os:-ubuntu}"
var_version="${var_version:-24.04}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-5}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-16}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -14,6 +14,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-5}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -28,15 +29,95 @@ function update_script() {
exit
fi
CURRENT_VERSION="unknown"
if [[ -f /root/.bichon ]]; then
CURRENT_VERSION=$(cat /root/.bichon)
fi
MIGRATE_V1=0
if [[ "$CURRENT_VERSION" == 0.* ]]; then
MIGRATE_V1=1
DISK_USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$DISK_USAGE" -gt 50 ]; then
echo -e "\n${RD}Warning: Less than 50% free storage remaining on the root disk.${CL}"
echo -e "${RD}Bichon v1 data migration temporarily duplicates data and requires free space for it.${CL}"
read -r -p "Are you sure you want to proceed with the update? (y/N): " proceed
if [[ ! "$proceed" =~ ^[Yy]$ ]]; then
msg_error "Update cancelled by user."
exit
fi
fi
RAM_TOTAL=$(free -m | awk '/^Mem:/{print $2}')
if [ "$RAM_TOTAL" -lt 2000 ]; then
echo -e "\n${RD}Warning: LXC has less than 2GB of RAM allocated (${RAM_TOTAL}MB).${CL}"
echo -e "${RD}Bichon v1 data migration consumes significant memory and may crash if insufficient.${CL}"
read -r -p "Are you sure you want to proceed with the update? (y/N): " proceed_ram
if [[ ! "$proceed_ram" =~ ^[Yy]$ ]]; then
msg_error "Update cancelled by user."
exit
fi
fi
fi
if check_for_gh_release "bichon" "rustmailer/bichon"; then
msg_info "Stopping service"
systemctl stop bichon
msg_ok "Stopped service"
cp /opt/bichon/bichon.env /tmp/bichon.env.backup
if [ "$MIGRATE_V1" -eq 1 ] && [ "$CURRENT_VERSION" != "0.3.7" ]; then
msg_info "Updating to intermediate version v0.3.7"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "v0.3.7" "/opt/bichon" "bichon-*-x86_64-unknown-linux-gnu.tar.gz"
cp /tmp/bichon.env.backup /opt/bichon/bichon.env
systemctl start bichon
sleep 30
systemctl stop bichon
msg_ok "Intermediate update completed"
fi
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "latest" "/opt/bichon" "bichon-*-x86_64-unknown-linux-gnu.tar.gz"
cp /tmp/bichon.env.backup /opt/bichon/bichon.env
if [ "$MIGRATE_V1" -eq 1 ]; then
msg_info "Running Bichon v1 Data Migration (patience)"
$STD apt install -y expect
$STD expect <<'EOF'
set timeout -1
spawn /opt/bichon/bichon-admin
expect "*Select an operation*"
send "\033\[B\r"
expect "*--bichon-root-dir*"
send "/opt/bichon-data\r"
expect "*--bichon-index-dir*"
send "\r"
expect "*--bichon-data-dir*"
send "\r"
expect "*Ready to migrate?*"
send "y"
expect "*Enter batch size*"
send "1000\r"
expect eof
catch wait
EOF
$STD apt remove --purge expect -y
$STD apt autoremove -y
msg_ok "Migration completed"
msg_info "Cleaning up legacy Bichon v0.x storage files"
rm -rf /opt/bichon-data/envelope
rm -rf /opt/bichon-data/eml
rm -f /opt/bichon-data/mailbox.db
rm -f /opt/bichon-data/meta.db
msg_ok "Cleanup completed"
msg_info "Updating Bichon service for v1"
sed -i 's|ExecStart=/opt/bichon/bichon|ExecStart=/opt/bichon/bichon-server|g; s|RestartSec=5|RestartSec=5\n\nLimitNOFILE=65536|g' /etc/systemd/system/bichon.service
systemctl daemon-reload
msg_ok "Service updated"
fi
msg_info "Starting service"
systemctl start bichon
msg_ok "Service started"

View File

@@ -13,6 +13,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-12}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
var_gpu="${var_gpu:-no}"

71
ct/bitfocus-companion.sh Normal file
View File

@@ -0,0 +1,71 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
# Author: glabutis
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/bitfocus/companion
APP="Bitfocus-Companion"
var_tags="${var_tags:-automation;media}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
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 /opt/bitfocus-companion/companion_headless.sh ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
RELEASE_JSON=$(curl -fsSL "https://api.bitfocus.io/v1/product/companion/packages?limit=20")
PACKAGE_JSON=$(echo "$RELEASE_JSON" | jq -c '(if type == "array" then . else .packages end) | [.[] | select(.target=="linux-tgz" and (.uri | contains("linux-x64")))] | first')
RELEASE=$(echo "$PACKAGE_JSON" | jq -r '.version // empty')
ASSET_URL=$(echo "$PACKAGE_JSON" | jq -r '.uri // empty')
if [[ -z "$RELEASE" || -z "$ASSET_URL" ]]; then
msg_error "Could not resolve a matching Linux x64 Companion package from the Bitfocus API."
exit 1
fi
if [[ "${RELEASE}" == "$(cat ~/.bitfocus-companion 2>/dev/null)" ]]; then
msg_ok "No update required. ${APP} is already at v${RELEASE}"
exit
fi
msg_info "Stopping ${APP}"
systemctl stop bitfocus-companion
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to v${RELEASE}"
CLEAN_INSTALL=1 fetch_and_deploy_from_url "$ASSET_URL" "/opt/bitfocus-companion"
echo "${RELEASE}" >~/.bitfocus-companion
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP}"
systemctl start bitfocus-companion
msg_ok "Started ${APP}"
msg_ok "Update Successful"
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} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-8192}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-0}"
var_gpu="${var_gpu:-yes}"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -13,6 +13,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-3}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-8192}"
var_disk="${var_disk:-25}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
var_gpu="${var_gpu:-yes}"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -11,6 +11,7 @@ var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
var_gpu="${var_gpu:-yes}"

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