Compare commits

..

60 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
33d61e45c4 Update CHANGELOG.md (#8564)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-22 00:13:45 +00:00
community-scripts-pr-app[bot]
69a6590ab0 Update versions.json (#8563)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-22 02:13:15 +02:00
community-scripts-pr-app[bot]
0f2117ceba Update CHANGELOG.md (#8561)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 19:50:53 +00:00
Slaviša Arežina
87ae749eba Refactor (#8552) 2025-10-21 21:50:26 +02:00
community-scripts-pr-app[bot]
cc4b944b3b Update .app files (#8558)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-10-21 12:29:34 -07:00
community-scripts-pr-app[bot]
1c14b31a05 Update CHANGELOG.md (#8560)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 19:29:27 +00:00
Vincent
395e522430 Added validation before copying file and fix build command error (#8553) 2025-10-21 21:28:57 +02:00
community-scripts-pr-app[bot]
5277be0bc3 Update CHANGELOG.md (#8559)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 19:26:34 +00:00
community-scripts-pr-app[bot]
bd8d91057e Update CHANGELOG.md (#8557)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 19:26:04 +00:00
community-scripts-pr-app[bot]
de35c2a1f9 Update date in json (#8556)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-10-21 19:25:59 +00:00
Chris
f151c80b8b rwMarkable: migrate from rwMarkable => jotty (#8554) 2025-10-21 21:25:35 +02:00
community-scripts-pr-app[bot]
5f607a3132 Update CHANGELOG.md (#8551)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 17:06:54 +00:00
Yevhen Fastiuk
14bcaa054f 🐞 Bump libssl debian version to new update (#8547)
Signed-off-by: Yevhen <yfastiuk@iMac-Pro.local>
2025-10-21 19:06:20 +02:00
Slaviša Arežina
3d01a3bc03 Update open-archiver.json (#8542) 2025-10-21 15:32:41 +02:00
community-scripts-pr-app[bot]
389e40e6f0 Update versions.json (#8544)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 14:08:42 +02:00
community-scripts-pr-app[bot]
e94666c4d5 Update CHANGELOG.md (#8538)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 06:55:20 +00:00
Slaviša Arežina
f81cac1f70 Fix release version fetching (#8537) 2025-10-21 08:54:48 +02:00
community-scripts-pr-app[bot]
b8b5e92fd2 Update CHANGELOG.md (#8536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 06:34:00 +00:00
CanbiZ
c160079447 jellyfin: fix opencl dep for ubuntu (#8535) 2025-10-21 08:33:32 +02:00
community-scripts-pr-app[bot]
9dc31f48ef Update CHANGELOG.md (#8530)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 00:12:57 +00:00
community-scripts-pr-app[bot]
49c8e29a56 Update versions.json (#8529)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 02:12:28 +02:00
community-scripts-pr-app[bot]
0f1abd953f Update CHANGELOG.md (#8524)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 19:02:06 +00:00
Tobias
56c5067853 palmr: update node to v24 (#8521) 2025-10-20 21:01:43 +02:00
community-scripts-pr-app[bot]
ee8e7f5bf0 Update CHANGELOG.md (#8523)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 19:01:14 +00:00
Tobias
b2b892c430 jellyfin: fix: version conflict (#8520) 2025-10-20 21:00:48 +02:00
CanbiZ
ef4fab1a2c nextcloudpi: to deb12 2025-10-20 09:32:39 -07:00
CanbiZ
dc358da26f nextcloudpi: to deb12 2025-10-20 09:32:17 -07:00
community-scripts-pr-app[bot]
345708aae6 Update CHANGELOG.md (#8512)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 16:02:14 +00:00
CanbiZ
bcdbbc4678 Enhance error message for container creation failure (#8511) 2025-10-20 18:01:51 +02:00
community-scripts-pr-app[bot]
af0bd86db4 Update CHANGELOG.md (#8510)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 14:21:58 +00:00
Tobias
c188984601 jellyfin: add: intel dependencies (#8508) 2025-10-20 16:21:31 +02:00
community-scripts-pr-app[bot]
489339ce4e Update CHANGELOG.md (#8509)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 14:19:24 +00:00
CanbiZ
523d2b66bd Paperless-AI: Increase CPU and RAM (#8507)
* Paperless-AI: Increase CPU and RAM

* Paperless-AI: Increase CPU and RAM
2025-10-20 16:19:01 +02:00
community-scripts-pr-app[bot]
9a40d53d06 Update versions.json (#8506)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 14:07:12 +02:00
CanbiZ
a257a77f63 Remove GoMFT scripts and related files (#8499) 2025-10-20 12:58:33 +02:00
CanbiZ
25251add27 qf: remove unoconv 2025-10-20 12:27:06 +02:00
community-scripts-pr-app[bot]
ea1021095d Update CHANGELOG.md (#8498)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 07:36:03 +00:00
CanbiZ
932de62b38 Filebrowser-Quantum: change initial config to newer default (#8497) 2025-10-20 09:35:38 +02:00
community-scripts-pr-app[bot]
8fd8bb407e Update CHANGELOG.md (#8495)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 06:28:44 +00:00
CanbiZ
8ece0e3676 Jellyfin: ensure libjemalloc is used / increase hdd space (#8494)
* Jellyfin: ensure libjemalloc used

* Enhance Jellyfin update script with libjemalloc checks

Added checks for libjemalloc2 installation and symlink creation before updating Jellyfin.

* Change apt-get to apt for installing libjemalloc2

* Increase default disk size from 8GB to 16GB

* Increase HDD size for Jellyfin configuration

Updated HDD size from 8GB to 16GB in jellyfin.json.
2025-10-20 08:28:22 +02:00
CanbiZ
b34a449d9f Refactor Yarn installation into setup_nodejs
Removed Yarn installation check and integrated it into the setup_nodejs function.
2025-10-20 07:51:33 +02:00
community-scripts-pr-app[bot]
60be24660d Update CHANGELOG.md (#8491)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 00:15:17 +00:00
community-scripts-pr-app[bot]
a2be293397 Update versions.json (#8490)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 02:14:51 +02:00
community-scripts-pr-app[bot]
e44e8a30d1 Update CHANGELOG.md (#8486)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-19 20:06:12 +00:00
community-scripts-pr-app[bot]
3cd8d0d08b Update CHANGELOG.md (#8485)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-19 20:05:54 +00:00
Chris
2d95a73923 rwMarkable: Increase RAM (#8482) 2025-10-19 22:05:52 +02:00
Tobias
3743af8c78 changedetection: fix: update (#8480) 2025-10-19 22:05:27 +02:00
community-scripts-pr-app[bot]
f91daa6b72 Update versions.json (#8474)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-19 14:04:54 +02:00
community-scripts-pr-app[bot]
4685612685 Update CHANGELOG.md (#8468)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-19 00:15:17 +00:00
community-scripts-pr-app[bot]
f4106db935 Update versions.json (#8467)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-19 02:14:50 +02:00
community-scripts-pr-app[bot]
4a4dbfa15e Update versions.json (#8460)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 14:06:00 +02:00
community-scripts-pr-app[bot]
475ccd7a33 Update CHANGELOG.md (#8459)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 11:33:21 +00:00
CanbiZ
b36b4258cc Refactor: Nginx Proxy Manager (#8453) 2025-10-18 13:33:00 +02:00
community-scripts-pr-app[bot]
8ab6e2d469 Update CHANGELOG.md (#8458)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:58:32 +00:00
community-scripts-pr-app[bot]
22e71e5a05 Update CHANGELOG.md (#8457)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:58:25 +00:00
Slaviša Arežina
edb105fad9 Dont copy init.d service file (#8451) 2025-10-18 12:58:12 +02:00
community-scripts-pr-app[bot]
6584d658e1 Update CHANGELOG.md (#8456)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:58:02 +00:00
community-scripts-pr-app[bot]
6877f53853 Update CHANGELOG.md (#8455)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:57:41 +00:00
community-scripts-pr-app[bot]
83ad8433bd Update date in json (#8454)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:57:37 +00:00
push-app-to-main[bot]
da552dcbd8 'Add new script' (#8452)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-10-18 12:57:20 +02:00
36 changed files with 784 additions and 801 deletions

View File

@@ -10,8 +10,82 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-10-22
## 2025-10-21
### 🆕 New Scripts
- rwMarkable: migrate from rwMarkable => jotty [@vhsdream](https://github.com/vhsdream) ([#8554](https://github.com/community-scripts/ProxmoxVE/pull/8554))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Guardian: Added validation before copying file and fix build command error [@HydroshieldMKII](https://github.com/HydroshieldMKII) ([#8553](https://github.com/community-scripts/ProxmoxVE/pull/8553))
- Unifi: Bump libssl debian version to new update [@fastiuk](https://github.com/fastiuk) ([#8547](https://github.com/community-scripts/ProxmoxVE/pull/8547))
- Alpine-TeamSpeak-Server: Fix release version fetching [@tremor021](https://github.com/tremor021) ([#8537](https://github.com/community-scripts/ProxmoxVE/pull/8537))
- jellyfin: fix opencl dep for ubuntu [@MickLesk](https://github.com/MickLesk) ([#8535](https://github.com/community-scripts/ProxmoxVE/pull/8535))
- #### ✨ New Features
- Refactor: ProjectSend [@tremor021](https://github.com/tremor021) ([#8552](https://github.com/community-scripts/ProxmoxVE/pull/8552))
### 🌐 Website
- #### 📝 Script Information
- Open Archiver: Fix application icon [@tremor021](https://github.com/tremor021) ([#8542](https://github.com/community-scripts/ProxmoxVE/pull/8542))
## 2025-10-20
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- jellyfin: fix: version conflict [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8520](https://github.com/community-scripts/ProxmoxVE/pull/8520))
- Paperless-AI: Increase CPU and RAM [@MickLesk](https://github.com/MickLesk) ([#8507](https://github.com/community-scripts/ProxmoxVE/pull/8507))
- #### ✨ New Features
- Enhance error message for container creation failure [@MickLesk](https://github.com/MickLesk) ([#8511](https://github.com/community-scripts/ProxmoxVE/pull/8511))
- Filebrowser-Quantum: change initial config to newer default [@MickLesk](https://github.com/MickLesk) ([#8497](https://github.com/community-scripts/ProxmoxVE/pull/8497))
- #### 💥 Breaking Changes
- Remove: GoMFT [@MickLesk](https://github.com/MickLesk) ([#8499](https://github.com/community-scripts/ProxmoxVE/pull/8499))
- #### 🔧 Refactor
- palmr: update node to v24 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8521](https://github.com/community-scripts/ProxmoxVE/pull/8521))
- jellyfin: add: intel dependencies [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8508](https://github.com/community-scripts/ProxmoxVE/pull/8508))
- Jellyfin: ensure libjemalloc is used / increase hdd space [@MickLesk](https://github.com/MickLesk) ([#8494](https://github.com/community-scripts/ProxmoxVE/pull/8494))
## 2025-10-19
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- rwMarkable: Increase RAM [@vhsdream](https://github.com/vhsdream) ([#8482](https://github.com/community-scripts/ProxmoxVE/pull/8482))
- changedetection: fix: update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8480](https://github.com/community-scripts/ProxmoxVE/pull/8480))
## 2025-10-18
### 🆕 New Scripts
- Open-Archiver ([#8452](https://github.com/community-scripts/ProxmoxVE/pull/8452))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Cronicle: Dont copy init.d service file [@tremor021](https://github.com/tremor021) ([#8451](https://github.com/community-scripts/ProxmoxVE/pull/8451))
- #### 🔧 Refactor
- Refactor: Nginx Proxy Manager [@MickLesk](https://github.com/MickLesk) ([#8453](https://github.com/community-scripts/ProxmoxVE/pull/8453))
## 2025-10-17
### 🚀 Updated Scripts

View File

@@ -27,7 +27,7 @@ function update_script() {
exit 1
fi
set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.teamspeak3-server_linux_amd64-([0-9]+.[0-9]+.[0-9]+)./\1/p' | head -1) && set -o pipefail
set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.*teamspeak3-server_linux_amd64-\([0-9.]*[0-9]\).*/\1/p' | head -1) && set -o pipefail
if [ "${RELEASE}" != "$(cat ~/.teamspeak-server)" ] || [ ! -f ~/.teamspeak-server ]; then
msg_info "Updating ${APP} LXC"

View File

@@ -57,7 +57,7 @@ function update_script() {
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force msedge
$STD /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit
$STD npm install --prefix /opt/browserless esbuild typescript ts-node @types/node
$STD npm install --prefix /opt/browserless esbuild typescript ts-node @types/node --save-dev
$STD npm run build --prefix /opt/browserless
$STD npm run build:function --prefix /opt/browserless
$STD npm prune production --prefix /opt/browserless

View File

@@ -61,9 +61,6 @@ function update_script() {
$STD node bin/build.js dist
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
$STD /opt/cronicle/bin/control.sh start
$STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
chmod 775 /etc/init.d/cronicled
$STD update-rc.d cronicled defaults
msg_ok "Installed Cronicle Worker"
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"

View File

@@ -1,53 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/StarFleetCPTN/GoMFT
APP="GoMFT"
var_tags="${var_tags:-backup}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d "/opt/gomft" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "gomft" "StarFleetCPTN/GoMFT"; then
msg_info "Stopping $APP"
systemctl stop gomft
msg_ok "Stopped $APP"
fetch_and_deploy_gh_release "gomft" "StarFleetCPTN/GoMFT" "singlefile" "latest" "/opt/gomft" "gomft*linux-amd64"
msg_info "Starting $APP"
systemctl start gomft
msg_ok "Started $APP"
msg_ok "Update Successful"
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} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@@ -40,9 +40,9 @@ if check_for_gh_release "guardian" "HydroshieldMKII/Guardian" ; then
msg_ok "Backed up Database"
fi
cp /opt/guardian/.env /opt
[[ -f "/opt/guardian/.env" ]] && cp "/opt/guardian/.env" "/opt"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
mv /opt/.env /opt/guardian
[[ -f "/opt/.env" ]] && mv "/opt/.env" "/opt/guardian"
if [[ -f "/tmp/plex-guard.db.backup" ]] ; then
msg_info "Restoring Database"
@@ -58,7 +58,8 @@ if check_for_gh_release "guardian" "HydroshieldMKII/Guardian" ; then
cd /opt/guardian/frontend
$STD npm ci
$STD DEPLOYMENT_MODE=standalone npm run build
export DEPLOYMENT_MODE=standalone
$STD npm run build
msg_ok "Updated Guardian"
msg_info "Starting Services"

View File

@@ -1,6 +0,0 @@
______ __ _______________
/ ____/___ / |/ / ____/_ __/
/ / __/ __ \/ /|_/ / /_ / /
/ /_/ / /_/ / / / / __/ / /
\____/\____/_/ /_/_/ /_/

6
ct/headers/jotty Normal file
View File

@@ -0,0 +1,6 @@
_ __ __
(_)___ / /_/ /___ __
/ / __ \/ __/ __/ / / /
/ / /_/ / /_/ /_/ /_/ /
__/ /\____/\__/\__/\__, /
/___/ /____/

View File

@@ -9,7 +9,7 @@ APP="Jellyfin"
var_tags="${var_tags:-media}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_disk="${var_disk:-16}"
var_os="${var_os:-ubuntu}"
var_version="${var_version:-24.04}"
var_unprivileged="${var_unprivileged:-1}"
@@ -27,11 +27,28 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt-get update
$STD apt-get -y upgrade
$STD apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server
msg_ok "Updated ${APP} LXC"
if ! grep -qEi 'ubuntu' /etc/os-release; then
msg_info "Updating Intel Dependencies"
fetch_and_deploy_gh_release "intel-igc-core-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-core-2_*_amd64.deb"
fetch_and_deploy_gh_release "intel-igc-opencl-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-opencl-2_*_amd64.deb"
fetch_and_deploy_gh_release "intel-libgdgmm12" "intel/compute-runtime" "binary" "latest" "" "libigdgmm12_*_amd64.deb"
fetch_and_deploy_gh_release "intel-opencl-icd" "intel/compute-runtime" "binary" "latest" "" "intel-opencl-icd_*_amd64.deb"
msg_ok "Updated Intel Dependencies"
fi
msg_info "Updating Jellyfin"
if ! dpkg -s libjemalloc2 >/dev/null 2>&1; then
$STD apt install -y libjemalloc2
fi
if [[ ! -f /usr/lib/libjemalloc.so ]]; then
ln -sf /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 /usr/lib/libjemalloc.so
fi
$STD apt update
$STD apt -y upgrade
$STD apt -y --with-new-pkgs upgrade jellyfin jellyfin-server
msg_ok "Updated Jellyfin"
msg_ok "Update Successfully!"
exit
}

74
ct/jotty.sh Normal file
View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/fccview/jotty
APP="jotty"
var_tags="${var_tags:-tasks;notes}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/jotty ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "jotty" "fccview/jotty"; then
msg_info "Stopping Service"
systemctl stop jotty
msg_ok "Stopped Service"
msg_info "Backing up configuration & data"
cd /opt/jotty
cp ./.env /opt/app.env
$STD tar -cf /opt/data_config.tar ./data ./config
msg_ok "Backed up configuration & data"
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jotty" "fccview/jotty" "tarball" "latest" "/opt/jotty"
msg_info "Updating app"
cd /opt/jotty
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
msg_ok "Updated app"
msg_info "Restoring configuration & data"
mv /opt/app.env /opt/jotty/.env
$STD tar -xf /opt/data_config.tar
msg_ok "Restored configuration & data"
msg_info "Restarting ${APP} service"
systemctl start jotty
msg_ok "Restarted ${APP} service"
rm /opt/data_config.tar
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} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

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

View File

@@ -28,12 +28,8 @@ function update_script() {
exit
fi
if ! command -v pnpm &>/dev/null; then
msg_info "Installing pnpm"
#export NODE_OPTIONS=--openssl-legacy-provider
$STD npm install -g pnpm@8.15
msg_ok "Installed pnpm"
fi
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
export NODE_OPTIONS="--openssl-legacy-provider"
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
grep "tag_name" |
@@ -49,9 +45,10 @@ function update_script() {
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
cd ./frontend || exit
$STD pnpm install
$STD pnpm upgrade
$STD pnpm run build
# Replace node-sass with sass in package.json before installation
sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
$STD yarn install --network-timeout 600000
$STD yarn build
)
msg_ok "Built Frontend"
@@ -71,7 +68,7 @@ function update_script() {
msg_info "Setting up Environment"
ln -sf /usr/bin/python3 /usr/bin/python
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
ln -sf /usr/local/openresty/nginx/ /etc/nginx
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
@@ -113,7 +110,12 @@ function update_script() {
cp -r frontend/app-images/* /app/frontend/images
cp -r backend/* /app
cp -r global/* /app/global
$STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare
# Update Certbot and plugins in virtual environment
if [ -d /opt/certbot ]; then
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
$STD /opt/certbot/bin/pip install --upgrade certbot certbot-dns-cloudflare
fi
msg_ok "Setup Environment"
msg_info "Initializing Backend"
@@ -134,7 +136,8 @@ function update_script() {
EOF
fi
cd /app || exit
$STD pnpm install
export NODE_OPTIONS="--openssl-legacy-provider"
$STD yarn install --network-timeout 600000
msg_ok "Initialized Backend"
msg_info "Starting Services"

View File

@@ -37,7 +37,7 @@ function update_script() {
fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr"
PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)"
NODE_VERSION="20" NODE_MODULE="$PNPM" setup_nodejs
NODE_VERSION="24" NODE_MODULE="$PNPM" setup_nodejs
msg_info "Updating ${APP}"
cd /opt/palmr/apps/server

View File

@@ -7,8 +7,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="Paperless-AI"
var_tags="${var_tags:-ai;document}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"

View File

@@ -27,31 +27,28 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
if check_for_gh_release "projectsend" "projectsend/projectsend"; then
msg_info "Stopping Service"
systemctl stop apache2
msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip")
$STD unzip -o "projectsend-r${RELEASE}.zip" -d projectsend
php_ver=$(php -v | head -n 1 | awk '{print $2}')
if [[ ! $php_ver == "8.4"* ]]; then
PHP_VERSION="8.4" PHP_APACHE="YES" PHP_MODULE="pdo,mysql,gettext,fileinfo" setup_php
fi
mv /opt/projectsend/includes/sys.config.php /opt/sys.config.php
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "projectsend" "projectsend/projectsend" "prebuild" "latest" "/opt/projectsend" "projectsend-r*.zip"
mv /opt/sys.config.php /opt/projectsend/includes/sys.config.php
chown -R www-data:www-data /opt/projectsend
chmod -R 775 /opt/projectsend
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting Service"
systemctl start apache2
msg_ok "Started Service"
msg_info "Cleaning up"
rm -rf "/opt/projectsend-r${RELEASE}.zip"
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}

View File

@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
APP="rwMarkable"
var_tags="${var_tags:-tasks;notes}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
@@ -29,38 +29,41 @@ function update_script() {
exit
fi
if check_for_gh_release "rwMarkable" "fccview/rwMarkable"; then
msg_info "Stopping Service"
systemctl stop rwmarkable
msg_ok "Stopped Service"
msg_info "Stopping service"
systemctl -q disable --now rwmarkable
msg_ok "Stopped Service"
msg_info "Backing up configuration & data"
cd /opt/rwmarkable
cp ./.env /opt/app.env
$STD tar -cf /opt/data_config.tar ./data ./config
msg_ok "Backed up configuration & data"
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jotty" "fccview/jotty" "tarball" "latest" "/opt/jotty"
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
msg_info "Updating app"
cd /opt/jotty
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
msg_ok "Updated app"
msg_info "Updating app"
cd /opt/rwmarkable
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
msg_ok "Updated app"
msg_info "Migrating configuration & data"
cp /opt/rwmarkable/.env /opt/jotty/.env
mkdir -p /opt/jotty/data
cp -r /opt/rwmarkable/data/* /opt/jotty/data
cp -r /opt/rwmarkable/config/* /opt/jotty/config
msg_ok "Migrated configuration & data"
msg_info "Restoring configuration & data"
mv /opt/app.env /opt/rwmarkable/.env
$STD tar -xf /opt/data_config.tar
msg_ok "Restored configuration & data"
msg_info "Patching systemd service file"
sed -i 's/rw[M|m]arkable/jotty/g' /etc/systemd/system/rwmarkable.service
mv /etc/systemd/system/rwmarkable.service /etc/systemd/system/jotty.service
systemctl daemon-reload
msg_ok "Patched systemd service file"
msg_info "Restarting ${APP} service"
systemctl start rwmarkable
msg_ok "Restarted ${APP} service"
rm /opt/data_config.tar
msg_ok "Updated Successfully"
fi
msg_info "Patching update script"
sed -i 's/rwmarkable/jotty/g' /usr/bin/update
msg_ok "Patched update script"
msg_info "Starting jotty service"
systemctl -q enable --now jotty
msg_ok "Started jotty service"
msg_ok "Migrated Successfully!"
exit
}

View File

@@ -1,40 +0,0 @@
{
"name": "GoMFT",
"slug": "gomft",
"categories": [
7
],
"date_created": "2025-03-18",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8080,
"documentation": "https://github.com/StarFleetCPTN/GoMFT#configuration",
"website": "https://github.com/StarFleetCPTN/GoMFT",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/gomft.webp",
"config_path": "/opt/gomft/.env",
"description": "GoMFT is a web-based managed file transfer application built with Go, leveraging rclone for robust file transfer capabilities. It provides a user-friendly interface for configuring, scheduling, and monitoring file transfers across various storage providers.",
"install_methods": [
{
"type": "default",
"script": "ct/gomft.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin@example.com",
"password": "admin"
},
"notes": [
{
"text": "For additional configuration options check the documentation.",
"type": "info"
}
]
}

View File

@@ -21,7 +21,7 @@
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"hdd": 16,
"os": "ubuntu",
"version": "24.04"
}

View File

@@ -0,0 +1,40 @@
{
"name": "jotty",
"slug": "jotty",
"categories": [
12
],
"date_created": "2025-10-21",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://github.com/fccview/jotty/blob/main/README.md",
"website": "https://github.com/fccview/jotty",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/jotty.webp",
"config_path": "/opt/jotty/.env",
"description": "A simple, self-hosted app for your checklists and notes. Tired of bloated, cloud-based to-do apps? jotty is a lightweight alternative for managing your personal checklists and notes. It's built with Next.js 14, is easy to deploy, and keeps all your data on your own server.",
"install_methods": [
{
"type": "default",
"script": "ct/jotty.sh",
"resources": {
"cpu": 2,
"ram": 3072,
"hdd": 6,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "jotty was previously named rwMarkable",
"type": "info"
}
]
}

View File

@@ -23,7 +23,7 @@
"ram": 2048,
"hdd": 8,
"os": "debian",
"version": "13"
"version": "12"
}
},
{

View File

@@ -4,7 +4,7 @@
"categories": [
7
],
"date_created": "2025-09-30",
"date_created": "2025-10-18",
"type": "ct",
"updateable": true,
"privileged": false,
@@ -12,7 +12,7 @@
"documentation": "https://docs.openarchiver.com/",
"config_path": "/opt/openarchiver/.env",
"website": "https://openarchiver.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/OpenArchiver.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/open-archiver.webp",
"description": "Open Archiver is a secure, self-hosted email archiving solution, and it's completely open source. Get an email archiver that enables full-text search across email and attachments. Create a permanent, searchable, and compliant mail archive from Google Workspace, Microsoft 35, and any IMAP server.",
"install_methods": [
{

View File

@@ -19,8 +19,8 @@
"type": "default",
"script": "ct/paperless-ai.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"cpu": 4,
"ram": 4096,
"hdd": 20,
"os": "debian",
"version": "13"

View File

@@ -1,35 +0,0 @@
{
"name": "rwMarkable",
"slug": "rwmarkable",
"categories": [
12
],
"date_created": "2025-10-09",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://github.com/fccview/rwMarkable/blob/main/README.md",
"website": "https://github.com/fccview/rwMarkable",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/rwmarkable.webp",
"config_path": "/opt/rwmarkable/.env",
"description": "A simple, self-hosted app for your checklists and notes. Tired of bloated, cloud-based to-do apps? rwMarkable is a lightweight alternative for managing your personal checklists and notes. It's built with Next.js 14, is easy to deploy, and keeps all your data on your own server.",
"install_methods": [
{
"type": "default",
"script": "ct/rwmarkable.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@ $STD apk add --no-cache \
libc6-compat
msg_ok "Installed dependencies"
RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.*teamspeak3-server_linux_amd64-\([0-9.]\+\).*/\1/p' | head -1)
RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.*teamspeak3-server_linux_amd64-\([0-9.]*[0-9]\).*/\1/p' | head -1)
msg_info "Installing Teamspeak Server v${RELEASE}"
mkdir -p /opt/teamspeak-server
cd /opt/teamspeak-server

View File

@@ -24,9 +24,6 @@ $STD node bin/build.js dist
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
$STD /opt/cronicle/bin/control.sh setup
$STD /opt/cronicle/bin/control.sh start
$STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
chmod 775 /etc/init.d/cronicled
$STD update-rc.d cronicled defaults
msg_ok "Configured Cronicle Primary Server"
motd_ssh

View File

@@ -1,78 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/StarFleetCPTN/GoMFT
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
sqlite3 \
rclone \
tzdata \
ca-certificates
msg_ok "Installed Dependencies"
fetch_and_deploy_gh_release "gomft" "StarFleetCPTN/GoMFT" "singlefile" "latest" "/opt/gomft" "gomft*linux-amd64"
msg_info "Configuring ${APPLICATION}"
JWT_SECRET_KEY=$(openssl rand -base64 24 | tr -d '/+=')
cat <<EOF >/opt/gomft/.env
SERVER_ADDRESS=:8080
DATA_DIR=/opt/gomft/data/gomft
BACKUP_DIR=/opt/gomft/data/gomft/backups
JWT_SECRET=$JWT_SECRET_KEY
BASE_URL=http://localhost:8080
# Email configuration
EMAIL_ENABLED=false
EMAIL_HOST=smtp.example.com
EMAIL_PORT=587
EMAIL_FROM_EMAIL=gomft@example.com
EMAIL_FROM_NAME=GoMFT
EMAIL_REPLY_TO=
EMAIL_ENABLE_TLS=true
EMAIL_REQUIRE_AUTH=true
EMAIL_USERNAME=smtp_username
EMAIL_PASSWORD=smtp_password
EOF
msg_ok "Configured ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/gomft.service
[Unit]
Description=GoMFT Service
After=network.target
[Service]
Type=simple
User=root
EnvironmentFile=/opt/gomft/.env
WorkingDirectory=/opt/gomft
ExecStart=/opt/gomft/gomft
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now gomft
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
motd_ssh
customize

View File

@@ -14,7 +14,14 @@ network_check
update_os
msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
if ! grep -qEi 'ubuntu' /etc/os-release; then
fetch_and_deploy_gh_release "intel-igc-core-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-core-2_*_amd64.deb"
fetch_and_deploy_gh_release "intel-igc-opencl-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-opencl-2_*_amd64.deb"
fetch_and_deploy_gh_release "intel-libgdgmm12" "intel/compute-runtime" "binary" "latest" "" "libigdgmm12_*_amd64.deb"
fetch_and_deploy_gh_release "intel-opencl-icd" "intel/compute-runtime" "binary" "latest" "" "intel-opencl-icd_*_amd64.deb"
fi
$STD apt -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
if [[ "$CTTYPE" == "0" ]]; then
chgrp video /dev/dri
chmod 755 /dev/dri
@@ -26,13 +33,16 @@ msg_ok "Set Up Hardware Acceleration"
msg_info "Installing Jellyfin"
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
# If the keyring directory is absent, create it
if ! dpkg -s libjemalloc2 >/dev/null 2>&1; then
$STD apt install -y libjemalloc2
fi
if [[ ! -f /usr/lib/libjemalloc.so ]]; then
ln -sf /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 /usr/lib/libjemalloc.so
fi
if [[ ! -d /etc/apt/keyrings ]]; then
mkdir -p /etc/apt/keyrings
fi
# Download the repository signing key and install it to the keyring directory
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor --yes --output /etc/apt/keyrings/jellyfin.gpg
# Install the Deb822 format jellyfin.sources entry
cat <<EOF >/etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs: https://repo.jellyfin.org/${PCT_OSTYPE}
@@ -41,10 +51,11 @@ Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/jellyfin.gpg
EOF
# Install Jellyfin using the metapackage (which will fetch jellyfin-server, jellyfin-web, and jellyfin-ffmpeg5)
$STD apt-get update
$STD apt-get install -y jellyfin
$STD apt update
$STD apt install -y jellyfin
sed -i 's/"MinimumLevel": "Information"/"MinimumLevel": "Error"/g' /etc/jellyfin/logging.json
chown -R jellyfin:adm /etc/jellyfin
sleep 10
systemctl restart jellyfin
@@ -59,6 +70,7 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -3,7 +3,7 @@
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/fccview/rwMarkable
# Source: https://github.com/fccview/jotty
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
@@ -14,16 +14,16 @@ network_check
update_os
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
fetch_and_deploy_gh_release "rwMarkable" "fccview/rwMarkable" "tarball" "latest" "/opt/rwmarkable"
fetch_and_deploy_gh_release "jotty" "fccview/jotty" "tarball" "latest" "/opt/jotty"
msg_info "Installing ${APPLICATION}"
cd /opt/rwmarkable
cd /opt/jotty
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
mkdir -p data/{users,checklists,notes}
cat <<EOF >/opt/rwmarkable/.env
cat <<EOF >/opt/jotty/.env
NODE_ENV=production
# HTTPS=true
@@ -39,21 +39,21 @@ EOF
msg_ok "Installed ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/rwmarkable.service
cat <<EOF >/etc/systemd/system/jotty.service
[Unit]
Description=rwMarkable server
Description=jotty server
After=network.target
[Service]
WorkingDirectory=/opt/rwmarkable
EnvironmentFile=/opt/rwmarkable/.env
WorkingDirectory=/opt/jotty
EnvironmentFile=/opt/jotty/.env
ExecStart=yarn start
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now rwmarkable
systemctl enable -q --now jotty
msg_ok "Created Service"
motd_ssh

View File

@@ -13,8 +13,6 @@ setting_up_container
network_check
update_os
setup_go
msg_info "Installing Dependencies"
$STD apt update
$STD apt -y install \
@@ -31,12 +29,16 @@ $STD apt install -y \
python3-dev \
python3-pip \
python3-venv \
python3-cffi \
python3-certbot \
python3-certbot-dns-cloudflare
$STD pip3 install --break-system-packages certbot-dns-multi
python3-cffi
msg_ok "Installed Python Dependencies"
msg_info "Setting up Certbot"
$STD python3 -m venv /opt/certbot
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
$STD /opt/certbot/bin/pip install certbot certbot-dns-cloudflare
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
msg_ok "Set up Certbot"
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
msg_info "Installing Openresty"
@@ -53,7 +55,7 @@ $STD apt update
$STD apt -y install openresty
msg_ok "Installed Openresty"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
grep "tag_name" |
@@ -66,7 +68,6 @@ msg_ok "Downloaded Nginx Proxy Manager v${RELEASE}"
msg_info "Setting up Environment"
ln -sf /usr/bin/python3 /usr/bin/python
ln -sf /usr/bin/certbot /usr/local/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
ln -sf /usr/local/openresty/nginx/ /etc/nginx
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
@@ -118,9 +119,11 @@ msg_ok "Set up Environment"
msg_info "Building Frontend"
cd ./frontend
$STD pnpm install
$STD pnpm upgrade
$STD pnpm run build
export NODE_OPTIONS="--openssl-legacy-provider"
# Replace node-sass with sass in package.json before installation
sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
$STD yarn install --network-timeout 600000
$STD yarn build
cp -r dist/* /app/frontend
cp -r app-images/* /app/frontend/images
msg_ok "Built Frontend"
@@ -143,7 +146,8 @@ if [ ! -f /app/config/production.json ]; then
EOF
fi
cd /app
$STD pnpm install
export NODE_OPTIONS="--openssl-legacy-provider"
$STD yarn install --network-timeout 600000
msg_ok "Initialized Backend"
msg_info "Creating Service"

View File

@@ -15,7 +15,7 @@ update_os
fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr"
PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)"
NODE_VERSION="20" NODE_MODULE="$PNPM" setup_nodejs
NODE_VERSION="24" NODE_MODULE="$PNPM" setup_nodejs
msg_info "Configuring palmr backend"
PALMR_DIR="/opt/palmr_data"

View File

@@ -13,14 +13,9 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
apache2 \
libapache2-mod-php \
php8.2-{pdo,mysql,mbstring,gettext,fileinfo,gd,xml,zip}
msg_ok "Installed Dependencies"
PHP_VERSION="8.4" PHP_APACHE="YES" PHP_MODULE="pdo,mysql,gettext,fileinfo" setup_php
setup_mariadb
fetch_and_deploy_gh_release "projectsend" "projectsend/projectsend" "prebuild" "latest" "/opt/projectsend" "projectsend-r*.zip"
msg_info "Setting up MariaDB"
DB_NAME=projectsend
@@ -37,12 +32,7 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS
} >>~/projectsend.creds
msg_ok "Set up MariaDB"
msg_info "Installing projectsend"
RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cd /opt
curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o "projectsend-r${RELEASE}.zip"
mkdir projectsend
$STD unzip "projectsend-r${RELEASE}.zip" -d projectsend
msg_info "Installing ProjectSend"
mv /opt/projectsend/includes/sys.config.sample.php /opt/projectsend/includes/sys.config.php
chown -R www-data:www-data /opt/projectsend
chmod -R 775 /opt/projectsend
@@ -55,8 +45,7 @@ sed -i -e "s/^\(memory_limit = \).*/\1 256M/" \
-e "s/^\(post_max_size = \).*/\1 256M/" \
-e "s/^\(upload_max_filesize = \).*/\1 256M/" \
-e "s/^\(max_execution_time = \).*/\1 300/" \
/etc/php/8.2/apache2/php.ini
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
/etc/php/8.4/apache2/php.ini
msg_ok "Installed projectsend"
msg_info "Creating Service"
@@ -84,7 +73,6 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf "/opt/projectsend-r${RELEASE}.zip"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean

View File

@@ -54,7 +54,6 @@ $STD apt install -y \
libreoffice-base-core \
libreoffice-script-provider-python \
libreoffice-java-common \
unoconv \
pngquant \
weasyprint
msg_ok "Installed LibreOffice Components"

View File

@@ -35,8 +35,8 @@ if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
msg_ok "No AVX Support Detected"
msg_info "Installing MongoDB 4.4"
if ! dpkg -l | grep -q "libssl1.1"; then
curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u3_amd64.deb" -o "libssl1.1_1.1.1w-0+deb11u3_amd64.deb"
$STD dpkg -i libssl1.1_1.1.1w-0+deb11u3_amd64.deb
curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u4_amd64.deb" -o "libssl1.1_1.1.1w-0+deb11u4_amd64.deb"
$STD dpkg -i libssl1.1_1.1.1w-0+deb11u4_amd64.deb
fi
curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor -o /usr/share/keyrings/mongodb-server-4.4.gpg
cat <<EOF | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.sources >/dev/null

View File

@@ -345,7 +345,7 @@ if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[
msg_error "Template appears to be corrupted re-downloading."
rm -f "$TEMPLATE_PATH"
else
msg_error "Template is valid, but container creation still failed."
msg_error "Template is valid, but container creation failed. Update your whole Proxmox System (pve-container) first or check https://github.com/community-scripts/ProxmoxVE/discussions/8126"
exit 209
fi

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Author: MickLesk
# Author: MickLesk
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
function header_info() {
@@ -53,20 +53,9 @@ fi
header_info
function msg_info() {
local msg="$1"
echo -e "${INFO} ${YW}${msg}...${CL}"
}
function msg_ok() {
local msg="$1"
echo -e "${CM} ${GN}${msg}${CL}"
}
function msg_error() {
local msg="$1"
echo -e "${CROSS} ${RD}${msg}${CL}"
}
function msg_info() { echo -e "${INFO} ${YW}$1...${CL}"; }
function msg_ok() { echo -e "${CM} ${GN}$1${CL}"; }
function msg_error() { echo -e "${CROSS} ${RD}$1${CL}"; }
# Detect legacy FileBrowser installation
LEGACY_DB="/usr/local/community-scripts/filebrowser.db"
@@ -96,42 +85,32 @@ if [[ -f "$LEGACY_DB" || -f "$LEGACY_BIN" && ! -f "$CONFIG_PATH" ]]; then
fi
fi
# Check existing installation
if [[ -f "$INSTALL_PATH" ]]; then
echo -e "${YW}⚠️ ${APP} is already installed.${CL}"
echo -n "Uninstall ${APP}? (y/N): "
read -r uninstall_prompt
if [[ "${uninstall_prompt,,}" =~ ^(y|yes)$ ]]; then
msg_info "Uninstalling ${APP}"
if [[ "$OS" == "Debian" ]]; then
systemctl disable --now filebrowser.service &>/dev/null
rm -f "$SERVICE_PATH"
else
rc-service filebrowser stop &>/dev/null
rc-update del filebrowser &>/dev/null
rm -f "$SERVICE_PATH"
fi
rm -f "$INSTALL_PATH" "$CONFIG_PATH"
msg_ok "${APP} has been uninstalled."
exit 0
# Existing installation
if [[ -f "$INSTALL_PATH" ]]; then
echo -e "${YW}⚠️ ${APP} is already installed.${CL}"
echo -n "Uninstall ${APP}? (y/N): "
read -r uninstall_prompt
if [[ "${uninstall_prompt,,}" =~ ^(y|yes)$ ]]; then
msg_info "Uninstalling ${APP}"
if [[ "$OS" == "Debian" ]]; then
systemctl disable --now filebrowser.service &>/dev/null
rm -f "$SERVICE_PATH"
else
rc-service filebrowser stop &>/dev/null
rc-update del filebrowser &>/dev/null
rm -f "$SERVICE_PATH"
fi
rm -f "$INSTALL_PATH" "$CONFIG_PATH"
msg_ok "${APP} has been uninstalled."
exit 0
fi
echo -n "Update ${APP}? (y/N): "
read -r update_prompt
echo -n "Update ${APP}? (y/N): "
read -r update_prompt
if [[ "${update_prompt,,}" =~ ^(y|yes)$ ]]; then
msg_info "Updating ${APP}"
tmp="${INSTALL_PATH}.tmp.$$"
if ! curl -fSL https://github.com/gtsteffaniak/filebrowser/releases/latest/download/linux-amd64-filebrowser -o "$tmp"; then
msg_error "Download failed"
rm -f "$tmp"
exit 1
fi
chmod 0755 "$tmp"
if ! mv -f "$tmp" "$INSTALL_PATH"; then
msg_error "Install failed (cannot move into $INSTALL_PATH)"
rm -f "$tmp"
exit 1
fi
curl -fsSL https://github.com/gtsteffaniak/filebrowser/releases/latest/download/linux-amd64-filebrowser -o "$INSTALL_PATH"
chmod +x "$INSTALL_PATH"
msg_ok "Updated ${APP}"
exit 0
else
@@ -147,72 +126,80 @@ PORT=${PORT:-$DEFAULT_PORT}
echo -n "Install ${APP}? (y/n): "
read -r install_prompt
if [[ "${install_prompt,,}" =~ ^(y|yes)$ ]]; then
msg_info "Installing ${APP} on ${OS}"
$PKG_MANAGER curl ffmpeg &>/dev/null
curl -fsSL https://github.com/gtsteffaniak/filebrowser/releases/latest/download/linux-amd64-filebrowser -o "$INSTALL_PATH"
chmod +x "$INSTALL_PATH"
msg_ok "Installed ${APP}"
if ! [[ "${install_prompt,,}" =~ ^(y|yes)$ ]]; then
echo -e "${YW}⚠️ Installation skipped. Exiting.${CL}"
exit 0
fi
msg_info "Preparing configuration directory"
mkdir -p /usr/local/community-scripts
chown root:root /usr/local/community-scripts
chmod 755 /usr/local/community-scripts
msg_ok "Directory prepared"
msg_info "Installing ${APP} on ${OS}"
$PKG_MANAGER curl ffmpeg &>/dev/null
curl -fsSL https://github.com/gtsteffaniak/filebrowser/releases/latest/download/linux-amd64-filebrowser -o "$INSTALL_PATH"
chmod +x "$INSTALL_PATH"
msg_ok "Installed ${APP}"
echo -n "Use No Authentication? (y/N): "
read -r noauth_prompt
msg_info "Preparing configuration directory"
mkdir -p /usr/local/community-scripts
chown root:root /usr/local/community-scripts
chmod 755 /usr/local/community-scripts
msg_ok "Directory prepared"
if [[ "${noauth_prompt,,}" =~ ^(y|yes)$ ]]; then
cat <<EOF >"$CONFIG_PATH"
echo -n "Use No Authentication? (y/N): "
read -r noauth_prompt
# === YAML CONFIG GENERATION ===
if [[ "${noauth_prompt,,}" =~ ^(y|yes)$ ]]; then
cat <<EOF >"$CONFIG_PATH"
server:
port: $PORT
sources:
- path: "$SRC_DIR"
name: "RootFS"
config:
denyByDefault: false
disableIndexing: false
indexingIntervalMinutes: 240
exclude:
folderPaths:
- "/proc"
- "/sys"
- "/dev"
- "/run"
- "/tmp"
- "/lost+found"
conditionals:
rules:
- neverWatchPath: "/proc"
- neverWatchPath: "/sys"
- neverWatchPath: "/dev"
- neverWatchPath: "/run"
- neverWatchPath: "/tmp"
- neverWatchPath: "/lost+found"
auth:
methods:
noauth: true
EOF
msg_ok "Configured with no authentication"
else
cat <<EOF >"$CONFIG_PATH"
msg_ok "Configured with no authentication"
else
cat <<EOF >"$CONFIG_PATH"
server:
port: $PORT
sources:
- path: "$SRC_DIR"
name: "RootFS"
config:
denyByDefault: false
disableIndexing: false
indexingIntervalMinutes: 240
exclude:
folderPaths:
- "/proc"
- "/sys"
- "/dev"
- "/run"
- "/tmp"
- "/lost+found"
conditionals:
rules:
- neverWatchPath: "/proc"
- neverWatchPath: "/sys"
- neverWatchPath: "/dev"
- neverWatchPath: "/run"
- neverWatchPath: "/tmp"
- neverWatchPath: "/lost+found"
auth:
adminUsername: admin
adminPassword: helper-scripts.com
EOF
msg_ok "Configured with default admin (admin / helper-scripts.com)"
fi
msg_ok "Configured with default admin (admin / helper-scripts.com)"
fi
msg_info "Creating service"
if [[ "$OS" == "Debian" ]]; then
cat <<EOF >"$SERVICE_PATH"
msg_info "Creating service"
if [[ "$OS" == "Debian" ]]; then
cat <<EOF >"$SERVICE_PATH"
[Unit]
Description=FileBrowser Quantum
After=network.target
@@ -226,9 +213,9 @@ Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now filebrowser &>/dev/null
else
cat <<EOF >"$SERVICE_PATH"
systemctl enable --now filebrowser &>/dev/null
else
cat <<EOF >"$SERVICE_PATH"
#!/sbin/openrc-run
command="/usr/local/bin/filebrowser"
@@ -241,14 +228,10 @@ depend() {
need net
}
EOF
chmod +x "$SERVICE_PATH"
rc-update add filebrowser default &>/dev/null
rc-service filebrowser start &>/dev/null
fi
msg_ok "Service created successfully"
echo -e "${CM} ${GN}${APP} is reachable at: ${BL}http://$IP:$PORT${CL}"
else
echo -e "${YW}⚠️ Installation skipped. Exiting.${CL}"
exit 0
chmod +x "$SERVICE_PATH"
rc-update add filebrowser default &>/dev/null
rc-service filebrowser start &>/dev/null
fi
msg_ok "Service created successfully"
echo -e "${CM} ${GN}${APP} is reachable at: ${BL}http://$IP:$PORT${CL}"