Compare commits

...

22 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
62dac32400 Update CHANGELOG.md (#2030)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-04 21:12:08 +01:00
community-scripts-pr-app[bot]
401a9e1a45 Update CHANGELOG.md (#2026)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-04 19:09:14 +01:00
Slaviša Arežina
569d0ac374 header fixes (#2029) 2025-02-04 19:08:52 +01:00
Maciej Matczak
e75312007d Fix actual update - missing hidden files, downloaded release cleanup (#2027)
* Fix Actual Budget update: download and copy release exactly how in install script

* Fix Actual Budget update: removing wget release tar gz
2025-02-04 19:08:12 +01:00
community-scripts-pr-app[bot]
103a5371e6 Update CHANGELOG.md (#2025) 2025-02-04 17:40:54 +01:00
Thorsten
abfe17ce74 fixed subscription nag removal (#2022) 2025-02-04 17:38:24 +01:00
community-scripts-pr-app[bot]
86295fcf67 Update CHANGELOG.md (#2013)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-04 14:22:27 +01:00
Michel Roegl-Brunner
c9012c54df Update authentik-install.sh (#2020) 2025-02-04 14:22:08 +01:00
github-actions[bot]
fd051552f3 Update .app files (#2019)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-04 14:19:00 +01:00
CanbiZ
169076e68e [Fix]: Headername of Proxmox-Datacenter-Manager not in CamelCase (#2017) 2025-02-04 14:18:20 +01:00
github-actions[bot]
971aa5ba16 Update .app files (#2016)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-04 13:38:44 +01:00
CanbiZ
6be54478f4 fix typo 2025-02-04 13:37:30 +01:00
CanbiZ
6b225058de [Fix] Header breaks at long title (#2015) 2025-02-04 13:32:13 +01:00
github-actions[bot]
78d96fdaa2 Update .app files (#2014)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-04 13:24:20 +01:00
Michel Roegl-Brunner
8129e3cf39 [API] Masiv update to api (#1990)
* Masiv refactor of the api

* Masiv refactor of the api

* Format page.tsx

* Format page.tsx

* testing

* update build.func

* Change urls to Repo

* Change urls to Repo

* update install.func

* Add post_to_api_vm

* Update api.func

* Update api.func

* Update api.func

* update api.func
2025-02-04 13:23:20 +01:00
Thorsten
0e5f663df5 Proxmox Backup Server Renaming and Update fix (#2012)
* Remaned PBS to long name Proxmox Backup Server and fixed install check

* Fix Name
2025-02-04 13:22:57 +01:00
community-scripts-pr-app[bot]
de45527d45 Update CHANGELOG.md (#2008)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-04 13:12:59 +01:00
CanbiZ
d7b3f33030 Fix Tianji: Add heap-space value for nodejs (#2011) 2025-02-04 12:26:59 +01:00
Michel Roegl-Brunner
88daaed113 Update tandoor-install.sh (#2010) 2025-02-04 12:11:42 +01:00
CanbiZ
41744c0ab6 Fix: Ghost LXC - Use Node20 (#2006) 2025-02-04 11:57:51 +01:00
community-scripts-pr-app[bot]
c3cd5314fe Update CHANGELOG.md (#2003)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-04 11:14:32 +01:00
Thorsten
6f29ab8942 Fix wrong HDD Size (#2001) 2025-02-04 10:37:15 +01:00
39 changed files with 331 additions and 377 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Copyright (c) 2021-2025 community-scripts ORG
# Author: [YourUserName]
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: [SOURCE_URL]

View File

@@ -1,8 +1,8 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 community-scripts ORG
# Copyright (c) 2021-2025 community-scripts ORG
# Author: [YourUserName]
# License: MIT
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: [SOURCE_URL]
# Import Functions und Setup

View File

@@ -17,7 +17,7 @@ find ./ct -type f -name "*.sh" | sort | while read -r script; do
output_file="${headers_dir}/$(basename "${script%.*}")"
# Generate figlet output
figlet_output=$(figlet -f slant "$app_name")
figlet_output=$(figlet -w 500 -f slant "$app_name")
# Check if figlet output is not empty
if [[ -n "$figlet_output" ]]; then

View File

@@ -17,6 +17,34 @@ All LXC instances created using this repository come pre-installed with Midnight
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
## 2025-02-04
### Changed
### 💥 Breaking Changes
- Rename & Optimize: Proxmox Backup Server (Renaming & Update fix) [@thost96](https://github.com/thost96) ([#2012](https://github.com/community-scripts/ProxmoxVE/pull/2012))
### 🚀 Updated Scripts
- Fix: Authentik - Remove deprecated GO-Remove in Footer [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2020](https://github.com/community-scripts/ProxmoxVE/pull/2020))
- Fix: Authentik Fix wrong HDD Size [@thost96](https://github.com/thost96) ([#2001](https://github.com/community-scripts/ProxmoxVE/pull/2001))
- Fix: Tandoor - node Version [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2010](https://github.com/community-scripts/ProxmoxVE/pull/2010))
- Fix actual update - missing hidden files, downloaded release cleanup [@maciejmatczak](https://github.com/maciejmatczak) ([#2027](https://github.com/community-scripts/ProxmoxVE/pull/2027))
- Fix Script: post-pmg-install.sh [@thost96](https://github.com/thost96) ([#2022](https://github.com/community-scripts/ProxmoxVE/pull/2022))
- Fix Tianji: Add heap-space value for nodejs [@MickLesk](https://github.com/MickLesk) ([#2011](https://github.com/community-scripts/ProxmoxVE/pull/2011))
- Fix: Ghost LXC - Use Node20 [@MickLesk](https://github.com/MickLesk) ([#2006](https://github.com/community-scripts/ProxmoxVE/pull/2006))
### 🌐 Website
- [API] Massive update to api (remove many, optimize website for users) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1990](https://github.com/community-scripts/ProxmoxVE/pull/1990))
### 🧰 Maintenance
- Fix header comments on contributor templates [@tremor021](https://github.com/tremor021) ([#2029](https://github.com/community-scripts/ProxmoxVE/pull/2029))
- [Fix]: Headername of Proxmox-Datacenter-Manager not in CamelCase [@MickLesk](https://github.com/MickLesk) ([#2017](https://github.com/community-scripts/ProxmoxVE/pull/2017))
- [Fix] Header breaks at long title - add width for figlet github action [@MickLesk](https://github.com/MickLesk) ([#2015](https://github.com/community-scripts/ProxmoxVE/pull/2015))
## 2025-02-03
### Changed

View File

@@ -44,9 +44,8 @@ function update_script() {
cd /tmp
wget -q https://github.com/actualbudget/actual-server/archive/refs/tags/v${RELEASE}.tar.gz
mv /opt/actualbudget /opt/actualbudget_bak
mkdir -p /opt/actualbudget/
tar -xzf v${RELEASE}.tar.gz >/dev/null 2>&1
mv *ctual-server-*/* /opt/actualbudget
mv *ctual-server-* /opt/actualbudget
rm -rf /opt/actualbudget/.env
mv /opt/actualbudget_bak/.env /opt/actualbudget
mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files
@@ -61,7 +60,7 @@ function update_script() {
msg_info "Cleaning Up"
rm -rf /opt/actualbudget_bak
rm -rf /tmp/actual-server.tar.gz
rm -rf /tmp/v${RELEASE}.tar.gz
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else

View File

@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Authentik"
var_tags="identity-provider"
var_disk="15"
var_disk="12"
var_cpu="6"
var_ram="8192"
var_os="debian"

View File

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

View File

@@ -1,12 +1,6 @@
___ __ _ _ __ ____
/ | / /___ (_)___ ___ | | / /___ ___ __/ / /__ ______ _
/ /| | / / __ \/ / __ \/ _ \_____| | / / __ `/ / / / / __/ | /| / / __ `/
/ ___ |/ / /_/ / / / / / __/_____/ |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ /
/_/ |_/_/ .___/_/_/ /_/\___/ |___/\__,_/\__,_/_/\__/ |__/|__/\__,_/
___ __ _ _ __ ____ __
/ | / /___ (_)___ ___ | | / /___ ___ __/ / /__ ______ __________/ /__ ____
/ /| | / / __ \/ / __ \/ _ \_____| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __ / _ \/ __ \
/ ___ |/ / /_/ / / / / / __/_____/ |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / / / /_/ / __/ / / /
/_/ |_/_/ .___/_/_/ /_/\___/ |___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/ \__,_/\___/_/ /_/
/_/
__
_________/ /__ ____
/ ___/ __ / _ \/ __ \
/ / / /_/ / __/ / / /
/_/ \__,_/\___/_/ /_/

View File

@@ -1,12 +1,6 @@
___ __ _ _____ _ __ ___ __ ___
/ | / /___ (_)___ ___ /__ / (_)___ _/ /_ ___ ___ |__ \ / |/ /
/ /| | / / __ \/ / __ \/ _ \______/ / / / __ `/ __ \/ _ \/ _ \__/ // /|_/ /
/ ___ |/ / /_/ / / / / / __/_____/ /__/ / /_/ / /_/ / __/ __/ __// / / /
/_/ |_/_/ .___/_/_/ /_/\___/ /____/_/\__, /_.___/\___/\___/____/_/ /_/
___ __ _ _____ _ __ ___ __ _______ ____________
/ | / /___ (_)___ ___ /__ / (_)___ _/ /_ ___ ___ |__ \ / |/ / __ \/_ __/_ __/
/ /| | / / __ \/ / __ \/ _ \______/ / / / __ `/ __ \/ _ \/ _ \__/ // /|_/ / / / / / / / /
/ ___ |/ / /_/ / / / / / __/_____/ /__/ / /_/ / /_/ / __/ __/ __// / / / /_/ / / / / /
/_/ |_/_/ .___/_/_/ /_/\___/ /____/_/\__, /_.___/\___/\___/____/_/ /_/\___\_\/_/ /_/
/_/ /____/
____ ____________
/ __ \/_ __/_ __/
/ / / / / / / /
/ /_/ / / / / /
\___\_\/_/ /_/

View File

@@ -1,12 +1,6 @@
___ __ ______
/ | ____ ____ ______/ /_ ___ / ____/___ _______________ _____
/ /| | / __ \/ __ `/ ___/ __ \/ _ \______/ / / __ `/ ___/ ___/ __ `/ __ \
/ ___ |/ /_/ / /_/ / /__/ / / / __/_____/ /___/ /_/ (__ |__ ) /_/ / / / /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\__,_/____/____/\__,_/_/ /_/
___ __ ______ __
/ | ____ ____ ______/ /_ ___ / ____/___ _______________ _____ ____/ /________ _
/ /| | / __ \/ __ `/ ___/ __ \/ _ \______/ / / __ `/ ___/ ___/ __ `/ __ \/ __ / ___/ __ `/
/ ___ |/ /_/ / /_/ / /__/ / / / __/_____/ /___/ /_/ (__ |__ ) /_/ / / / / /_/ / / / /_/ /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\__,_/____/____/\__,_/_/ /_/\__,_/_/ \__,_/
/_/
__
____/ /________ _
/ __ / ___/ __ `/
/ /_/ / / / /_/ /
\__,_/_/ \__,_/

View File

@@ -1,12 +1,6 @@
___ __ ______ __ ____
/ | ____ ____ ______/ /_ ___ / ____/___ __ _______/ /_ / __ \
/ /| | / __ \/ __ `/ ___/ __ \/ _ \______/ / / __ \/ / / / ___/ __ \/ / / /
/ ___ |/ /_/ / /_/ / /__/ / / / __/_____/ /___/ /_/ / /_/ / /__/ / / / /_/ /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\____/\__,_/\___/_/ /_/_____/
___ __ ______ __ ____ ____
/ | ____ ____ ______/ /_ ___ / ____/___ __ _______/ /_ / __ \/ __ )
/ /| | / __ \/ __ `/ ___/ __ \/ _ \______/ / / __ \/ / / / ___/ __ \/ / / / __ |
/ ___ |/ /_/ / /_/ / /__/ / / / __/_____/ /___/ /_/ / /_/ / /__/ / / / /_/ / /_/ /
/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\____/\__,_/\___/_/ /_/_____/_____/
/_/
____
/ __ )
/ __ |
/ /_/ /
/_____/

View File

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

View File

@@ -1,12 +1,6 @@
________
/ ____/ /_ ____ _____ ____ ____
/ / / __ \/ __ `/ __ \/ __ `/ _ \
/ /___/ / / / /_/ / / / / /_/ / __/
\____/_/ /_/\__,_/_/ /_/\__, /\___/
________ ____ __ __ _
/ ____/ /_ ____ _____ ____ ____ / __ \___ / /____ _____/ /_(_)___ ____
/ / / __ \/ __ `/ __ \/ __ `/ _ \ / / / / _ \/ __/ _ \/ ___/ __/ / __ \/ __ \
/ /___/ / / / /_/ / / / / /_/ / __/ / /_/ / __/ /_/ __/ /__/ /_/ / /_/ / / / /
\____/_/ /_/\__,_/_/ /_/\__, /\___/ /_____/\___/\__/\___/\___/\__/_/\____/_/ /_/
/____/
____ __ __ _
/ __ \___ / /____ _____/ /_(_)___ ____
/ / / / _ \/ __/ _ \/ ___/ __/ / __ \/ __ \
/ /_/ / __/ /_/ __/ /__/ /_/ / /_/ / / / /
/_____/\___/\__/\___/\___/\__/_/\____/_/ /_/

View File

@@ -1,12 +1,6 @@
____ __ __ ___ _____ ____ _ __ __
/ __ \____ / /_____ ___ / /_ / | / ___// __ \ | | / /__ / /_
/ / / / __ \/ __/ __ \/ _ \/ __/ / /| | \__ \/ /_/ / | | /| / / _ \/ __ \
/ /_/ / /_/ / /_/ / / / __/ /_ / ___ |___/ / ____/ | |/ |/ / __/ /_/ /
/_____/\____/\__/_/ /_/\___/\__/ /_/ |_/____/_/ |__/|__/\___/_.___/
___ ____ ____
/ | / __ \/ _/
/ /| | / /_/ // /
/ ___ |/ ____// /
/_/ |_/_/ /___/
____ __ __ ___ _____ ____ _ __ __ ___ ____ ____
/ __ \____ / /_____ ___ / /_ / | / ___// __ \ | | / /__ / /_ / | / __ \/ _/
/ / / / __ \/ __/ __ \/ _ \/ __/ / /| | \__ \/ /_/ / | | /| / / _ \/ __ \ / /| | / /_/ // /
/ /_/ / /_/ / /_/ / / / __/ /_ / ___ |___/ / ____/ | |/ |/ / __/ /_/ / / ___ |/ ____// /
/_____/\____/\__/_/ /_/\___/\__/ /_/ |_/____/_/ |__/|__/\___/_.___/ /_/ |_/_/ /___/

View File

@@ -1,12 +1,6 @@
________ __
/ ____/ /__ ____ ___ ___ ____ / /_
/ __/ / / _ \/ __ `__ \/ _ \/ __ \/ __/
/ /___/ / __/ / / / / / __/ / / / /_
/_____/_/\___/_/ /_/ /_/\___/_/ /_/\__/
_____
/ ___/__ ______ ____ _____ ________
\__ \/ / / / __ \/ __ `/ __ \/ ___/ _ \
___/ / /_/ / / / / /_/ / /_/ (__ ) __/
/____/\__, /_/ /_/\__,_/ .___/____/\___/
/____/ /_/
________ __ _____
/ ____/ /__ ____ ___ ___ ____ / /_ / ___/__ ______ ____ _____ ________
/ __/ / / _ \/ __ `__ \/ _ \/ __ \/ __/ \__ \/ / / / __ \/ __ `/ __ \/ ___/ _ \
/ /___/ / __/ / / / / / __/ / / / /_ ___/ / /_/ / / / / /_/ / /_/ (__ ) __/
/_____/_/\___/_/ /_/ /_/\___/_/ /_/\__/ /____/\__, /_/ /_/\__,_/ .___/____/\___/
/____/ /_/

View File

@@ -1,12 +1,6 @@
__ __ _ __ ____ ____ __ __
/ / / /__ (_)___ ___ ____/ /___ _/ / / / __ \____ ______/ /_ / /_
/ /_/ / _ \/ / __ `__ \/ __ / __ `/ / /_____/ / / / __ `/ ___/ __ \/ __ \
/ __ / __/ / / / / / / /_/ / /_/ / / /_____/ /_/ / /_/ (__ ) / / / /_/ /
/_/ /_/\___/_/_/ /_/ /_/\__,_/\__,_/_/_/ /_____/\__,_/____/_/ /_/_.___/
__
____ ____ __________/ /
/ __ \/ __ `/ ___/ __ /
/ /_/ / /_/ / / / /_/ /
\____/\__,_/_/ \__,_/
__ __ _ __ ____ ____ __ __ __
/ / / /__ (_)___ ___ ____/ /___ _/ / / / __ \____ ______/ /_ / /_ ____ ____ __________/ /
/ /_/ / _ \/ / __ `__ \/ __ / __ `/ / /_____/ / / / __ `/ ___/ __ \/ __ \/ __ \/ __ `/ ___/ __ /
/ __ / __/ / / / / / / /_/ / /_/ / / /_____/ /_/ / /_/ (__ ) / / / /_/ / /_/ / /_/ / / / /_/ /
/_/ /_/\___/_/_/ /_/ /_/\__,_/\__,_/_/_/ /_____/\__,_/____/_/ /_/_.___/\____/\__,_/_/ \__,_/

View File

@@ -1,12 +1,6 @@
__ __
/ / / /___ ____ ___ ___
/ /_/ / __ \/ __ `__ \/ _ \
/ __ / /_/ / / / / / / __/
/_/ /_/\____/_/ /_/ /_/\___/
___ _ __ __ ______
/ | __________(_)____/ /_____ _____ / /_ / ____/___ ________
/ /| | / ___/ ___/ / ___/ __/ __ `/ __ \/ __/_____/ / / __ \/ ___/ _ \
/ ___ |(__ |__ ) (__ ) /_/ /_/ / / / / /_/_____/ /___/ /_/ / / / __/
/_/ |_/____/____/_/____/\__/\__,_/_/ /_/\__/ \____/\____/_/ \___/
__ __ ___ _ __ __ ______
/ / / /___ ____ ___ ___ / | __________(_)____/ /_____ _____ / /_ / ____/___ ________
/ /_/ / __ \/ __ `__ \/ _ \ / /| | / ___/ ___/ / ___/ __/ __ `/ __ \/ __/_____/ / / __ \/ ___/ _ \
/ __ / /_/ / / / / / / __/ / ___ |(__ |__ ) (__ ) /_/ /_/ / / / / /_/_____/ /___/ /_/ / / / __/
/_/ /_/\____/_/ /_/ /_/\___/ /_/ |_/____/____/_/____/\__/\__,_/_/ /_/\__/ \____/\____/_/ \___/

View File

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

View File

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

View File

@@ -1,12 +1,6 @@
____ __ __ __
/ __ \____ ____/ /___ ___ ____ _____ / / / /___ ____ ___ ___
/ /_/ / __ \/ __ / __ `__ \/ __ `/ __ \______/ /_/ / __ \/ __ `__ \/ _ \
/ ____/ /_/ / /_/ / / / / / / /_/ / / / /_____/ __ / /_/ / / / / / / __/
/_/ \____/\__,_/_/ /_/ /_/\__,_/_/ /_/ /_/ /_/\____/_/ /_/ /_/\___/
___ _ __ __
/ | __________(_)____/ /_____ _____ / /_
/ /| | / ___/ ___/ / ___/ __/ __ `/ __ \/ __/
/ ___ |(__ |__ ) (__ ) /_/ /_/ / / / / /_
/_/ |_/____/____/_/____/\__/\__,_/_/ /_/\__/
____ __ __ __ ___ _ __ __
/ __ \____ ____/ /___ ___ ____ _____ / / / /___ ____ ___ ___ / | __________(_)____/ /_____ _____ / /_
/ /_/ / __ \/ __ / __ `__ \/ __ `/ __ \______/ /_/ / __ \/ __ `__ \/ _ \ / /| | / ___/ ___/ / ___/ __/ __ `/ __ \/ __/
/ ____/ /_/ / /_/ / / / / / / /_/ / / / /_____/ __ / /_/ / / / / / / __/ / ___ |(__ |__ ) (__ ) /_/ /_/ / / / / /_
/_/ \____/\__,_/_/ /_/ /_/\__,_/_/ /_/ /_/ /_/\____/_/ /_/ /_/\___/ /_/ |_/____/____/_/____/\__/\__,_/_/ /_/\__/

View File

@@ -1,12 +1,6 @@
____ __ __ ___ __
/ __ \_________ ____ ___ ___ / /_/ /_ ___ __ _______ / | / /
/ /_/ / ___/ __ \/ __ `__ \/ _ \/ __/ __ \/ _ \/ / / / ___/_____/ /| | / /
/ ____/ / / /_/ / / / / / / __/ /_/ / / / __/ /_/ (__ )_____/ ___ |/ /
/_/ /_/ \____/_/ /_/ /_/\___/\__/_/ /_/\___/\__,_/____/ /_/ |_/_/
__
___ _____/ /_____ ___ ____ _____ ____ _____ ____ _____
/ _ \/ ___/ __/ __ `__ \/ __ `/ __ \/ __ `/ __ `/ _ \/ ___/
/ __/ / / /_/ / / / / / /_/ / / / / /_/ / /_/ / __/ /
\___/_/ \__/_/ /_/ /_/\__,_/_/ /_/\__,_/\__, /\___/_/
/____/
____ __ __ ___ __ __
/ __ \_________ ____ ___ ___ / /_/ /_ ___ __ _______ / | / /__ _____/ /_____ ___ ____ _____ ____ _____ ____ _____
/ /_/ / ___/ __ \/ __ `__ \/ _ \/ __/ __ \/ _ \/ / / / ___/_____/ /| | / / _ \/ ___/ __/ __ `__ \/ __ `/ __ \/ __ `/ __ `/ _ \/ ___/
/ ____/ / / /_/ / / / / / / __/ /_/ / / / __/ /_/ (__ )_____/ ___ |/ / __/ / / /_/ / / / / / /_/ / / / / /_/ / /_/ / __/ /
/_/ /_/ \____/_/ /_/ /_/\___/\__/_/ /_/\___/\__,_/____/ /_/ |_/_/\___/_/ \__/_/ /_/ /_/\__,_/_/ /_/\__,_/\__, /\___/_/
/____/

View File

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

View File

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

View File

@@ -1,18 +1,6 @@
__ __
____ _________ _ ______ ___ ____ _ __ ____/ /___ _/ /_____ _
/ __ \/ ___/ __ \| |/_/ __ `__ \/ __ \| |/_/_____/ __ / __ `/ __/ __ `/
/ /_/ / / / /_/ /> </ / / / / / /_/ /> </_____/ /_/ / /_/ / /_/ /_/ /
/ .___/_/ \____/_/|_/_/ /_/ /_/\____/_/|_| \__,_/\__,_/\__/\__,_/
/_/
__
________ ____ / /____ _____ ____ ___ ____ _____ ____ _____ ____
/ ___/ _ \/ __ \/ __/ _ \/ ___/_____/ __ `__ \/ __ `/ __ \/ __ `/ __ `/ _ \
/ /__/ __/ / / / /_/ __/ / /_____/ / / / / / /_/ / / / / /_/ / /_/ / __/
\___/\___/_/ /_/\__/\___/_/ /_/ /_/ /_/\__,_/_/ /_/\__,_/\__, /\___/
/____/
_____
/ ___/
/ /
/_/
____ ____ __ __ __ ___
/ __ \_________ _ ______ ___ ____ _ __ / __ \____ _/ /_____ _________ ____ / /____ _____ / |/ /___ _____ ____ _____ ____ _____
/ /_/ / ___/ __ \| |/_/ __ `__ \/ __ \| |/_/_____/ / / / __ `/ __/ __ `/ ___/ _ \/ __ \/ __/ _ \/ ___/_____/ /|_/ / __ `/ __ \/ __ `/ __ `/ _ \/ ___/
/ ____/ / / /_/ /> </ / / / / / /_/ /> </_____/ /_/ / /_/ / /_/ /_/ / /__/ __/ / / / /_/ __/ / /_____/ / / / /_/ / / / / /_/ / /_/ / __/ /
/_/ /_/ \____/_/|_/_/ /_/ /_/\____/_/|_| /_____/\__,_/\__/\__,_/\___/\___/_/ /_/\__/\___/_/ /_/ /_/\__,_/_/ /_/\__,_/\__, /\___/_/
/____/

View File

@@ -1,12 +1,6 @@
_____ ____ __ _____
/ ___// __ \ / / / ___/___ ______ _____ _____
\__ \/ / / / / / \__ \/ _ \/ ___/ | / / _ \/ ___/
___/ / /_/ / / /___ ___/ / __/ / | |/ / __/ /
/____/\___\_\/_____/ /____/\___/_/ |___/\___/_/
___ ____ ___ ___
|__ \ / __ \__ \|__ \
__/ // / / /_/ /__/ /
/ __// /_/ / __// __/
/____/\____/____/____/
_____ ____ __ _____ ___ ____ ___ ___
/ ___// __ \ / / / ___/___ ______ _____ _____ |__ \ / __ \__ \|__ \
\__ \/ / / / / / \__ \/ _ \/ ___/ | / / _ \/ ___/ __/ // / / /_/ /__/ /
___/ / /_/ / / /___ ___/ / __/ / | |/ / __/ / / __// /_/ / __// __/
/____/\___\_\/_____/ /____/\___/_/ |___/\___/_/ /____/\____/____/____/

View File

@@ -1,12 +1,6 @@
__ __ ____ __
/ / / /____/ __ )____ ______/ /____ ______
/ / / / ___/ __ / __ `/ ___/ //_/ / / / __ \
/ /_/ / / / /_/ / /_/ / /__/ ,< / /_/ / /_/ /
\____/_/ /_____/\__,_/\___/_/|_|\__,_/ .___/
__ __ ____ __ _____
/ / / /____/ __ )____ ______/ /____ ______ / ___/___ ______ _____ _____
/ / / / ___/ __ / __ `/ ___/ //_/ / / / __ \ \__ \/ _ \/ ___/ | / / _ \/ ___/
/ /_/ / / / /_/ / /_/ / /__/ ,< / /_/ / /_/ / ___/ / __/ / | |/ / __/ /
\____/_/ /_____/\__,_/\___/_/|_|\__,_/ .___/ /____/\___/_/ |___/\___/_/
/_/
_____
/ ___/___ ______ _____ _____
\__ \/ _ \/ ___/ | / / _ \/ ___/
___/ / __/ / | |/ / __/ /
/____/\___/_/ |___/\___/_/

View File

@@ -16,7 +16,7 @@ cat <<"EOF"
EOF
}
header_info
APP="PBS"
APP="Proxmox-Backup-Server"
var_tags="backup"
var_cpu="2"
var_ram="2048"
@@ -37,7 +37,7 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if [[ ! -e /usr/sbin/proxmox-backup-manager ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating $APP LXC"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null

View File

@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# Source: Proxmox Server Solution GmbH
# App Default Values
APP="proxmox-datacenter-manager"
APP="Proxmox-Datacenter-Manager"
var_tags="datacenter"
var_cpu="2"
var_ram="2048"

View File

@@ -45,6 +45,7 @@ function update_script() {
unzip -q v${RELEASE}.zip
mv tianji-${RELEASE} /opt/tianji
cd tianji
export NODE_OPTIONS="--max_old_space_size=4096"
pnpm install --filter @tianji/client... --config.dedupe-peer-dependents=false --frozen-lockfile >/dev/null 2>&1
pnpm build:static >/dev/null 2>&1
pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false >/dev/null 2>&1

View File

@@ -11,18 +11,16 @@ interface DataModel {
disk_size: number;
core_count: number;
ram_size: number;
verbose: string;
os_type: string;
os_version: string;
hn: string;
disableip6: string;
ssh: string;
tags: string;
nsapp: string;
created_at: string;
method: string;
pve_version: string;
status: string;
error: string;
type: string;
}
@@ -36,8 +34,8 @@ const DataFetcher: React.FC = () => {
const [sortConfig, setSortConfig] = useState<{ key: keyof DataModel | null, direction: 'ascending' | 'descending' }>({ key: 'id', direction: 'descending' });
const [itemsPerPage, setItemsPerPage] = useState(25);
const [currentPage, setCurrentPage] = useState(1);
const [interval, setIntervalTime] = useState<number>(10); // Default interval 10 seconds
const [reloadInterval, setReloadInterval] = useState<NodeJS.Timeout | null>(null);
const [showErrorRow, setShowErrorRow] = useState<number | null>(null);
useEffect(() => {
@@ -118,38 +116,6 @@ const DataFetcher: React.FC = () => {
const paginatedData = sortedData.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage);
useEffect(() => {
const storedInterval = localStorage.getItem('reloadInterval');
if (storedInterval) {
setIntervalTime(Number(storedInterval));
}
}, []);
useEffect(() => {
if (interval <= 10) {
const newInterval = setInterval(() => {
window.location.reload();
}, 10000);
return () => clearInterval(newInterval);
} else {
const newInterval = setInterval(() => {
window.location.reload();
}, interval * 1000);
}
}, [interval]);
useEffect(() => {
if (interval > 0) {
localStorage.setItem('reloadInterval', interval.toString());
} else {
localStorage.removeItem('reloadInterval');
}
}, [interval]);
if (loading) return <p>Loading...</p>;
if (error) return <p>Error: {error}</p>;
@@ -211,19 +177,6 @@ const DataFetcher: React.FC = () => {
/>
<label className="text-sm text-gray-600 mt-1 block">Set a end date</label>
</div>
<div className="mb-4 flex space-x-4">
<div>
<input
type="number"
value={interval}
onChange={e => setIntervalTime(Number(e.target.value))}
className="p-2 border"
placeholder="Interval (seconds)"
/>
<label className="text-sm text-gray-600 mt-1 block">Set reload interval (0 for no reload)</label>
</div>
</div>
</div>
<ApplicationChart data={filteredData} />
<div className="mb-4 flex justify-between items-center">
@@ -242,6 +195,7 @@ const DataFetcher: React.FC = () => {
<thead>
<tr>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('status')}>Status</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('type')}>Type</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('nsapp')}>Application</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('os_type')}>OS</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('os_version')}>OS Version</th>
@@ -250,6 +204,7 @@ const DataFetcher: React.FC = () => {
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('ram_size')}>RAM Size</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('method')}>Method</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('pve_version')}>PVE Version</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('error')}>Error Message</th>
<th className="px-4 py-2 border-b cursor-pointer" onClick={() => requestSort('created_at')}>Created At</th>
</tr>
</thead>
@@ -267,6 +222,13 @@ const DataFetcher: React.FC = () => {
item.status
)}
</td>
<td className="px-4 py-2 border-b">{item.type === "lxc" ? (
"📦"
) : item.type === "vm" ? (
"🖥️"
) : (
item.type
)}</td>
<td className="px-4 py-2 border-b">{item.nsapp}</td>
<td className="px-4 py-2 border-b">{item.os_type}</td>
<td className="px-4 py-2 border-b">{item.os_version}</td>
@@ -275,6 +237,20 @@ const DataFetcher: React.FC = () => {
<td className="px-4 py-2 border-b">{item.ram_size}</td>
<td className="px-4 py-2 border-b">{item.method}</td>
<td className="px-4 py-2 border-b">{item.pve_version}</td>
<td className="px-4 py-2 border-b">
{item.error && item.error !== "none" ? (
showErrorRow === index ? (
<>
{item.error}
<button onClick={() => setShowErrorRow(null)}>{item.error}</button>
</>
) : (
<button onClick={() => setShowErrorRow(index)}>Click to show error</button>
)
) : (
"none"
)}
</td>
<td className="px-4 py-2 border-b">{formatDate(item.created_at)}</td>
</tr>
))}

View File

@@ -187,7 +187,6 @@ msg_info "Cleaning up"
rm -rf /tmp/Python-3.12.1
rm -rf /tmp/Python.tgz
rm -rf go/
rm -rf /tmp/${GO_RELEASE}
rm -rf /tmp/geoipupdate.deb
rm -rf authentik.tar.gz
$STD apt-get -y remove yq

View File

@@ -46,7 +46,7 @@ msg_ok "Configured MySQL"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Setup Node.js"

View File

@@ -14,9 +14,11 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y \
curl \
sudo \
gpg \
mc
msg_ok "Installed Dependencies"
msg_info "Installing Proxmox Backup Server"

View File

@@ -44,7 +44,7 @@ msg_ok "Setup Python3"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"

View File

@@ -1,12 +1,12 @@
{
"name": "Proxmox Backup Server",
"slug": "pbs",
"slug": "proxmox-backup-server",
"categories": [
1
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 8007,
"documentation": "https://pbs.proxmox.com/docs/",
@@ -16,7 +16,7 @@
"install_methods": [
{
"type": "default",
"script": "ct/pbs.sh",
"script": "ct/proxmox-backup-server.sh",
"resources": {
"cpu": 2,
"ram": 2048,
@@ -27,12 +27,12 @@
}
],
"default_credentials": {
"username": null,
"username": "root",
"password": null
},
"notes": [
{
"text": "Set a root password if using autologin. This will be the PBS password. `sudo passwd root`",
"text": "Set a root password if using autologin. This will be the PBS password. `passwd root`",
"type": "warning"
}
]

125
misc/api.func Normal file
View File

@@ -0,0 +1,125 @@
# Copyright (c) 2021-2025 community-scripts ORG
# Author: michelroegl-brunner
# License: MIT | https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/LICENSE
post_to_api() {
if ! command -v curl &> /dev/null; then
return
fi
if [ "$DIAGNOSTICS" = "no" ]; then
return
fi
if [ -z "$RANDOM_UUID" ]; then
return
fi
local API_URL="http://api.community-scripts.org/upload"
local pve_version="not found"
pve_version=$(pveversion | awk -F'[/ ]' '{print $2}')
JSON_PAYLOAD=$(cat <<EOF
{
"ct_type": $CT_TYPE,
"type":"lxc",
"disk_size": $DISK_SIZE,
"core_count": $CORE_COUNT,
"ram_size": $RAM_SIZE,
"os_type": "$var_os",
"os_version": "$var_version",
"disableip6": "$DISABLEIP6",
"nsapp": "$NSAPP",
"method": "$METHOD",
"pve_version": "$pve_version",
"status": "installing",
"random_id": "$RANDOM_UUID"
}
EOF
)
RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD") || true
}
post_to_api_vm() {
DIAGNOSTICS=$(grep -i "^DIAGNOSTICS=" /usr/local/community-scripts/diagnostics | awk -F'=' '{print $2}')
if ! command -v curl &> /dev/null; then
return
fi
if [ "$DIAGNOSTICS" = "no" ]; then
return
fi
if [ -z "$RANDOM_UUID" ]; then
return
fi
local API_URL="http://api.community-scripts.org/upload"
local pve_version="not found"
pve_version=$(pveversion | awk -F'[/ ]' '{print $2}')
DISK_SIZE_API=${DISK_SIZE%G}
JSON_PAYLOAD=$(cat <<EOF
{
"ct_type": 2,
"type":"vm",
"disk_size": $DISK_SIZE_API,
"core_count": $CORE_COUNT,
"ram_size": $RAM_SIZE,
"os_type": "$var_os",
"os_version": "$var_version",
"disableip6": "",
"nsapp": "$NSAPP",
"method": "$METHOD",
"pve_version": "$pve_version",
"status": "installing",
"random_id": "$RANDOM_UUID"
}
EOF
)
RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD") || true
}
POST_UPDATE_DONE=false
post_update_to_api() {
if ! command -v curl &> /dev/null; then
return
fi
if [ "$POST_UPDATE_DONE" = true ]; then
return 0
fi
local API_URL="http://api.community-scripts.org/upload/updatestatus"
local status="${1:-failed}"
local error="${2:-unknown}"
JSON_PAYLOAD=$(cat <<EOF
{
"status": "$status",
"error": "$error",
"random_id": "$RANDOM_UUID"
}
EOF
)
RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD") || true
POST_UPDATE_DONE=true
}

View File

@@ -13,6 +13,7 @@ variables() {
METHOD="default" # sets the METHOD variable to "default", used for the API call.
RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)" # generates a random UUID and sets it to the RANDOM_UUID variable.
}
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func)
# This function sets various color variables using ANSI escape codes for formatting text in the terminal.
color() {
@@ -791,74 +792,6 @@ advanced_settings() {
fi
}
post_to_api() {
if [ "$DIAGNOSTICS" = "no" ]; then
return 0
fi
local API_URL="http://api.community-scripts.org/upload"
local pve_version="not found"
pve_version=$(pveversion | awk -F'[/ ]' '{print $2}')
JSON_PAYLOAD=$(cat <<EOF
{
"ct_type": $CT_TYPE,
"disk_size": $DISK_SIZE,
"core_count": $CORE_COUNT,
"ram_size": $RAM_SIZE,
"os_type": "$var_os",
"os_version": "$var_version",
"disableip6": "$DISABLEIP6",
"nsapp": "$NSAPP",
"method": "$METHOD",
"pve_version": "$pve_version",
"status": "installing",
"random_id": "$RANDOM_UUID"
}
EOF
)
RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD")
if [ "$RESPONSE" -ne 201 ] && [ "$RESPONSE" -ne 302 ]; then
msg_error "API request failed with HTTP code $RESPONSE"
fi
}
POST_UPDATE_DONE=false
post_update_to_api() {
if [ "$DIAGNOSTICS" = "no" ]; then
return 0
fi
if [ "$POST_UPDATE_DONE" = true ]; then
return 0
fi
local API_URL="http://api.community-scripts.org/upload/updatestatus"
local status="${1:-failed}"
JSON_PAYLOAD=$(cat <<EOF
{
"status": "$status",
"random_id": "$RANDOM_UUID"
}
EOF
)
RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD")
if [ "$RESPONSE" -ne 201 ] && [ "$RESPONSE" -ne 302 ]; then
msg_error "API UPDATE request failed with HTTP code $RESPONSE"
fi
POST_UPDATE_DONE=true
}
diagnostics_check(){
if ! [ -d "/usr/local/community-scripts" ]; then
mkdir -p /usr/local/community-scripts
@@ -1091,6 +1024,7 @@ build_container() {
else
export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/install.func)"
fi
export RANDOM_UUID="$RANDOM_UUID"
export CACHER="$APT_CACHER"
export CACHER_IP="$APT_CACHER_IP"
export tz="$timezone"
@@ -1229,10 +1163,10 @@ EOF
systemctl start ping-instances.service
fi
post_update_to_api "done"
post_update_to_api "done" "none"
}
trap 'post_update_to_api "failed"' EXIT
trap 'post_update_to_api "failed"' SIGINT
trap 'post_update_to_api "failed"' SIGTERM
trap 'post_update_to_api "failed" "unknown error"' EXIT
trap 'post_update_to_api "failed" "SIG INTERUPT"' SIGINT
trap 'post_update_to_api "failed" "SIG TERM"' SIGTERM

View File

@@ -56,6 +56,7 @@ catch_errors() {
# This function handles errors
error_handler() {
source <(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func)
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local exit_code="$?"
@@ -63,8 +64,11 @@ error_handler() {
local command="$2"
local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
echo -e "\n$error_message"
if [[ "$line_number" -eq 23 ]]; then
if [[ "$line_number" -eq 44 ]]; then
echo -e "The silent function has suppressed the error, run the script with verbose mode enabled, which will provide more detailed output.\n"
post_update_to_api "failed" "No error message, script ran in silent mode"
else
post_update_to_api "failed" "${command}"
fi
}

View File

@@ -121,9 +121,9 @@ EOF
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58
msg_info "Disabling subscription nag"
# Normal GUI:
echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/.*data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
# JS-Library used when accessing via mobile device browser
echo "DPkg::Post-Invoke { \"dpkg -V pmg-gui | grep -q '/pmgmanagerlib-mobile\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from Mobile UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
echo "DPkg::Post-Invoke { \"dpkg -V pmg-gui | grep -q '/pmgmanagerlib-mobile\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from Mobile UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; }; fi\"; };" >>/etc/apt/apt.conf.d/no-nag-script
apt --reinstall install proxmox-widget-toolkit pmg-gui &>/dev/null
msg_ok "Disabled subscription nag (Delete browser cache)"
;;