Compare commits

..

2 Commits

Author SHA1 Message Date
Slaviša Arežina
d1828ed3e0 Merge branch 'main' into harmonize_typo 2025-10-10 08:10:27 +02:00
CanbiZ
317c4cff71 Harmonize Service MSG-Blocks 2025-10-09 22:09:04 +02:00
34 changed files with 14755 additions and 2777 deletions

View File

@@ -1,59 +0,0 @@
name: Auto-Close Wrong Template Issues
on:
issues:
types: [opened]
jobs:
close_tteck_issues:
if: github.repository == 'community-scripts/ProxmoxVE'
runs-on: ubuntu-latest
steps:
- name: Auto-close if wrong Template issue detected
uses: actions/github-script@v7
with:
script: |
const issue = context.payload.issue;
const content = `${issue.title}\n${issue.body}`;
const issueNumber = issue.number;
// Regex patterns (case-insensitive, flexible versioning)
const patterns = [
/Template\s+debian-13-standard_[\d.]+-[\d]+_amd64\.tar\.zst\s*\[(online|local)\]/i,
/Template\s+debian-13-standard_[\d.]+-[\d]+_amd64\.tar\.zst\s+is\s+missing\s+or\s+corrupted/i,
/Container\s+creation\s+failed\.?\s+Checking\s+if\s+template\s+is\s+corrupted\s+or\s+incomplete/i,
/Template\s+is\s+valid,\s+but\s+container\s+creation\s+still\s+failed/i,
/exit\s+code\s+0:\s+while\s+executing\s+command\s+bash\s+-c\s+"\$?\(curl\s+-fsSL\s+https:\/\/raw\.githubusercontent\.com\/[\w/-]+\/create_lxc\.sh\)"/i
];
const matched = patterns.some((regex) => regex.test(content));
if (matched) {
const message = `👋 Hello!
It looks like you are referencing a **container creation issue with a Debian 13 template** (e.g. \`debian-13-standard_13.x-x_amd64.tar.zst\`).
We receive many similar reports about this, and its not related to the scripts themselves but to **a Proxmox base template bug**.
Please refer to [discussion #8126](https://github.com/community-scripts/ProxmoxVE/discussions/8126) for details.
If your issue persists after following the guidance there, feel free to reopen this issue.
_This issue was automatically closed by a bot._`;
await github.rest.issues.createComment({
...context.repo,
issue_number: issueNumber,
body: message
});
await github.rest.issues.addLabels({
...context.repo,
issue_number: issueNumber,
labels: ["not planned"]
});
await github.rest.issues.update({
...context.repo,
issue_number: issueNumber,
state: "closed"
});
}

14
.github/workflows/frontend-cicd.yml generated vendored
View File

@@ -97,7 +97,7 @@ jobs:
success = test_json_files()
sys.exit(0 if success else 1)
EOF
build:
if: github.repository == 'community-scripts/ProxmoxVE'
needs: test-json-files
@@ -109,13 +109,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Setup Node
uses: actions/setup-node@v4
with:
bun-version: latest
node-version: "20"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: bun install --frozen-lockfile
run: npm ci --prefer-offline --legacy-peer-deps
- name: Configure Next.js for pages
uses: actions/configure-pages@v5
@@ -123,7 +125,7 @@ jobs:
static_site_generator: next
- name: Build with Next.js
run: bun run build
run: npm run build
- name: Upload artifact
if: github.ref == 'refs/heads/main'

View File

@@ -10,58 +10,8 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-10-13
## 2025-10-12
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Immich: add Debian Testing repo [@vhsdream](https://github.com/vhsdream) ([#8310](https://github.com/community-scripts/ProxmoxVE/pull/8310))
- Tinyauth: Fix install issues for v4 [@tremor021](https://github.com/tremor021) ([#8309](https://github.com/community-scripts/ProxmoxVE/pull/8309))
## 2025-10-11
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Zabbix: various bugfixes agent1/agent2 [@MickLesk](https://github.com/MickLesk) ([#8294](https://github.com/community-scripts/ProxmoxVE/pull/8294))
- wger: fix python and pip install [@MickLesk](https://github.com/MickLesk) ([#8295](https://github.com/community-scripts/ProxmoxVE/pull/8295))
- searxng: add msgspec as dependency [@MickLesk](https://github.com/MickLesk) ([#8293](https://github.com/community-scripts/ProxmoxVE/pull/8293))
- keycloak: fix update check [@MickLesk](https://github.com/MickLesk) ([#8275](https://github.com/community-scripts/ProxmoxVE/pull/8275))
- komga: fix update check [@MickLesk](https://github.com/MickLesk) ([#8285](https://github.com/community-scripts/ProxmoxVE/pull/8285))
- #### ✨ New Features
- host-backup.sh: Added "ALL" option and include timestamp in backup filename [@stumpyofpain](https://github.com/stumpyofpain) ([#8276](https://github.com/community-scripts/ProxmoxVE/pull/8276))
- Komga: Update dependencies and enable RAR5 support [@tremor021](https://github.com/tremor021) ([#8257](https://github.com/community-scripts/ProxmoxVE/pull/8257))
### 🌐 Website
- Update script count in metadata and page content from 300+ to 400+ [@BramSuurdje](https://github.com/BramSuurdje) ([#8279](https://github.com/community-scripts/ProxmoxVE/pull/8279))
- Refactor CI workflow to use Bun instead of Node.js. [@BramSuurdje](https://github.com/BramSuurdje) ([#8277](https://github.com/community-scripts/ProxmoxVE/pull/8277))
## 2025-10-10
### 🆕 New Scripts
- Prometheus-Blackbox-Exporter ([#8255](https://github.com/community-scripts/ProxmoxVE/pull/8255))
- SonarQube ([#8256](https://github.com/community-scripts/ProxmoxVE/pull/8256))
### 🚀 Updated Scripts
- Unifi installation script fix [@knightfall](https://github.com/knightfall) ([#8242](https://github.com/community-scripts/ProxmoxVE/pull/8242))
- #### 🐞 Bug Fixes
- Docmost: Fix env variables [@tremor021](https://github.com/tremor021) ([#8244](https://github.com/community-scripts/ProxmoxVE/pull/8244))
- #### 🔧 Refactor
- Harmonize Service MSG-Blocks [@MickLesk](https://github.com/MickLesk) ([#8233](https://github.com/community-scripts/ProxmoxVE/pull/8233))
## 2025-10-09
### 🆕 New Scripts

View File

@@ -29,19 +29,15 @@ function update_script() {
$STD apk -U upgrade
msg_ok "Updated packages"
msg_info "Updating Tinyauth"
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [ "${RELEASE}" != "$(cat ~/.tinyauth 2>/dev/null)" ] || [ ! -f ~/.tinyauth ]; then
msg_info "Stopping Service"
$STD service tinyauth stop
msg_ok "Service Stopped"
msg_info "Updating Tinyauth"
if [ "${RELEASE}" != "$(cat /opt/tinyauth_version.txt)" ] || [ ! -f /opt/tinyauth_version.txt ]; then
$STD service tinyauth stop
rm -f /opt/tinyauth/tinyauth
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
chmod +x /opt/tinyauth/tinyauth
echo "${RELEASE}" >~/.tinyauth
msg_ok "Updated Tinyauth"
echo "${RELEASE}" >/opt/tinyauth_version.txt
msg_info "Restarting Tinyauth"
$STD service tinyauth start
msg_ok "Restarted Tinyauth"

View File

@@ -1,6 +0,0 @@
____ __ __ ____ __ __ __ ______ __
/ __ \_________ ____ ___ ___ / /_/ /_ ___ __ _______ / __ )/ /___ ______/ /__/ /_ ____ _ __ / ____/ ______ ____ _____/ /____ _____
/ /_/ / ___/ __ \/ __ `__ \/ _ \/ __/ __ \/ _ \/ / / / ___/_____/ __ / / __ `/ ___/ //_/ __ \/ __ \| |/_/_____/ __/ | |/_/ __ \/ __ \/ ___/ __/ _ \/ ___/
/ ____/ / / /_/ / / / / / / __/ /_/ / / / __/ /_/ (__ )_____/ /_/ / / /_/ / /__/ ,< / /_/ / /_/ /> </_____/ /____> </ /_/ / /_/ / / / /_/ __/ /
/_/ /_/ \____/_/ /_/ /_/\___/\__/_/ /_/\___/\__,_/____/ /_____/_/\__,_/\___/_/|_/_.___/\____/_/|_| /_____/_/|_/ .___/\____/_/ \__/\___/_/
/_/

View File

@@ -1,6 +0,0 @@
_____ ____ __
/ ___/____ ____ ____ ______/ __ \__ __/ /_ ___
\__ \/ __ \/ __ \/ __ `/ ___/ / / / / / / __ \/ _ \
___/ / /_/ / / / / /_/ / / / /_/ / /_/ / /_/ / __/
/____/\____/_/ /_/\__,_/_/ \___\_\__,_/_.___/\___/

View File

@@ -39,26 +39,8 @@ function update_script() {
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
if [[ ! -f /etc/apt/preferences.d/preferences ]]; then
msg_info "Adding Debian Testing repo"
sed -i 's/ trixie-updates/ trixie-updates testing/g' /etc/apt/sources.list.d/debian.sources
cat <<EOF >/etc/apt/preferences.d/preferences
Package: *
Pin: release a=unstable
Pin-Priority: 450
Package: *
Pin:release a=testing
Pin-Priority: 450
EOF
if [[ -f /etc/apt/preferences.d/immich ]]; then
rm /etc/apt/preferences.d/immich
fi
$STD apt-get update
msg_ok "Added Debian Testing repo"
msg_info "Installing libmimalloc3"
$STD apt-get install -t testing --no-install-recommends libmimalloc3
msg_ok "Installed libmimalloc3"
if dpkg -l | grep -q "libmimalloc2.0"; then
$STD apt-get update && $STD apt-get install -y libmimalloc3
fi
STAGING_DIR=/opt/staging

View File

@@ -27,7 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "keycloak-app" "keycloak/keycloak"; then
if check_for_gh_release "keycloak" "keycloak/keycloak"; then
msg_info "Stopping Keycloak"
systemctl stop keycloak
msg_ok "Stopped Keycloak"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -27,7 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "komga-org" "gotson/komga"; then
if check_for_gh_release "komga" "gotson/komga"; then
msg_info "Stopping Service"
systemctl stop komga
msg_ok "Stopped Service"

View File

@@ -1,62 +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: Marfnl
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/prometheus/blackbox_exporter
APP="Prometheus-Blackbox-Exporter"
var_tags="${var_tags:-monitoring;prometheus}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
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/blackbox-exporter ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "blackbox-exporter" "prometheus/blackbox_exporter"; then
msg_info "Stopping Service"
systemctl stop blackbox-exporter
msg_ok "Stopped Service"
msg_info "Creating backup"
mv /opt/blackbox-exporter/blackbox.yml /opt
msg_ok "Backup created"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "blackbox-exporter" "prometheus/blackbox_exporter" "prebuild" "latest" "/opt/blackbox-exporter" "blackbox_exporter-*.linux-amd64.tar.gz"
msg_info "Restoring backup"
cp -r /opt/blackbox.yml /opt/blackbox-exporter
rm -f /opt/blackbox.yml
msg_ok "Backup restored"
msg_info "Starting Service"
systemctl start blackbox-exporter
msg_ok "Started Service"
msg_ok "Update 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}:9115${CL}"

View File

@@ -1,71 +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: prop4n
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://docs.sonarsource.com/sonarqube-server
APP="SonarQube"
var_tags="${var_tags:-automation}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-6144}"
var_disk="${var_disk:-25}"
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/sonarqube ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "sonarqube" "SonarSource/sonarqube"; then
msg_info "Stopping Service"
systemctl stop sonarqube
msg_ok "Stopped Service"
msg_info "Creating backup"
BACKUP_DIR="/opt/sonarqube-backup"
mv /opt/sonarqube ${BACKUP_DIR}
msg_ok "Backup created"
msg_info "Installing sonarqube"
RELEASE=$(curl -fsSL https://api.github.com/repos/SonarSource/sonarqube/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
unzip -q "$temp_file" -d /opt
mv /opt/sonarqube-* /opt/sonarqube
msg_ok "Installed sonarqube"
msg_info "Restoring backup"
cp -rp ${BACKUP_DIR}/data/ /opt/sonarqube/data/
cp -rp ${BACKUP_DIR}/extensions/ /opt/sonarqube/extensions/
cp -p ${BACKUP_DIR}/conf/sonar.properties /opt/sonarqube/conf/sonar.properties
rm -rf ${BACKUP_DIR}
chown -R sonarqube:sonarqube /opt/sonarqube
msg_ok "Backup restored"
msg_info "Starting Service"
systemctl start sonarqube
msg_ok "Service started"
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}:9000${CL}"

View File

@@ -39,18 +39,16 @@ function update_script() {
tar xzf "$temp_file"
cp -rf wger-"$RELEASE"/* /home/wger/src
cd /home/wger/src || exit
$STD pip install -r requirements_prod.txt --ignore-installed
$STD pip install -e .
$STD python3 manage.py migrate
$STD python3 manage.py collectstatic --no-input
$STD yarn install
$STD yarn build:css:sass
$STD python3 manage.py collectstatic --noinput
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting Service"
msg_info "Starting $APP"
systemctl start wger
msg_ok "Started Service"
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf "$temp_file"

View File

@@ -42,12 +42,7 @@ function update_script() {
fi
msg_info "Stopping Services"
$STD systemctl stop zabbix-server
if systemctl list-unit-files | grep -q zabbix-agent2; then
$STD systemctl stop zabbix-agent2
else
$STD systemctl stop zabbix-agent
fi
systemctl stop zabbix-server $AGENT_SERVICE
msg_ok "Stopped Services"
msg_info "Updating Zabbix"
@@ -88,22 +83,14 @@ function update_script() {
msg_ok "Updated Zabbix"
msg_info "Starting Services"
$STD systemctl start zabbix-server
if systemctl list-unit-files | grep -q zabbix-agent2; then
$STD systemctl start zabbix-agent2
else
$STD systemctl start zabbix-agent
fi
systemctl start zabbix-server $AGENT_SERVICE
systemctl restart apache2
msg_ok "Started Services"
msg_info "Cleaning Up"
rm -rf /tmp/zabbix-release_latest+debian13_all.deb
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
msg_ok "Updated Successfully!"
msg_ok "Updated Successfully"
exit
}

1960
frontend/bun.lock generated

File diff suppressed because it is too large Load Diff

14460
frontend/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -1,41 +0,0 @@
{
"name": "Prometheus Blackbox Exporter",
"slug": "prometheus-blackbox-exporter",
"categories": [
1,
9
],
"date_created": "2025-10-10",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9115,
"documentation": "https://github.com/prometheus/blackbox_exporter",
"website": "https://github.com/prometheus/blackbox_exporter",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/prometheus.webp",
"config_path": "/opt/blackbox-exporter/blackbox.yml",
"description": "An exporter allows blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP, ICMP and gRPC for use by the Prometheus monitoring system.",
"install_methods": [
{
"type": "default",
"script": "ct/prometheus-blackbox-exporter.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 4,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Please adjust the Proxmox credentials in the configuration file!",
"type": "info"
}
]
}

View File

@@ -1,36 +0,0 @@
{
"name": "sonarqube",
"slug": "sonarqube",
"categories": [
20,
19
],
"date_created": "2025-10-10",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9000,
"documentation": "https://docs.sonarsource.com/sonarqube-server",
"config_path": "/opt/sonarqube/conf/sonar.properties",
"website": "https://www.sonarsource.com/products/sonarqube/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/sonarqube.webp",
"description": "SonarQube Server automates code quality and security reviews and provides actionable code intelligence so developers can focus on building better, faster.",
"install_methods": [
{
"type": "default",
"script": "ct/sonarqube.sh",
"resources": {
"cpu": 4,
"ram": 6144,
"hdd": 25,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin"
},
"notes": []
}

View File

@@ -1,249 +1,34 @@
[
{
"name": "esphome/esphome",
"version": "2025.9.3",
"date": "2025-10-01T11:30:07Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.3.2",
"date": "2025-10-12T21:30:43Z"
"name": "rcourtman/Pulse",
"version": "v4.22.0",
"date": "2025-10-09T08:23:58Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.22",
"date": "2025-10-12T20:49:21Z"
},
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-10-11T19:50:32Z"
},
{
"name": "globaleaks/globaleaks-whistleblowing-software",
"version": "v5.0.85",
"date": "2025-10-12T19:55:18Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.23.0",
"date": "2025-10-12T18:41:33Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.6.0",
"date": "2025-10-12T16:09:29Z"
},
{
"name": "ellite/Wallos",
"version": "v4.4.1",
"date": "2025-10-12T15:38:24Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.28",
"date": "2025-10-12T14:55:27Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.2",
"date": "2025-10-07T08:11:58Z"
},
{
"name": "PrivateBin/PrivateBin",
"version": "2.0.1",
"date": "2025-10-12T10:00:52Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.0",
"date": "2025-10-08T16:12:11Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.115",
"date": "2025-10-12T05:54:52Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.13",
"date": "2025-10-12T05:45:48Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-10-12T00:27:08Z"
"version": "0.50.19",
"date": "2025-10-09T23:19:31Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.78.0.rc.1",
"date": "2025-10-11T22:11:56Z"
"version": "v1.77.7.dev10",
"date": "2025-10-09T22:25:13Z"
},
{
"name": "gelbphoenix/autocaliweb",
"version": "v0.10.4",
"date": "2025-10-11T19:53:39Z"
"version": "v0.10.3",
"date": "2025-10-09T21:55:26Z"
},
{
"name": "jhuckaby/Cronicle",
"version": "v0.9.96",
"date": "2025-10-11T18:33:27Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v1.4.0",
"date": "2025-10-11T18:16:32Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{
"name": "SigNoz/signoz",
"version": "v0.97.0-515a1bda0",
"date": "2025-10-11T15:06:55Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.3.2",
"date": "2025-10-11T09:59:27Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-docker-alpine-3-22-v5",
"date": "2025-10-11T09:04:29Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.2.3-2.1.2.3_beta_2025-10-11",
"date": "2025-10-11T06:49:43Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "home-assistant/core",
"version": "2025.10.2",
"date": "2025-10-10T21:20:11Z"
"name": "raydak-labs/configarr",
"version": "v1.17.0",
"date": "2025-10-09T19:15:06Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",
"date": "2025-01-05T21:14:23Z"
},
{
"name": "0xERR0R/blocky",
"version": "v0.27.0",
"date": "2025-10-10T20:11:48Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.16",
"date": "2025-10-08T04:44:28Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.41.0",
"date": "2025-10-10T19:15:38Z"
},
{
"name": "laurent22/joplin",
"version": "server-v3.4.4",
"date": "2025-09-25T13:19:26Z"
},
{
"name": "getumbrel/umbrel",
"version": "1.4.2",
"date": "2025-05-09T08:54:49Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.5",
"date": "2025-10-10T16:30:53Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.16.0",
"date": "2025-10-10T16:17:02Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.17.1",
"date": "2025-10-10T16:12:41Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.27.9",
"date": "2025-10-10T14:48:51Z"
},
{
"name": "apache/tomcat",
"version": "10.1.48",
"date": "2025-10-10T14:46:53Z"
},
{
"name": "element-hq/synapse",
"version": "v1.138.4",
"date": "2025-10-08T09:11:57Z"
},
{
"name": "crowdsecurity/crowdsec",
"version": "v1.7.0",
"date": "2025-09-01T10:10:34Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.114.4",
"date": "2025-10-07T14:28:46Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.16.34",
"date": "2025-10-10T11:57:38Z"
},
{
"name": "azukaar/Cosmos-Server",
"version": "v0.18.4",
"date": "2025-04-05T19:12:57Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.3.2",
"date": "2025-10-10T08:39:41Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
"date": "2025-09-27T20:59:46Z"
},
{
"name": "emqx/emqx",
"version": "e6.0.1-alpha.1",
"date": "2025-10-10T06:57:48Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.3.2",
"date": "2025-10-10T03:45:06Z"
},
{
"name": "projectsend/projectsend",
"version": "r1945",
"date": "2025-10-10T02:30:05Z"
},
{
"name": "prometheus/alertmanager",
"version": "v0.29.0-rc.0",
"date": "2025-10-10T01:13:27Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.4.2",
@@ -254,6 +39,26 @@
"version": "v0.13.2",
"date": "2025-10-09T18:33:46Z"
},
{
"name": "esphome/esphome",
"version": "2025.9.3",
"date": "2025-10-01T11:30:07Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{
"name": "azukaar/Cosmos-Server",
"version": "v0.18.4",
"date": "2025-04-05T19:12:57Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.4-rc7",
"date": "2025-10-09T02:13:38Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.20",
@@ -264,16 +69,16 @@
"version": "v25.7.1",
"date": "2025-10-09T15:42:11Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w41-4.14.0",
"date": "2025-10-03T18:56:57Z"
},
{
"name": "silverbulletmd/silverbullet",
"version": "2.1.9",
"date": "2025-10-09T13:57:14Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.27.8",
"date": "2025-10-09T13:49:59Z"
},
{
"name": "tobychui/zoraxy",
"version": "v3.2.7",
@@ -284,10 +89,35 @@
"version": "11.0.1",
"date": "2025-10-09T12:34:15Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w41-4.14.0",
"date": "2025-10-03T18:56:57Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.2",
"date": "2025-10-07T08:11:58Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-v1.22.2-compaction-task-3",
"date": "2025-10-09T08:20:58Z"
},
{
"name": "theonedev/onedev",
"version": "v13.0.8",
"date": "2025-10-09T07:13:00Z"
"date": "2025-10-09T06:36:42Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.95",
"date": "2025-10-09T05:58:58Z"
},
{
"name": "documenso/documenso",
@@ -299,6 +129,16 @@
"version": "v2.0.118",
"date": "2025-10-09T03:33:01Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-10-09T00:27:04Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.0",
"date": "2025-10-08T16:12:11Z"
},
{
"name": "rabbitmq/rabbitmq-server",
"version": "v4.1.4",
@@ -319,6 +159,11 @@
"version": "v1.68.0",
"date": "2025-10-08T18:33:12Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.16",
"date": "2025-10-08T04:44:28Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.67",
@@ -359,11 +204,46 @@
"version": "v0.307.0-rc.0",
"date": "2025-10-08T11:25:44Z"
},
{
"name": "element-hq/synapse",
"version": "v1.138.4",
"date": "2025-10-08T09:11:57Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.114.4",
"date": "2025-10-07T14:28:46Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.12",
"date": "2025-10-08T08:03:01Z"
},
{
"name": "gotson/komga",
"version": "1.23.5",
"date": "2025-10-08T07:31:37Z"
},
{
"name": "SigNoz/signoz",
"version": "v0.97.0-rc.3",
"date": "2025-10-08T06:53:48Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.3.1",
"date": "2025-10-08T05:58:37Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.5.1",
"date": "2025-10-07T21:57:21Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.33",
@@ -379,6 +259,11 @@
"version": "v0.15.1",
"date": "2025-10-07T20:30:56Z"
},
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-10-07T18:00:49Z"
},
{
"name": "coder/code-server",
"version": "v4.104.3",
@@ -399,6 +284,11 @@
"version": "jenkins-2.531",
"date": "2025-10-07T13:42:39Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.3.1",
"date": "2025-10-07T12:55:04Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v11.4.1",
@@ -484,6 +374,11 @@
"version": "v1.5.9",
"date": "2025-10-06T08:34:01Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
"date": "2025-09-27T20:59:46Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
@@ -524,6 +419,11 @@
"version": "v0.62.11",
"date": "2025-10-05T07:31:57Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.27",
"date": "2025-10-05T02:16:42Z"
},
{
"name": "webmin/webmin",
"version": "2.520",
@@ -534,11 +434,36 @@
"version": "v0.8.8-beta",
"date": "2025-10-04T15:56:29Z"
},
{
"name": "globaleaks/globaleaks-whistleblowing-software",
"version": "v5.0.84",
"date": "2025-10-04T08:06:12Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.3.0",
"date": "2025-10-03T21:22:14Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.40.0",
"date": "2025-10-03T19:14:46Z"
},
{
"name": "home-assistant/core",
"version": "2025.10.1",
"date": "2025-10-03T18:10:59Z"
},
{
"name": "immich-app/immich",
"version": "v2.0.1",
"date": "2025-10-03T16:32:01Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.1.104-2.1.1.104_canary_2025-10-03",
"date": "2025-10-03T13:14:48Z"
},
{
"name": "docker/compose",
"version": "v2.40.0",
@@ -549,6 +474,16 @@
"version": "8.2.2",
"date": "2025-10-03T06:22:38Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.3.1",
"date": "2025-10-02T17:10:34Z"
},
{
"name": "jhuckaby/Cronicle",
"version": "v0.9.95",
"date": "2025-10-02T16:07:18Z"
},
{
"name": "cockpit-project/cockpit",
"version": "348",
@@ -559,11 +494,21 @@
"version": "v3.2.3-beta",
"date": "2025-10-02T13:48:14Z"
},
{
"name": "apache/tomcat",
"version": "10.1.47",
"date": "2025-10-02T12:12:04Z"
},
{
"name": "actualbudget/actual",
"version": "v25.10.0",
"date": "2025-10-02T11:34:39Z"
},
{
"name": "laurent22/joplin",
"version": "server-v3.4.4",
"date": "2025-09-25T13:19:26Z"
},
{
"name": "NodeBB/NodeBB",
"version": "v4.6.0",
@@ -619,6 +564,11 @@
"version": "4.4.46",
"date": "2025-09-30T13:21:24Z"
},
{
"name": "emqx/emqx",
"version": "e6.0.0",
"date": "2025-09-30T12:04:20Z"
},
{
"name": "thomiceli/opengist",
"version": "v1.11.1",
@@ -714,6 +664,11 @@
"version": "v1.26.0-dev",
"date": "2025-09-24T16:45:38Z"
},
{
"name": "crowdsecurity/crowdsec",
"version": "v1.7.0",
"date": "2025-09-01T10:10:34Z"
},
{
"name": "Threadfin/Threadfin",
"version": "1.2.39",
@@ -774,6 +729,11 @@
"version": "v2.2.0",
"date": "2025-09-23T21:46:21Z"
},
{
"name": "getumbrel/umbrel",
"version": "1.4.2",
"date": "2025-05-09T08:54:49Z"
},
{
"name": "postgres/postgres",
"version": "REL_18_0",
@@ -859,6 +819,11 @@
"version": "v0.23.0",
"date": "2025-09-17T10:15:51Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.16.31",
"date": "2025-09-17T09:57:55Z"
},
{
"name": "WGDashboard/WGDashboard",
"version": "v4.3.0.1",
@@ -889,6 +854,16 @@
"version": "3.2.0",
"date": "2025-09-15T18:03:08Z"
},
{
"name": "ellite/Wallos",
"version": "v4.3.0",
"date": "2025-09-15T17:34:48Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.15.0",
"date": "2025-09-15T17:25:58Z"
},
{
"name": "linuxserver/Heimdall",
"version": "v2.7.6",
@@ -964,6 +939,11 @@
"version": "RELEASE.2025-09-07T16-13-09Z",
"date": "2025-09-07T18:53:04Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v1.3.2",
"date": "2025-09-05T18:44:15Z"
},
{
"name": "CrazyWolf13/streamlink-webui",
"version": "0.6",
@@ -1164,6 +1144,11 @@
"version": "v0.58.0",
"date": "2025-07-28T18:59:50Z"
},
{
"name": "PrivateBin/PrivateBin",
"version": "2.0.0",
"date": "2025-07-28T07:48:40Z"
},
{
"name": "umami-software/umami",
"version": "v2.19.0",
@@ -1299,6 +1284,11 @@
"version": "v1.13.0",
"date": "2025-05-25T20:21:13Z"
},
{
"name": "0xERR0R/blocky",
"version": "v0.26.2",
"date": "2025-05-22T05:24:42Z"
},
{
"name": "hansmi/prometheus-paperless-exporter",
"version": "v0.0.8",
@@ -1419,6 +1409,11 @@
"version": "v2.4.2",
"date": "2025-03-08T10:49:04Z"
},
{
"name": "prometheus/alertmanager",
"version": "v0.28.1",
"date": "2025-03-07T15:41:35Z"
},
{
"name": "toniebox-reverse-engineering/teddycloud",
"version": "tc_v0.6.4",
@@ -1509,6 +1504,11 @@
"version": "v1.4.0",
"date": "2024-08-06T19:57:33Z"
},
{
"name": "projectsend/projectsend",
"version": "r1720",
"date": "2024-08-03T04:07:20Z"
},
{
"name": "hywax/mafl",
"version": "v0.15.4",

View File

@@ -6,18 +6,18 @@ import React from "react";
import { ThemeProvider } from "@/components/theme-provider";
import { analytics, basePath } from "@/config/site-config";
import "@/styles/globals.css";
import QueryProvider from "@/components/query-provider";
import { Toaster } from "@/components/ui/sonner";
import Footer from "@/components/footer";
import Navbar from "@/components/navbar";
import "@/styles/globals.css";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Proxmox VE Helper-Scripts",
description:
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 400+ scripts to help you manage your Proxmox Virtual Environment.",
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 300+ scripts to help you manage your Proxmox Virtual Environment.",
applicationName: "Proxmox VE Helper-Scripts",
generator: "Next.js",
referrer: "origin-when-cross-origin",
@@ -57,7 +57,7 @@ export const metadata: Metadata = {
openGraph: {
title: "Proxmox VE Helper-Scripts",
description:
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 400+ scripts to help you manage your Proxmox Virtual Environment.",
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 300+ scripts to help you manage your Proxmox Virtual Environment.",
url: `https://community-scripts.github.io/${basePath}/`,
siteName: "Proxmox VE Helper-Scripts",
images: [
@@ -76,7 +76,7 @@ export const metadata: Metadata = {
title: "Proxmox VE Helper-Scripts",
creator: "@BramSuurdje",
description:
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 400+ scripts to help you manage your Proxmox Virtual Environment.",
"The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 300+ scripts to help you manage your Proxmox Virtual Environment.",
images: [`https://community-scripts.github.io/${basePath}/defaultimg.png`],
},
manifest: "/manifest.webmanifest",
@@ -105,6 +105,7 @@ export default function RootLayout({
<div className="flex w-full flex-col justify-center">
<NuqsAdapter>
<QueryProvider>
<Navbar />
<div className="flex min-h-screen flex-col justify-center">
<div className="flex w-full justify-center">
@@ -116,6 +117,7 @@ export default function RootLayout({
<Footer />
</div>
</QueryProvider>
</NuqsAdapter>
</div>
</ThemeProvider>

View File

@@ -111,11 +111,11 @@ export default function Page() {
We are a community-driven initiative that simplifies the setup of Proxmox Virtual Environment (VE).
</p>
<p>
With 400+ scripts to help you manage your
With 300+ scripts to help you manage your
{" "}
<b>Proxmox VE</b>
, whether you&#39;re a seasoned user or a
newcomer, we&#39;ve got you covered.
, whether you&#39;re a seasoned
user or a newcomer, we&#39;ve got you covered.
</p>
</div>
</div>

View File

@@ -14,14 +14,16 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apk add --no-cache openssl apache2-utils
$STD apk add --no-cache curl openssl apache2-utils
msg_ok "Installed Dependencies"
msg_info "Installing Tinyauth"
mkdir -p /opt/tinyauth
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
chmod +x /opt/tinyauth/tinyauth
PASS=$(openssl rand -base64 8 | tr -dc 'a-zA-Z0-9' | head -c 8)
USER=$(htpasswd -Bbn "tinyauth" "${PASS}")
@@ -30,18 +32,24 @@ Tinyauth Credentials
Username: tinyauth
Password: ${PASS}
EOF
echo "${RELEASE}" >~/.tinyauth
echo "${RELEASE}" >/opt/tinyauth_version.txt
msg_ok "Installed Tinyauth"
read -r -p "${TAB3}Enter your Tinyauth subdomain (e.g. https://tinyauth.example.com): " app_url
read -p "${TAB3}Enter your Tinyauth subdomain (e.g. https://tinyauth.example.com): " app_url
msg_info "Creating Tinyauth Service"
SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32)
cat <<EOF >/opt/tinyauth/.env
DATABASE_PATH=/opt/tinyauth/database.db
USERS='${USER}'
SECRET=${SECRET}
USERS=${USER}
APP_URL=${app_url}
EOF
msg_info "Creating Service"
sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env
cat <<'EOF' >/etc/init.d/tinyauth
#!/sbin/openrc-run
description="Tinyauth Service"
@@ -61,6 +69,7 @@ depend() {
use net
}
EOF
chmod +x /etc/init.d/tinyauth
$STD rc-update add tinyauth default
msg_ok "Enabled Tinyauth Service"

View File

@@ -20,7 +20,6 @@ $STD apt install -y \
make
msg_ok "Installed Dependencies"
HOST_IP=$(hostname -I | awk '{print $1}')
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
PG_VERSION="16" setup_postgresql
fetch_and_deploy_gh_release "docmost" "docmost/docmost"
@@ -51,7 +50,6 @@ sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z
-e "s|FILE_UPLOAD_SIZE_LIMIT=.*|FILE_UPLOAD_SIZE_LIMIT=50mb|" \
-e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \
-e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \
-e "s|APP_URL=.*|APP_URL=http://$HOST_IP:3000|" \
/opt/docmost/.env
export NODE_OPTIONS="--max-old-space-size=2048"
$STD pnpm install

View File

@@ -46,6 +46,7 @@ $STD apt-get install --no-install-recommends -y \
libgomp1 \
liblqr-1-0 \
libltdl7 \
libmimalloc3 \
libopenjp2-7 \
meson \
ninja-build \
@@ -108,23 +109,6 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_ok "Installed OpenVINO dependencies"
fi
msg_info "Configuring Debian Testing Repo"
sed -i 's/ trixie-updates/ trixie-updates testing/g' /etc/apt/sources.list.d/debian.sources
cat <<EOF >/etc/apt/preferences.d/preferences
Package: *
Pin: release a=unstable
Pin-Priority: 450
Package: *
Pin:release a=testing
Pin-Priority: 450
EOF
$STD apt-get update
msg_ok "Configured Debian Testing repo"
msg_info "Installing libmimalloc3"
$STD apt-get install -t testing --no-install-recommends -yqq libmimalloc3
msg_ok "Installed libmimalloc3"
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql

View File

@@ -13,16 +13,7 @@ setting_up_container
network_check
update_os
msg_info "Installing dependencies"
$STD apt -y install \
libarchive-dev \
libjxl-dev \
libheif-dev \
libwebp-dev
msg_ok "Installed dependencies"
JAVA_VERSION="23" setup_java
fetch_and_deploy_gh_release "kepubify" "pgaskin/kepubify" "singlefile" "latest" "/usr/bin" "kepubify-linux-64bit"
JAVA_VERSION="21" setup_java
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "komga-org" "gotson/komga" "singlefile" "latest" "/opt/komga" "komga*.jar"
mv /opt/komga/komga-*.jar /opt/komga/komga.jar
@@ -35,8 +26,7 @@ After=syslog.target network.target
[Service]
Type=simple
WorkingDirectory=/opt/komga/
Environment=LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
ExecStart=/usr/bin/java --enable-native-access=ALL-UNNAMED -jar -Xmx2g komga.jar
ExecStart=/usr/bin/java -jar -Xmx2g komga.jar
TimeoutStopSec=20
KillMode=process
Restart=on-failure
@@ -51,7 +41,6 @@ motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -1,43 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Marfnl
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/prometheus/blackbox_exporter
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
fetch_and_deploy_gh_release "blackbox-exporter" "prometheus/blackbox_exporter" "prebuild" "latest" "/opt/blackbox-exporter" "blackbox_exporter-*.linux-amd64.tar.gz"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/blackbox-exporter.service
[Unit]
Description=Blackbox Exporter Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/blackbox-exporter
ExecStart=/opt/blackbox-exporter/blackbox_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now blackbox-exporter
msg_ok "Service Created"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing SearXNG dependencies"
echo "deb http://deb.debian.org/debian bookworm-backports main" >/etc/apt/sources.list.d/backports.list
echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list
$STD apt-get update
$STD apt-get install -y \
python3-dev python3-babel python3-venv python-is-python3 \
@@ -36,7 +36,7 @@ msg_info "Creating Python virtual environment"
sudo -H -u searxng bash -c '
python3 -m venv /usr/local/searxng/searx-pyenv &&
. /usr/local/searxng/searx-pyenv/bin/activate &&
pip install -U pip setuptools wheel pyyaml lxml msgspec &&
pip install -U pip setuptools wheel pyyaml lxml &&
pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src
'
msg_ok "Python environment ready"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: prop4n
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://docs.sonarsource.com/sonarqube-server
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
JAVA_VERSION="21" setup_java
PG_VERSION="17" setup_postgresql
msg_info "Installing Postgresql"
DB_NAME="sonarqube"
DB_USER="sonarqube"
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_USER;"
{
echo "Application Credentials"
echo "DB_NAME: $DB_NAME"
echo "DB_USER: $DB_USER"
echo "DB_PASS: $DB_PASS"
} >>~/sonarqube.creds
msg_ok "Installed PostgreSQL"
msg_info "Configuring SonarQube"
temp_file=$(mktemp)
RELEASE=$(curl -fsSL https://api.github.com/repos/SonarSource/sonarqube/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
unzip -q "$temp_file" -d /opt
mv /opt/sonarqube-* /opt/sonarqube
$STD useradd -r -m -U -d /opt/sonarqube -s /bin/bash sonarqube
chown -R sonarqube:sonarqube /opt/sonarqube
chmod -R 755 /opt/sonarqube
mkdir -p /opt/sonarqube/conf
cat <<EOF >/opt/sonarqube/conf/sonar.properties
sonar.jdbc.username=${DB_USER}
sonar.jdbc.password=${DB_PASS}
sonar.jdbc.url=jdbc:postgresql://localhost/${DB_NAME}
sonar.web.host=0.0.0.0
sonar.web.port=9000
EOF
chmod +x /opt/sonarqube/bin/linux-x86-64/sonar.sh
echo ${RELEASE} >>~/.sonarqube
msg_ok "Configured SonarQube"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/sonarqube.service
[Unit]
Description=SonarQube service
After=postgresql.service
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonarqube
Group=sonarqube
Restart=on-failure
LimitNOFILE=131072
LimitNPROC=8192
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now sonarqube
msg_ok "Service Created"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -27,7 +27,7 @@ chmod +x Tdarr_Updater
$STD ./Tdarr_Updater
msg_ok "Installed Tdarr"
msg_info "Setting Up Hardware Acceleration"
sg_info "Setting Up Hardware Acceleration"
$STD apt -y install \
va-driver-all \
ocl-icd-libopencl1 \

View File

@@ -54,7 +54,7 @@ else
cat <<EOF | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.sources >/dev/null
Types: deb
URIs: http://repo.mongodb.org/apt/debian
Suites: bookworm/mongodb-org/7.0
Suites: trixie/mongodb-org/7.0
Components: main
Signed-By: /usr/share/keyrings/mongodb-server-7.0.gpg
EOF

View File

@@ -42,7 +42,7 @@ curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.
tar xzf "$RELEASE".tar.gz
mv wger-"$RELEASE" /home/wger/src
cd /home/wger/src || exit
$STD pip install -r requirements_prod.txt --ignore-installed
$STD pip install -r requirements_prod.txt
$STD pip install -e .
$STD wger create-settings --database-path /home/wger/db/database.sqlite
sed -i "s#home/wger/src/media#home/wger/media#g" /home/wger/src/settings.py

View File

@@ -102,14 +102,8 @@ fi
msg_ok "Configured Fping"
msg_info "Starting Services"
if [ "$AGENT_PKG" = "zabbix-agent2" ]; then
AGENT_SERVICE="zabbix-agent2"
else
AGENT_SERVICE="zabbix-agent"
fi
systemctl restart zabbix-server
systemctl enable -q --now zabbix-server $AGENT_SERVICE apache2
systemctl restart zabbix-server zabbix-agent2 apache2
systemctl enable -q --now zabbix-server zabbix-agent2 apache2
msg_ok "Started Services"
motd_ssh

View File

@@ -43,7 +43,7 @@ curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg --dearmor | sudo t
cat <<EOF | sudo tee /etc/apt/sources.list.d/zammad.sources >/dev/null
Types: deb
URIs: https://dl.packager.io/srv/deb/zammad/zammad/stable/debian
Suites: 12
Suites: 13
Components: main
Signed-By: /etc/apt/keyrings/pkgr-zammad.gpg
EOF

View File

@@ -41,7 +41,6 @@ function perform_backup {
# Build a list of directories for backup
local CTID_MENU=()
CTID_MENU=("ALL" "Backup all folders" "OFF")
while read -r dir; do
CTID_MENU+=("$(basename "$dir")" "$dir " "OFF")
done < <(ls -d "${DIR}"*)
@@ -53,13 +52,7 @@ function perform_backup {
"\nSelect what files/directories to backup:\n" 16 $(((${#DIRNAME} + 2) + 88)) 6 "${CTID_MENU[@]}" 3>&1 1>&2 2>&3) || return
for selected_dir in ${HOST_BACKUP//\"/}; do
if [[ "$selected_dir" == "ALL" ]]; then
# if ALL was chosen, secure all folders
selected_directories=("${DIR}"*/)
break
else
selected_directories+=("${DIR}$selected_dir")
fi
selected_directories+=("${DIR}$selected_dir")
done
done
@@ -69,7 +62,7 @@ function perform_backup {
read -p "Press ENTER to continue..."
header_info
echo "Working..."
tar -czf "$BACKUP_PATH$BACKUP_FILE-$(date +%Y_%m_%dT%H_%M).tar.gz" --absolute-names "${selected_directories[@]}"
tar -czf "$BACKUP_PATH$BACKUP_FILE-$(date +%Y_%m_%d).tar.gz" --absolute-names "${selected_directories[@]}"
header_info
echo -e "\nFinished"
echo -e "\e[1;33m \nA backup is rendered ineffective when it remains stored on the host.\n \e[0m"