Compare commits

..

46 Commits

Author SHA1 Message Date
CanbiZ
99d441e37c Improve PostgreSQL setup for Debian testing/unstable
Enhances the setup_postgresql function to prioritize the PostgreSQL upstream repository for Debian trixie, forky, and sid, with a fallback to native Debian packages if the repo is unavailable or packages cannot be installed. Adds logic for installing dependencies, restoring backups, enabling the service, updating PATH, and installing optional modules for native package installations.
2025-11-17 09:42:02 +01:00
community-scripts-pr-app[bot]
55c21416de Update CHANGELOG.md (#9213)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 06:21:54 +00:00
Alpha Vylly
0296bd63c3 fix: restart apache2 after installing zabbix config (#9206)
Apache must restart to load zabbix-apache-conf. Without restart,
/zabbix endpoint returns 404 until manual intervention.
2025-11-17 07:21:28 +01:00
community-scripts-pr-app[bot]
36630a7e4b Update CHANGELOG.md (#9210)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 00:14:21 +00:00
community-scripts-pr-app[bot]
5c0f6b282a Update versions.json (#9209)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 01:13:54 +01:00
community-scripts-pr-app[bot]
9937bceb17 Update CHANGELOG.md (#9204)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 18:49:26 +00:00
Felix Pape
fbb807bf97 fixed config_path for donetick (#9203) 2025-11-16 19:49:02 +01:00
community-scripts-pr-app[bot]
1df161b8e0 Update CHANGELOG.md (#9202)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 17:56:06 +00:00
ProfDrYoMan
ca2903b1ff Change backup directory to /opt for paperless-ngx (#9195)
* Change backup directory to /opt for paperless-ngx

Using /tmp for the backup is risky since many installations host it with tmpfs and thereby in RAM.

Having a bigger document base will deplete the memory on backup.

* Update paperless-ngx.sh

Added missing change.
2025-11-16 18:55:46 +01:00
community-scripts-pr-app[bot]
1405e28247 Update CHANGELOG.md (#9199)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 15:05:52 +00:00
community-scripts-pr-app[bot]
3257d4e9bc Update date in json (#9198)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-16 15:05:29 +00:00
push-app-to-main[bot]
55166a5d6c Metabase (#9190)
* 'Add new script'

* Update log message for stopping Metabase service

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-16 16:05:10 +01:00
community-scripts-pr-app[bot]
c1c4c35732 Update versions.json (#9192)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 13:06:41 +01:00
community-scripts-pr-app[bot]
5cc11c27d2 Update CHANGELOG.md (#9187)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 01:12:49 +00:00
CanbiZ
a8ae43f59f Kimai: remove deprecated admin_lte section (#9182) 2025-11-16 02:12:23 +01:00
community-scripts-pr-app[bot]
122e475a4a Update CHANGELOG.md (#9186)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 01:11:00 +00:00
CanbiZ
45ae66d474 healthchecks: bump python to 3.13 (#9175) 2025-11-16 02:10:39 +01:00
community-scripts-pr-app[bot]
6e053f2c39 Update CHANGELOG.md (#9185)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 00:14:41 +00:00
community-scripts-pr-app[bot]
71cd680db9 Update versions.json (#9184)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 01:14:17 +01:00
community-scripts-pr-app[bot]
c65c434f01 Update CHANGELOG.md (#9181)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 21:29:48 +00:00
Tobias
e7f2a2b377 Fix syntax error in chmod command (#9169) 2025-11-15 22:29:27 +01:00
community-scripts-pr-app[bot]
da3846935a Update CHANGELOG.md (#9180)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 21:18:57 +00:00
CanbiZ
8522928e14 firefly: refactor update_script and add dataimporter update (#9178)
* firefly: refactor update_script and add dataimporter update

Refactor update_script function to improve clarity and organization. Added checks for data importer installation and streamlined permission settings.

* Remove empty line before update_script function

* Add update messages for Firefly and Importer
2025-11-15 22:18:37 +01:00
community-scripts-pr-app[bot]
65b8180707 Update CHANGELOG.md (#9179)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 20:32:22 +00:00
CanbiZ
37cc47126e phpIPHAM: patch db and add fping (#9177)
Added installation of dependencies and patched SCHEMA.sql for phpIPAM.
2025-11-15 21:32:02 +01:00
community-scripts-pr-app[bot]
2bbc779497 Update CHANGELOG.md (#9176)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 19:29:03 +00:00
Tobias
dba8fc630e changedetection: fix: increase ressources (#9171)
* changedetection: fix: increase ressources

* changedetection: increase ressources
2025-11-15 20:28:42 +01:00
community-scripts-pr-app[bot]
fa9b815474 Update CHANGELOG.md (#9172)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 16:30:09 +00:00
Tobias
2eacce169c 2fauth: update composer command (#9168)
* chore: update composer command

* Change composer install option from prefer-source to prefer-dist
2025-11-15 17:29:47 +01:00
CanbiZ
e40ed2bd80 Healthcheck: uv 2025-11-15 16:46:33 +01:00
community-scripts-pr-app[bot]
8ffa3d6edb Update date in json (#9149)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-15 16:11:28 +01:00
community-scripts-pr-app[bot]
4087b4b0b6 Update versions.json (#9164)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 13:05:44 +01:00
community-scripts-pr-app[bot]
ca04688b69 Update CHANGELOG.md (#9159)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 00:12:37 +00:00
community-scripts-pr-app[bot]
914584b7b8 Update versions.json (#9158)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 01:12:13 +01:00
community-scripts-pr-app[bot]
cd2b2aade1 Update .app files (#9151)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-14 23:13:15 +01:00
community-scripts-pr-app[bot]
886213e134 Update CHANGELOG.md (#9155)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 21:12:54 +00:00
Matthias Schabhüttl
022abe7ba4 bump grafana to debian 13 (#9141)
* Update default Debian version to 13

* Remove software-properties-common from dependencies

Removed installation of 'software-properties-common' from dependencies.

* Update Debian version from 12 to 13

* Changed apt-get to apt

* Changed to new func setup_deb822_repo

* Replaced ${APP} with Grafana

* Refine update_script to use deb822 repo and grafana-only upgrade

* Using cleanup_lxc

* Wrong header_info in update_script()

* Remove unnecessary line break in dependency installation

* Simplify Grafana installation script

Removed unnecessary repository setup commands and updated the script for Grafana installation.

* Update Grafana repository setup in install script

Added repository details for Grafana installation.

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-14 22:12:23 +01:00
community-scripts-pr-app[bot]
e373648787 Update CHANGELOG.md (#9150)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 17:30:15 +00:00
push-app-to-main[bot]
6fa77cfe99 LibreNMS (#9148)
* 'Add new script'

* Fix application name to 'LibreNMS'

* Refactor LibreNMS installation script

Updated the installation script for LibreNMS, changing the source URL and reorganizing the setup process for PHP, MariaDB, and Python dependencies. Removed cleanup commands and added a call to cleanup_lxc.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-11-14 18:29:52 +01:00
community-scripts-pr-app[bot]
be383e941f Update versions.json (#9146)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 13:05:58 +01:00
community-scripts-pr-app[bot]
8d6845d90b Update CHANGELOG.md (#9145)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 11:16:04 +00:00
CanbiZ
8f82229b29 Add CLEAN_INSTALL flag to fetch_and_deploy_gh_release (#9144) 2025-11-14 12:15:39 +01:00
community-scripts-pr-app[bot]
9710f32a16 Update CHANGELOG.md (#9139)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 00:13:22 +00:00
community-scripts-pr-app[bot]
fd5c07971a Update versions.json (#9138)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 01:13:03 +01:00
community-scripts-pr-app[bot]
2ff9471d65 Update CHANGELOG.md (#9136)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 20:46:13 +00:00
Michel Roegl-Brunner
8edab22d32 Remove Barcodebuddy (#9135)
* Delete ct/barcode-buddy.sh

* Delete ct/headers/barcode-buddy

* Delete frontend/public/json/barcode-buddy.json

* Delete install/barcode-buddy-install.sh
2025-11-13 21:45:48 +01:00
29 changed files with 905 additions and 357 deletions

View File

@@ -10,6 +10,65 @@
> [!CAUTION] > [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-11-17
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix: restart apache2 after installing zabbix config [@AlphaLawless](https://github.com/AlphaLawless) ([#9206](https://github.com/community-scripts/ProxmoxVE/pull/9206))
## 2025-11-16
### 🆕 New Scripts
- Metabase ([#9190](https://github.com/community-scripts/ProxmoxVE/pull/9190))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Change backup directory to /opt for paperless-ngx [@ProfDrYoMan](https://github.com/ProfDrYoMan) ([#9195](https://github.com/community-scripts/ProxmoxVE/pull/9195))
- Kimai: remove deprecated admin_lte section [@MickLesk](https://github.com/MickLesk) ([#9182](https://github.com/community-scripts/ProxmoxVE/pull/9182))
- healthchecks: bump python to 3.13 [@MickLesk](https://github.com/MickLesk) ([#9175](https://github.com/community-scripts/ProxmoxVE/pull/9175))
### 🌐 Website
- #### 📝 Script Information
- fixed config_path for donetick [@TazztheMonster](https://github.com/TazztheMonster) ([#9203](https://github.com/community-scripts/ProxmoxVE/pull/9203))
## 2025-11-15
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- privatebin: fix: syntax error in chmod command [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9169](https://github.com/community-scripts/ProxmoxVE/pull/9169))
- phpIPHAM: patch db and add fping [@MickLesk](https://github.com/MickLesk) ([#9177](https://github.com/community-scripts/ProxmoxVE/pull/9177))
- changedetection: fix: increase ressources [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9171](https://github.com/community-scripts/ProxmoxVE/pull/9171))
- 2fauth: update composer command [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9168](https://github.com/community-scripts/ProxmoxVE/pull/9168))
- #### 🔧 Refactor
- firefly: refactor update_script and add dataimporter update [@MickLesk](https://github.com/MickLesk) ([#9178](https://github.com/community-scripts/ProxmoxVE/pull/9178))
## 2025-11-14
### 🆕 New Scripts
- LibreNMS ([#9148](https://github.com/community-scripts/ProxmoxVE/pull/9148))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- karakeep: clean install after every update [@MickLesk](https://github.com/MickLesk) ([#9144](https://github.com/community-scripts/ProxmoxVE/pull/9144))
- #### ✨ New Features
- bump grafana to debian 13 [@mschabhuettl](https://github.com/mschabhuettl) ([#9141](https://github.com/community-scripts/ProxmoxVE/pull/9141))
## 2025-11-13 ## 2025-11-13
### 🆕 New Scripts ### 🆕 New Scripts
@@ -31,6 +90,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 💥 Breaking Changes - #### 💥 Breaking Changes
- Remove Barcodebuddy [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#9135](https://github.com/community-scripts/ProxmoxVE/pull/9135))
- Downgrade Swizzin to Debian 12 Bookworm [@MickLesk](https://github.com/MickLesk) ([#9116](https://github.com/community-scripts/ProxmoxVE/pull/9116)) - Downgrade Swizzin to Debian 12 Bookworm [@MickLesk](https://github.com/MickLesk) ([#9116](https://github.com/community-scripts/ProxmoxVE/pull/9116))
## 2025-11-12 ## 2025-11-12

View File

@@ -54,7 +54,7 @@ function update_script() {
chown -R www-data: "/opt/2fauth" chown -R www-data: "/opt/2fauth"
chmod -R 755 "/opt/2fauth" chmod -R 755 "/opt/2fauth"
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev --prefer-source $STD composer install --no-dev --prefer-dist
php artisan 2fauth:install php artisan 2fauth:install
$STD systemctl restart nginx $STD systemctl restart nginx

View File

@@ -7,8 +7,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="Change Detection" APP="Change Detection"
var_tags="${var_tags:-monitoring;crawler}" var_tags="${var_tags:-monitoring;crawler}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"

View File

@@ -28,40 +28,65 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "firefly" "firefly-iii/firefly-iii"; then
msg_info "Stopping Apache2"
systemctl stop apache2
msg_ok "Stopped Apache2"
msg_info "Backing up data" if check_for_gh_release "firefly" "firefly-iii/firefly-iii"; then
systemctl stop apache2
cp /opt/firefly/.env /opt/.env cp /opt/firefly/.env /opt/.env
cp -r /opt/firefly/storage /opt/storage cp -r /opt/firefly/storage /opt/storage
msg_ok "Backed up data"
if [[ -d /opt/firefly/dataimporter ]]; then
cp /opt/firefly/dataimporter/.env /opt/dataimporter.env
IMPORTER_INSTALLED=1
fi
fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip" fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
setup_composer setup_composer
msg_info "Updating ${APP}" msg_info "Updating Firefly"
rm -rf /opt/firefly/storage rm -rf /opt/firefly/storage
cp /opt/.env /opt/firefly/.env
cp -r /opt/storage /opt/firefly/storage cp -r /opt/storage /opt/firefly/storage
cp /opt/.env /opt/firefly/.env
chown -R www-data:www-data /opt/firefly chown -R www-data:www-data /opt/firefly
find /opt/firefly/storage -type d -exec chmod 775 {} \; chmod -R 775 /opt/firefly/storage
find /opt/firefly/storage -type f -exec chmod 664 {} \; mkdir -p /opt/firefly/storage/framework/cache/data
mkdir -p /opt/firefly/storage/framework/{cache/data,sessions,views} mkdir -p /opt/firefly/storage/framework/sessions
$STD sudo -u www-data php /opt/firefly/artisan cache:clear mkdir -p /opt/firefly/storage/framework/views
mkdir -p /opt/firefly/storage/logs
mkdir -p /opt/firefly/bootstrap/cache
chown -R www-data:www-data /opt/firefly/{storage,bootstrap/cache}
cd /opt/firefly cd /opt/firefly
$STD php artisan migrate --seed --force $STD runuser -u www-data -- composer install --no-dev --optimize-autoloader
$STD php artisan cache:clear $STD runuser -u www-data -- composer dump-autoload -o
$STD php artisan view:clear
$STD php artisan firefly-iii:upgrade-database
$STD php artisan firefly-iii:laravel-passport-keys
msg_ok "Updated ${APP}"
msg_info "Starting Apache2" $STD runuser -u www-data -- php artisan cache:clear
$STD runuser -u www-data -- php artisan config:clear
$STD runuser -u www-data -- php artisan route:clear
$STD runuser -u www-data -- php artisan view:clear
$STD runuser -u www-data -- php artisan migrate --seed --force
$STD runuser -u www-data -- php artisan firefly-iii:upgrade-database
$STD runuser -u www-data -- php artisan firefly-iii:laravel-passport-keys
$STD runuser -u www-data -- php artisan storage:link || true
$STD runuser -u www-data -- php artisan optimize
msg_ok "Updated Firefly"
if [[ "${IMPORTER_INSTALLED:-0}" -eq 1 ]]; then
msg_info "Updating Firefly Importer"
IMPORTER_RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/data-importer/releases/latest | grep tag_name | cut -d '"' -f 4 | sed 's/v//')
rm -rf /opt/firefly/dataimporter
mkdir -p /opt/firefly/dataimporter
curl -fsSL "https://github.com/firefly-iii/data-importer/releases/download/v${IMPORTER_RELEASE}/DataImporter-v${IMPORTER_RELEASE}.tar.gz" -o "/opt/DataImporter.tar.gz"
tar -xzf /opt/DataImporter.tar.gz -C /opt/firefly/dataimporter
if [[ -f /opt/dataimporter.env ]]; then
cp /opt/dataimporter.env /opt/firefly/dataimporter/.env
fi
chown -R www-data:www-data /opt/firefly/dataimporter
rm -f /opt/DataImporter.tar.gz
msg_ok "Updated Firefly Importer"
fi
systemctl start apache2 systemctl start apache2
msg_ok "Started Apache2"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
fi fi
exit exit

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -23,14 +23,24 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then
if ! dpkg -s grafana >/dev/null 2>&1; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit 1
fi fi
msg_info "Updating ${APP}" if [[ -f /etc/apt/sources.list.d/grafana.list ]] || [[ ! -f /etc/apt/sources.list.d/grafana.sources ]]; then
$STD apt-get update setup_deb822_repo \
$STD apt-get -y upgrade "grafana" \
"https://apt.grafana.com/gpg.key" \
"https://apt.grafana.com" \
"stable" \
"main"
fi
msg_info "Updating Grafana LXC"
$STD apt update
$STD apt --only-upgrade install -y grafana
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
exit exit
} }

6
ct/headers/librenms Normal file
View File

@@ -0,0 +1,6 @@
__ _ __ _ ____ ________
/ / (_) /_ ________ / | / / |/ / ___/
/ / / / __ \/ ___/ _ \/ |/ / /|_/ /\__ \
/ /___/ / /_/ / / / __/ /| / / / /___/ /
/_____/_/_.___/_/ \___/_/ |_/_/ /_//____/

6
ct/headers/metabase Normal file
View File

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

View File

@@ -33,7 +33,7 @@ function update_script() {
systemctl stop healthchecks systemctl stop healthchecks
msg_ok "Stopped Services" msg_ok "Stopped Services"
PYTHON_VERSION="3.12" setup_uv PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks" fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks"
msg_info "Updating healthchecks" msg_info "Updating healthchecks"

View File

@@ -55,7 +55,7 @@ function update_script() {
systemctl daemon-reload systemctl daemon-reload
fi fi
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
if command -v corepack >/dev/null; then if command -v corepack >/dev/null; then
$STD corepack disable $STD corepack disable
fi fi

View File

@@ -56,6 +56,7 @@ function update_script() {
[ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/ [ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
rm -rf "$BACKUP_DIR" rm -rf "$BACKUP_DIR"
cd /opt/kimai cd /opt/kimai
sed -i '/^admin_lte:/,/^[^[:space:]]/d' config/local.yaml
$STD composer install --no-dev --optimize-autoloader $STD composer install --no-dev --optimize-autoloader
$STD bin/console kimai:update $STD bin/console kimai:update
msg_ok "Updated Kimai" msg_ok "Updated Kimai"

45
ct/librenms.sh Normal file
View File

@@ -0,0 +1,45 @@
#!/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: michelroegl-brunner
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://librenms.org
APP="LibreNMS"
var_tags="${var_tags:-monitoring}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
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/librenms ]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating LibreNMS"
su librenms
cd /opt/librenms
./daily.sh
msg_ok "Updated LibreNMS"
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}${CL}"

65
ct/metabase.sh Normal file
View File

@@ -0,0 +1,65 @@
#!/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://www.metabase.com/
APP="Metabase"
var_tags="${var_tags:-analytics}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
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/metabase ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "metabase" "metabase/metabase"; then
msg_info "Stopping Service"
systemctl stop metabase
msg_info "Stopped Service"
msg_info "Creating backup"
mv /opt/metabase/.env /opt
msg_ok "Created backup"
msg_info "Updating Metabase"
RELEASE=$(get_latest_github_release "metabase/metabase")
curl -fsSL "https://downloads.metabase.com/v${RELEASE}.x/metabase.jar" -o /opt/metabase/metabase.jar
echo $RELEASE >~/.metabase
msg_ok "Updated Metabase"
msg_info "Restoring backup"
mv /opt/.env /opt/metabase
msg_ok "Restored backup"
msg_info "Starting Service"
systemctl start metabase
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -35,7 +35,7 @@ function update_script() {
if grep -q "uv run" /etc/systemd/system/paperless-webserver.service; then if grep -q "uv run" /etc/systemd/system/paperless-webserver.service; then
msg_info "Backing up user data and configuration" msg_info "Backing up user data and configuration"
local BACKUP_DIR="/tmp/paperless_backup_$$" local BACKUP_DIR="/opt/paperless_backup_$$"
mkdir -p "$BACKUP_DIR" mkdir -p "$BACKUP_DIR"
for dir in /opt/paperless/*/; do for dir in /opt/paperless/*/; do
dir_name=$(basename "$dir") dir_name=$(basename "$dir")
@@ -84,7 +84,7 @@ function update_script() {
find /opt/paperless -name "__pycache__" -type d -exec rm -rf {} + find /opt/paperless -name "__pycache__" -type d -exec rm -rf {} +
msg_info "Backing up user data and configuration" msg_info "Backing up user data and configuration"
local BACKUP_DIR="/tmp/paperless_backup_$$" local BACKUP_DIR="/opt/paperless_backup_$$"
mkdir -p "$BACKUP_DIR" mkdir -p "$BACKUP_DIR"
for dir in /opt/paperless/*/; do for dir in /opt/paperless/*/; do
@@ -122,7 +122,7 @@ function update_script() {
$STD systemctl daemon-reload $STD systemctl daemon-reload
msg_info "Backing up user data and configuration" msg_info "Backing up user data and configuration"
BACKUP_DIR="/tmp/paperless_backup_$$" BACKUP_DIR="/opt/paperless_backup_$$"
mkdir -p "$BACKUP_DIR" mkdir -p "$BACKUP_DIR"
for dir in /opt/paperless/*/; do for dir in /opt/paperless/*/; do

View File

@@ -39,7 +39,7 @@ function update_script() {
mkdir -p /opt/privatebin/data mkdir -p /opt/privatebin/data
mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php
chown -R www-data:www-data /opt/privatebin chown -R www-data:www-data /opt/privatebin
chmod -R 0755 /opt/privatebin/data} chmod -R 0755 /opt/privatebin/data
systemctl reload nginx php8.2-fpm systemctl reload nginx php8.2-fpm
msg_ok "Configured ${APP}" msg_ok "Configured ${APP}"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"

View File

@@ -19,8 +19,8 @@
"type": "default", "type": "default",
"script": "ct/changedetection.sh", "script": "ct/changedetection.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 4,
"ram": 2048, "ram": 4096,
"hdd": 10, "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "12"

View File

@@ -10,7 +10,7 @@
"privileged": false, "privileged": false,
"interface_port": 2021, "interface_port": 2021,
"documentation": "https://docs.donetick.com/getting-started/", "documentation": "https://docs.donetick.com/getting-started/",
"config_path": "/opt/donetick/config/selfhosted.yml", "config_path": "/opt/donetick/config/selfhosted.yaml",
"website": "https://donetick.com", "website": "https://donetick.com",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/donetick.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/donetick.webp",
"description": "Donetick an open-source, user-friendly app for managing tasks and chores, featuring customizable options to help you and others stay organized", "description": "Donetick an open-source, user-friendly app for managing tasks and chores, featuring customizable options to help you and others stay organized",

View File

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

View File

@@ -0,0 +1,35 @@
{
"name": "LibreNMS",
"slug": "librenms",
"categories": [
9
],
"date_created": "2025-11-14",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 80,
"documentation": "https://docs.librenms.org/",
"website": "https://librenms.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/librenms.webp",
"config_path": "/opt/librenms/config.php and /opt/librenms/.env",
"description": "LibreNMS is an open-source, community-driven network monitoring system that provides automatic discovery, alerting, and performance tracking for network devices. It supports a wide range of hardware and integrates with various notification and logging platforms.",
"install_methods": [
{
"type": "default",
"script": "ct/librenms.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 4,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin"
},
"notes": []
}

View File

@@ -0,0 +1,35 @@
{
"name": "Metabase",
"slug": "metabase",
"categories": [
9
],
"date_created": "2025-11-16",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://www.metabase.com/docs/latest/",
"config_path": "/opt/metabase/.env",
"website": "https://www.metabase.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/metabase.webp",
"description": "Metabase is an open-source business intelligence platform. You can use Metabase to ask questions about your data, or embed Metabase in your app to let your customers explore their data on their own.",
"install_methods": [
{
"type": "default",
"script": "ct/metabase.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -1,18 +1,303 @@
[ [
{ {
"name": "PrivateBin/PrivateBin", "name": "Prowlarr/Prowlarr",
"version": "1.7.9", "version": "v2.3.0.5236",
"date": "2025-11-13T10:26:37Z" "date": "2025-11-16T22:41:22Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v3.1.0.4875",
"date": "2025-11-16T22:40:18Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.11.3",
"date": "2025-11-16T22:40:10Z"
},
{
"name": "Radarr/Radarr",
"version": "v6.0.4.10291",
"date": "2025-11-16T22:39:01Z"
},
{
"name": "sysadminsmedia/homebox",
"version": "v0.21.0",
"date": "2025-08-23T18:33:53Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v0.22.15",
"date": "2025-11-16T21:30:50Z"
},
{
"name": "TwiN/gatus",
"version": "v5.32.0",
"date": "2025-11-16T21:08:56Z"
},
{
"name": "binwiederhier/ntfy",
"version": "v2.15.0",
"date": "2025-11-16T18:53:49Z"
},
{
"name": "PCJones/UmlautAdaptarr",
"version": "v0.7.4",
"date": "2025-11-16T18:40:32Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.3.8",
"date": "2025-11-16T17:04:37Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.30.11",
"date": "2025-11-16T16:21:04Z"
},
{
"name": "AlexxIT/go2rtc",
"version": "v1.9.12",
"date": "2025-11-16T16:14:55Z"
},
{
"name": "LibreTranslate/LibreTranslate",
"version": "v1.8.0",
"date": "2025-11-16T15:54:50Z"
},
{
"name": "outline/outline",
"version": "v1.1.0",
"date": "2025-11-16T15:07:09Z"
},
{
"name": "bastienwirtz/homer",
"version": "v25.11.1",
"date": "2025-11-16T13:04:21Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-core@16.0.12",
"date": "2025-11-16T12:33:59Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.314",
"date": "2025-11-16T05:56:46Z"
},
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.11",
"date": "2025-11-16T01:29:06Z"
},
{
"name": "OliveTin/OliveTin",
"version": "3000.4.0",
"date": "2025-11-16T01:02:49Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-16T00:27:06Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.80.0.rc.1",
"date": "2025-11-16T00:22:41Z"
},
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.19.6",
"date": "2025-11-15T22:56:45Z"
},
{
"name": "seerr-team/seerr",
"version": "preview-test-fix-subscriptions",
"date": "2025-11-15T20:51:48Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.528.2",
"date": "2025-11-15T20:15:39Z"
},
{
"name": "bunkerity/bunkerweb",
"version": "v1.6.5",
"date": "2025-10-06T15:25:17Z"
},
{
"name": "karakeep-app/karakeep",
"version": "android/v1.8.2-2",
"date": "2025-11-15T13:18:41Z"
},
{
"name": "cloudreve/cloudreve",
"version": "4.10.1",
"date": "2025-11-15T04:36:48Z"
},
{
"name": "henrygd/beszel",
"version": "v0.16.1",
"date": "2025-11-14T22:50:06Z"
},
{
"name": "home-assistant/core",
"version": "2025.11.2",
"date": "2025-11-14T22:10:50Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.5",
"date": "2025-11-12T15:24:23Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.43.3",
"date": "2025-11-14T19:16:17Z"
},
{
"name": "kimai/kimai",
"version": "2.43.0",
"date": "2025-11-14T17:20:16Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.119.2",
"date": "2025-11-14T17:06:16Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.5.0",
"date": "2025-11-14T16:23:33Z"
},
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.5.0-rc.1",
"date": "2025-11-14T15:46:14Z"
},
{
"name": "influxdata/influxdb",
"version": "v2.7.12",
"date": "2025-05-29T17:08:26Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.308.0-rc.0",
"date": "2025-11-14T15:20:35Z"
},
{
"name": "Dolibarr/dolibarr",
"version": "22.0.3",
"date": "2025-11-14T14:49:25Z"
},
{
"name": "grafana/grafana",
"version": "rrc_steady_12.4.0-19174562009.patch4",
"date": "2025-11-14T14:12:58Z"
},
{
"name": "documenso/documenso",
"version": "v2.0.12",
"date": "2025-11-14T13:48:27Z"
},
{
"name": "MariaDB/server",
"version": "mariadb-11.8.5",
"date": "2025-11-14T13:24:20Z"
},
{
"name": "emqx/emqx",
"version": "e5.9.2",
"date": "2025-11-14T12:20:13Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.16.2",
"date": "2025-11-14T12:05:36Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.7.0",
"date": "2025-11-14T09:45:13Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.51.1",
"date": "2025-11-14T09:22:24Z"
}, },
{ {
"name": "nzbgetcom/nzbget", "name": "nzbgetcom/nzbget",
"version": "v25.4", "version": "v25.4",
"date": "2025-10-09T10:27:01Z" "date": "2025-10-09T10:27:01Z"
}, },
{
"name": "verdaccio/verdaccio",
"version": "generator-verdaccio-plugin@6.0.0-next-8.25",
"date": "2025-11-14T08:14:55Z"
},
{
"name": "runtipi/runtipi",
"version": "v4.6.5",
"date": "2025-11-14T06:59:44Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.86.1",
"date": "2025-11-14T05:05:44Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.31.0",
"date": "2025-11-14T00:18:50Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.11",
"date": "2025-11-12T20:27:51Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.7.7",
"date": "2025-11-13T21:28:44Z"
},
{
"name": "0xERR0R/blocky",
"version": "v0.28.1",
"date": "2025-11-13T21:25:32Z"
},
{
"name": "pommee/goaway",
"version": "v0.62.18",
"date": "2025-11-13T19:49:21Z"
},
{ {
"name": "traefik/traefik", "name": "traefik/traefik",
"version": "v2.11.31", "version": "v3.6.1",
"date": "2025-11-13T10:01:56Z" "date": "2025-11-13T14:28:54Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.33.0",
"date": "2025-11-13T14:09:14Z"
},
{
"name": "PrivateBin/PrivateBin",
"version": "1.7.9",
"date": "2025-11-13T10:26:37Z"
}, },
{ {
"name": "meilisearch/meilisearch", "name": "meilisearch/meilisearch",
@@ -34,16 +319,6 @@
"version": "0.209.8", "version": "0.209.8",
"date": "2025-11-13T07:20:49Z" "date": "2025-11-13T07:20:49Z"
}, },
{
"name": "fuma-nama/fumadocs",
"version": "create-fumadocs-app@16.0.14",
"date": "2025-11-13T06:36:08Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.301",
"date": "2025-11-13T05:56:54Z"
},
{ {
"name": "firefly-iii/firefly-iii", "name": "firefly-iii/firefly-iii",
"version": "v6.4.8", "version": "v6.4.8",
@@ -54,51 +329,11 @@
"version": "2025.10.5", "version": "2025.10.5",
"date": "2025-11-12T01:09:44Z" "date": "2025-11-12T01:09:44Z"
}, },
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-13T00:27:05Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{
"name": "documenso/documenso",
"version": "v2.0.11",
"date": "2025-11-12T23:56:58Z"
},
{
"name": "rcourtman/Pulse",
"version": "issue-706",
"date": "2025-11-12T21:52:39Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.5",
"date": "2025-11-12T15:24:23Z"
},
{
"name": "henrygd/beszel",
"version": "v0.16.0",
"date": "2025-11-12T21:33:36Z"
},
{ {
"name": "NginxProxyManager/nginx-proxy-manager", "name": "NginxProxyManager/nginx-proxy-manager",
"version": "v2.13.4", "version": "v2.13.4",
"date": "2025-11-12T21:27:04Z" "date": "2025-11-12T21:27:04Z"
}, },
{
"name": "BerriAI/litellm",
"version": "v1.79.3.dev5",
"date": "2025-11-12T20:59:51Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.11-rc0",
"date": "2025-11-12T16:40:38Z"
},
{ {
"name": "wazuh/wazuh", "name": "wazuh/wazuh",
"version": "v4.14.1", "version": "v4.14.1",
@@ -109,41 +344,16 @@
"version": "v1.0.25", "version": "v1.0.25",
"date": "2025-11-12T16:57:54Z" "date": "2025-11-12T16:57:54Z"
}, },
{
"name": "zitadel/zitadel",
"version": "v4.6.6",
"date": "2025-11-12T13:09:12Z"
},
{
"name": "kimai/kimai",
"version": "2.42.0",
"date": "2025-11-12T15:16:54Z"
},
{ {
"name": "zwave-js/zwave-js-ui", "name": "zwave-js/zwave-js-ui",
"version": "v11.7.0", "version": "v11.7.0",
"date": "2025-11-12T14:09:36Z" "date": "2025-11-12T14:09:36Z"
}, },
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.528.2",
"date": "2025-11-12T13:18:13Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.43",
"date": "2025-11-12T12:03:21Z"
},
{ {
"name": "cockpit-project/cockpit", "name": "cockpit-project/cockpit",
"version": "351", "version": "351",
"date": "2025-11-12T11:28:06Z" "date": "2025-11-12T11:28:06Z"
}, },
{
"name": "0xERR0R/blocky",
"version": "v0.28.0",
"date": "2025-11-12T11:00:07Z"
},
{ {
"name": "Paymenter/Paymenter", "name": "Paymenter/Paymenter",
"version": "v1.4.4", "version": "v1.4.4",
@@ -154,21 +364,11 @@
"version": "v0.101.0", "version": "v0.101.0",
"date": "2025-11-12T07:13:22Z" "date": "2025-11-12T07:13:22Z"
}, },
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{ {
"name": "webmin/webmin", "name": "webmin/webmin",
"version": "2.600", "version": "2.600",
"date": "2025-11-12T05:01:55Z" "date": "2025-11-12T05:01:55Z"
}, },
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{ {
"name": "moghtech/komodo", "name": "moghtech/komodo",
"version": "v1.19.5", "version": "v1.19.5",
@@ -189,11 +389,6 @@
"version": "v5.9.2", "version": "v5.9.2",
"date": "2025-11-11T19:29:32Z" "date": "2025-11-11T19:29:32Z"
}, },
{
"name": "runtipi/runtipi",
"version": "v4.6.4",
"date": "2025-11-11T17:47:15Z"
},
{ {
"name": "gethomepage/homepage", "name": "gethomepage/homepage",
"version": "v1.7.0", "version": "v1.7.0",
@@ -204,31 +399,16 @@
"version": "mattermost-redux@11.1.0", "version": "mattermost-redux@11.1.0",
"date": "2025-11-11T17:15:00Z" "date": "2025-11-11T17:15:00Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.30.10",
"date": "2025-11-11T16:26:27Z"
},
{ {
"name": "netbox-community/netbox", "name": "netbox-community/netbox",
"version": "v4.4.6", "version": "v4.4.6",
"date": "2025-11-11T14:59:23Z" "date": "2025-11-11T14:59:23Z"
}, },
{
"name": "seerr-team/seerr",
"version": "preview-test-fix-subscriptions",
"date": "2025-11-11T14:38:10Z"
},
{ {
"name": "CrazyWolf13/web-check", "name": "CrazyWolf13/web-check",
"version": "1.1.0", "version": "1.1.0",
"date": "2025-11-11T14:30:28Z" "date": "2025-11-11T14:30:28Z"
}, },
{
"name": "openobserve/openobserve",
"version": "v0.16.1",
"date": "2025-11-11T13:14:28Z"
},
{ {
"name": "BookStackApp/BookStack", "name": "BookStackApp/BookStack",
"version": "v25.11.1", "version": "v25.11.1",
@@ -239,36 +419,16 @@
"version": "v1.142.0", "version": "v1.142.0",
"date": "2025-11-11T10:33:50Z" "date": "2025-11-11T10:33:50Z"
}, },
{
"name": "n8n-io/n8n",
"version": "n8n@1.119.1",
"date": "2025-11-10T14:21:10Z"
},
{
"name": "emqx/emqx",
"version": "e6.0.1",
"date": "2025-11-11T09:46:06Z"
},
{ {
"name": "FlareSolverr/FlareSolverr", "name": "FlareSolverr/FlareSolverr",
"version": "v3.4.5", "version": "v3.4.5",
"date": "2025-11-11T01:58:31Z" "date": "2025-11-11T01:58:31Z"
}, },
{
"name": "chrisbenincasa/tunarr",
"version": "v0.23.0-alpha.22",
"date": "2025-11-11T01:36:48Z"
},
{ {
"name": "MediaBrowser/Emby.Releases", "name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.90", "version": "4.9.1.90",
"date": "2025-11-11T01:00:32Z" "date": "2025-11-11T01:00:32Z"
}, },
{
"name": "OliveTin/OliveTin",
"version": "2025.11.11",
"date": "2025-11-11T00:35:03Z"
},
{ {
"name": "qbittorrent/qBittorrent", "name": "qbittorrent/qBittorrent",
"version": "release-5.1.3", "version": "release-5.1.3",
@@ -279,16 +439,6 @@
"version": "REL_13_23", "version": "REL_13_23",
"date": "2025-11-10T21:59:18Z" "date": "2025-11-10T21:59:18Z"
}, },
{
"name": "chrisvel/tududi",
"version": "v0.86",
"date": "2025-11-10T20:54:25Z"
},
{
"name": "pommee/goaway",
"version": "v0.62.17",
"date": "2025-11-10T19:45:49Z"
},
{ {
"name": "autobrr/autobrr", "name": "autobrr/autobrr",
"version": "v1.69.0", "version": "v1.69.0",
@@ -334,11 +484,6 @@
"version": "v14.0.1", "version": "v14.0.1",
"date": "2025-11-09T13:03:18Z" "date": "2025-11-09T13:03:18Z"
}, },
{
"name": "karakeep-app/karakeep",
"version": "extension/v1.2.7",
"date": "2025-11-09T12:21:54Z"
},
{ {
"name": "authelia/authelia", "name": "authelia/authelia",
"version": "v4.39.14", "version": "v4.39.14",
@@ -359,21 +504,11 @@
"version": "v1.17.2", "version": "v1.17.2",
"date": "2025-11-08T22:47:58Z" "date": "2025-11-08T22:47:58Z"
}, },
{
"name": "TwiN/gatus",
"version": "v5.31.0",
"date": "2025-11-08T22:18:46Z"
},
{ {
"name": "hargata/lubelog", "name": "hargata/lubelog",
"version": "v1.5.4", "version": "v1.5.4",
"date": "2025-11-08T16:26:45Z" "date": "2025-11-08T16:26:45Z"
}, },
{
"name": "Luligu/matterbridge",
"version": "3.3.7",
"date": "2025-11-08T15:47:24Z"
},
{ {
"name": "heiher/hev-socks5-server", "name": "heiher/hev-socks5-server",
"version": "2.11.1", "version": "2.11.1",
@@ -384,21 +519,6 @@
"version": "v7.13.0", "version": "v7.13.0",
"date": "2025-11-08T13:36:25Z" "date": "2025-11-08T13:36:25Z"
}, },
{
"name": "pocketbase/pocketbase",
"version": "v0.32.0",
"date": "2025-11-08T09:36:27Z"
},
{
"name": "home-assistant/core",
"version": "2025.11.1",
"date": "2025-11-07T21:32:26Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.43.2",
"date": "2025-11-07T19:16:41Z"
},
{ {
"name": "semaphoreui/semaphore", "name": "semaphoreui/semaphore",
"version": "v2.16.45", "version": "v2.16.45",
@@ -419,11 +539,6 @@
"version": "v3.0.0", "version": "v3.0.0",
"date": "2025-11-07T06:13:49Z" "date": "2025-11-07T06:13:49Z"
}, },
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.10",
"date": "2025-11-06T23:10:38Z"
},
{ {
"name": "Ombi-app/Ombi", "name": "Ombi-app/Ombi",
"version": "v4.52.0", "version": "v4.52.0",
@@ -434,16 +549,6 @@
"version": "v0.6.36", "version": "v0.6.36",
"date": "2025-11-06T21:45:33Z" "date": "2025-11-06T21:45:33Z"
}, },
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.19.5",
"date": "2025-11-06T20:20:13Z"
},
{
"name": "MariaDB/server",
"version": "mariadb-11.8.4",
"date": "2025-11-06T17:24:30Z"
},
{ {
"name": "HabitRPG/habitica", "name": "HabitRPG/habitica",
"version": "v5.41.6", "version": "v5.41.6",
@@ -489,11 +594,6 @@
"version": "v2025-11-05", "version": "v2025-11-05",
"date": "2025-11-05T18:08:26Z" "date": "2025-11-05T18:08:26Z"
}, },
{
"name": "bunkerity/bunkerweb",
"version": "v1.6.5",
"date": "2025-10-06T15:25:17Z"
},
{ {
"name": "javedh-dev/tracktor", "name": "javedh-dev/tracktor",
"version": "0.5.1", "version": "0.5.1",
@@ -589,11 +689,6 @@
"version": "v25.11.0", "version": "v25.11.0",
"date": "2025-11-04T00:32:21Z" "date": "2025-11-04T00:32:21Z"
}, },
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.5.0-rc.0",
"date": "2025-11-03T19:37:03Z"
},
{ {
"name": "goauthentik/authentik", "name": "goauthentik/authentik",
"version": "version/2025.10.1", "version": "version/2025.10.1",
@@ -604,11 +699,6 @@
"version": "2.2.1", "version": "2.2.1",
"date": "2025-11-03T06:57:15Z" "date": "2025-11-03T06:57:15Z"
}, },
{
"name": "jellyfin/jellyfin",
"version": "v10.11.2",
"date": "2025-11-03T02:29:00Z"
},
{ {
"name": "maxdorninger/MediaManager", "name": "maxdorninger/MediaManager",
"version": "v1.9.1", "version": "v1.9.1",
@@ -644,21 +734,11 @@
"version": "v1.90.6", "version": "v1.90.6",
"date": "2025-10-31T22:24:04Z" "date": "2025-10-31T22:24:04Z"
}, },
{
"name": "mealie-recipes/mealie",
"version": "v3.4.0",
"date": "2025-10-31T18:50:18Z"
},
{ {
"name": "zabbix/zabbix", "name": "zabbix/zabbix",
"version": "7.4.5", "version": "7.4.5",
"date": "2025-10-31T14:39:13Z" "date": "2025-10-31T14:39:13Z"
}, },
{
"name": "gristlabs/grist-core",
"version": "v1.7.5",
"date": "2025-10-31T13:42:36Z"
},
{ {
"name": "plankanban/planka", "name": "plankanban/planka",
"version": "planka-1.1.1", "version": "planka-1.1.1",
@@ -684,21 +764,11 @@
"version": "v0.107.69", "version": "v0.107.69",
"date": "2025-10-30T15:31:50Z" "date": "2025-10-30T15:31:50Z"
}, },
{
"name": "Lidarr/Lidarr",
"version": "v3.0.1.4866",
"date": "2025-10-30T14:29:25Z"
},
{ {
"name": "danielbrendel/hortusfox-web", "name": "danielbrendel/hortusfox-web",
"version": "v5.4", "version": "v5.4",
"date": "2025-10-30T14:25:23Z" "date": "2025-10-30T14:25:23Z"
}, },
{
"name": "prometheus/prometheus",
"version": "v0.307.3",
"date": "2025-10-30T08:13:40Z"
},
{ {
"name": "ipfs/kubo", "name": "ipfs/kubo",
"version": "v0.38.2", "version": "v0.38.2",
@@ -709,11 +779,6 @@
"version": "v1.11.1", "version": "v1.11.1",
"date": "2025-10-29T22:09:26Z" "date": "2025-10-29T22:09:26Z"
}, },
{
"name": "influxdata/influxdb",
"version": "v2.7.12",
"date": "2025-05-29T17:08:26Z"
},
{ {
"name": "laurent22/joplin", "name": "laurent22/joplin",
"version": "server-v3.4.4", "version": "server-v3.4.4",
@@ -724,11 +789,6 @@
"version": "cassandra-5.0.6", "version": "cassandra-5.0.6",
"date": "2025-10-29T07:40:47Z" "date": "2025-10-29T07:40:47Z"
}, },
{
"name": "outline/outline",
"version": "v1.0.1",
"date": "2025-10-29T03:25:13Z"
},
{ {
"name": "booklore-app/booklore", "name": "booklore-app/booklore",
"version": "v1.10.0", "version": "v1.10.0",
@@ -754,11 +814,6 @@
"version": "v4.2.0", "version": "v4.2.0",
"date": "2025-10-27T16:56:40Z" "date": "2025-10-27T16:56:40Z"
}, },
{
"name": "Radarr/Radarr",
"version": "v5.28.0.10274",
"date": "2025-10-06T21:31:07Z"
},
{ {
"name": "openhab/openhab-core", "name": "openhab/openhab-core",
"version": "5.1.0.M2", "version": "5.1.0.M2",
@@ -774,16 +829,6 @@
"version": "v13.0.2", "version": "v13.0.2",
"date": "2025-10-26T06:33:05Z" "date": "2025-10-26T06:33:05Z"
}, },
{
"name": "Prowlarr/Prowlarr",
"version": "v2.1.5.5216",
"date": "2025-10-25T19:41:59Z"
},
{
"name": "verdaccio/verdaccio",
"version": "v6.2.1",
"date": "2025-10-24T15:40:49Z"
},
{ {
"name": "usememos/memos", "name": "usememos/memos",
"version": "v0.25.2", "version": "v0.25.2",
@@ -829,16 +874,6 @@
"version": "v3.2.5-beta", "version": "v3.2.5-beta",
"date": "2025-10-21T16:49:14Z" "date": "2025-10-21T16:49:14Z"
}, },
{
"name": "grafana/grafana",
"version": "v12.2.1",
"date": "2025-10-21T14:40:19Z"
},
{
"name": "AlexxIT/go2rtc",
"version": "v1.9.11",
"date": "2025-10-21T13:21:02Z"
},
{ {
"name": "influxdata/telegraf", "name": "influxdata/telegraf",
"version": "v1.36.3", "version": "v1.36.3",
@@ -909,11 +944,6 @@
"version": "RELEASE.2025-10-15T17-29-55Z", "version": "RELEASE.2025-10-15T17-29-55Z",
"date": "2025-10-16T19:33:51Z" "date": "2025-10-16T19:33:51Z"
}, },
{
"name": "cloudreve/cloudreve",
"version": "4.9.2",
"date": "2025-10-16T03:24:44Z"
},
{ {
"name": "linkwarden/linkwarden", "name": "linkwarden/linkwarden",
"version": "v2.13.1", "version": "v2.13.1",
@@ -989,11 +1019,6 @@
"version": "mysql-cluster-7.6.36", "version": "mysql-cluster-7.6.36",
"date": "2025-10-06T15:19:49Z" "date": "2025-10-06T15:19:49Z"
}, },
{
"name": "bastienwirtz/homer",
"version": "v25.10.1",
"date": "2025-10-06T14:23:20Z"
},
{ {
"name": "jordan-dalby/ByteStash", "name": "jordan-dalby/ByteStash",
"version": "v1.5.9", "version": "v1.5.9",
@@ -1034,11 +1059,6 @@
"version": "1.27.1", "version": "1.27.1",
"date": "2025-09-27T13:07:26Z" "date": "2025-09-27T13:07:26Z"
}, },
{
"name": "Dolibarr/dolibarr",
"version": "22.0.2",
"date": "2025-09-27T01:43:20Z"
},
{ {
"name": "Threadfin/Threadfin", "name": "Threadfin/Threadfin",
"version": "1.2.39", "version": "1.2.39",
@@ -1154,11 +1174,6 @@
"version": "v0.11.0", "version": "v0.11.0",
"date": "2025-09-01T16:19:38Z" "date": "2025-09-01T16:19:38Z"
}, },
{
"name": "LibreTranslate/LibreTranslate",
"version": "v1.7.3",
"date": "2025-08-31T15:59:43Z"
},
{ {
"name": "Forceu/Gokapi", "name": "Forceu/Gokapi",
"version": "v2.1.0", "version": "v2.1.0",
@@ -1179,11 +1194,6 @@
"version": "0.6.25", "version": "0.6.25",
"date": "2025-08-24T08:51:55Z" "date": "2025-08-24T08:51:55Z"
}, },
{
"name": "sysadminsmedia/homebox",
"version": "v0.21.0",
"date": "2025-08-23T18:33:53Z"
},
{ {
"name": "caddyserver/caddy", "name": "caddyserver/caddy",
"version": "v2.10.2", "version": "v2.10.2",
@@ -1239,11 +1249,6 @@
"version": "v1.28.3", "version": "v1.28.3",
"date": "2025-08-06T12:32:02Z" "date": "2025-08-06T12:32:02Z"
}, },
{
"name": "binwiederhier/ntfy",
"version": "v2.14.0",
"date": "2025-08-05T08:31:35Z"
},
{ {
"name": "inspircd/inspircd", "name": "inspircd/inspircd",
"version": "v4.8.0", "version": "v4.8.0",
@@ -1264,11 +1269,6 @@
"version": "v0.4.5", "version": "v0.4.5",
"date": "2025-07-29T16:39:18Z" "date": "2025-07-29T16:39:18Z"
}, },
{
"name": "PCJones/UmlautAdaptarr",
"version": "v0.7.3",
"date": "2025-07-22T14:39:54Z"
},
{ {
"name": "sbondCo/Watcharr", "name": "sbondCo/Watcharr",
"version": "v2.1.1", "version": "v2.1.1",

View File

@@ -53,7 +53,7 @@ sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
-e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env -e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer update --no-plugins --no-scripts $STD composer update --no-plugins --no-scripts
$STD composer install --no-dev --prefer-source --no-plugins --no-scripts $STD composer install --no-dev --prefer-dist --no-plugins --no-scripts
$STD php artisan key:generate --force $STD php artisan key:generate --force
$STD php artisan migrate:refresh $STD php artisan migrate:refresh
$STD php artisan passport:install -q -n $STD php artisan passport:install -q -n

View File

@@ -14,26 +14,23 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt install -y apt-transport-https
apt-transport-https \
software-properties-common
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Grafana Repository" msg_info "Setting up Grafana Repository"
curl -fsSL "https://apt.grafana.com/gpg.key" -o "/usr/share/keyrings/grafana.key" setup_deb822_repo \
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" >/etc/apt/sources.list.d/grafana.list "grafana" \
msg_ok "Set up Grafana Repository" "https://apt.grafana.com/gpg.key" \
"https://apt.grafana.com" \
"stable" \
"main"
msg_ok "Grafana Repository setup sucessfully"
msg_info "Installing Grafana" msg_info "Installing Grafana"
$STD apt-get update $STD apt install -y grafana
$STD apt-get install -y grafana
systemctl enable -q --now grafana-server systemctl enable -q --now grafana-server
msg_ok "Installed Grafana" msg_ok "Installed Grafana"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -22,7 +22,7 @@ $STD apt install -y \
caddy caddy
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PYTHON_VERSION="3.12" setup_python PYTHON_VERSION="3.13" setup_uv
PG_VERSION=16 setup_postgresql PG_VERSION=16 setup_postgresql
msg_info "Setup Database" msg_info "Setup Database"

View File

@@ -71,9 +71,6 @@ kimai:
begin: 15 begin: 15
end: 15 end: 15
admin_lte:
options:
default_avatar: build/apple-touch-icon.png
EOF EOF
msg_ok "Installed Kimai" msg_ok "Installed Kimai"

138
install/librenms-install.sh Normal file
View File

@@ -0,0 +1,138 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: michelroegl-brunner
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.librenms.org/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
acl \
fping \
graphviz \
imagemagick \
mtr-tiny \
nginx \
nmap \
rrdtool \
snmp \
snmpd \
whois
msg_ok "Installed Dependencies"
msg_info "Installing Python Dependencies"
$STD apt install -y \
python3-dotenv \
python3-pymysql \
python3-redis \
python3-setuptools \
python3-systemd \
python3-pip
msg_ok "Installed Python Dependencies"
PHP_VERSION="8.4" PHP_FPM="YES" PHP_MODULE="gmp,mysql,snmp" setup_php
setup_mariadb
setup_composer
PYTHON_VERSION="3.13" setup_uv
MARIADB_DB_NAME="librenms" MARIADB_DB_USER="librenms" MARIADB_DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)" setup_mariadb_db
fetch_and_deploy_gh_release "librenms" "librenms/librenms"
msg_info "Configuring LibreNMS"
$STD useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
mkdir -p /opt/librenms/{rrd,logs,bootstrap/cache,storage,html}
cd /opt/librenms
APP_KEY=$(openssl rand -base64 40 | tr -dc 'a-zA-Z0-9')
$STD uv venv .venv
$STD source .venv/bin/activate
$STD uv pip install -r requirements.txt
cat <<EOF >/opt/librenms/.env
DB_DATABASE=${MARIADB_DB_NAME}
DB_USERNAME=${MARIADB_DB_USER}
DB_PASSWORD=${MARIADB_DB_PASS}
APP_KEY=${APP_KEY}
EOF
chown -R librenms:librenms /opt/librenms
chmod 771 /opt/librenms
chmod -R ug=rwX /opt/librenms/bootstrap/cache /opt/librenms/storage /opt/librenms/logs /opt/librenms/rrd
msg_ok "Configured LibreNMS"
msg_info "Configure MariaDB"
sed -i "/\[mysqld\]/a innodb_file_per_table=1\nlower_case_table_names=0" /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl enable -q --now mariadb
msg_ok "Configured MariaDB"
msg_info "Configure PHP-FPM"
cp /etc/php/8.4/fpm/pool.d/www.conf /etc/php/8.4/fpm/pool.d/librenms.conf
sed -i "s/\[www\]/\[librenms\]/g" /etc/php/8.4/fpm/pool.d/librenms.conf
sed -i "s/user = www-data/user = librenms/g" /etc/php/8.4/fpm/pool.d/librenms.conf
sed -i "s/group = www-data/group = librenms/g" /etc/php/8.4/fpm/pool.d/librenms.conf
sed -i "s/listen = \/run\/php\/php8.4-fpm.sock/listen = \/run\/php-fpm-librenms.sock/g" /etc/php/8.4/fpm/pool.d/librenms.conf
msg_ok "Configured PHP-FPM"
msg_info "Configure Nginx"
IP_ADDR=$(hostname -I | awk '{print $1}')
cat >/etc/nginx/sites-enabled/librenms <<'EOF'
server {
listen 80;
server_name ${IP_ADDR};
root /opt/librenms/html;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
EOF
rm /etc/nginx/sites-enabled/default
$STD systemctl reload nginx
systemctl restart php8.4-fpm
msg_ok "Configured Nginx"
msg_info "Configure Services"
ln -s /opt/librenms/lnms /usr/bin/lnms
mkdir -p /etc/bash_completion.d/
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
$STD su - librenms -s /bin/bash -c "cd /opt/librenms && COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev"
$STD su - librenms -s /bin/bash -c "cd /opt/librenms && php8.4 artisan migrate --force"
$STD su - librenms -s /bin/bash -c "cd /opt/librenms && php8.4 artisan key:generate --force"
$STD su - librenms -s /bin/bash -c "cd /opt/librenms && lnms db:seed --force"
$STD su - librenms -s /bin/bash -c "cd /opt/librenms && lnms user:add -p admin -r admin admin"
RANDOM_STRING=$(openssl rand -base64 16 | tr -dc 'a-zA-Z0-9')
sed -i "s/RANDOMSTRINGHERE/$RANDOM_STRING/g" /etc/snmp/snmpd.conf
echo "SNMP Community String: $RANDOM_STRING" >>~/librenms.creds
curl -qso /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl enable -q --now snmpd
cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms
cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
systemctl enable -q --now librenms-scheduler.timer
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
msg_ok "Configured Services"
motd_ssh
customize
cleanup_lxc

View File

@@ -0,0 +1,59 @@
#!/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://www.metabase.com/
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
PG_DB_NAME="metabase_db" PG_DB_USER="metabase" setup_postgresql_db
msg_info "Setting up Metabase"
mkdir -p /opt/metabase
RELEASE=$(get_latest_github_release "metabase/metabase")
curl -fsSL "https://downloads.metabase.com/v${RELEASE}.x/metabase.jar" -o /opt/metabase/metabase.jar
cd /opt/metabase
cat <<EOF >/opt/metabase/.env
MB_DB_TYPE=postgres
MB_DB_DBNAME=$PG_DB_NAME
MB_DB_PORT=5432
MB_DB_USER=$PG_DB_USER
MB_DB_PASS=$PG_DB_PASS
MB_DB_HOST=localhost
EOF
echo $RELEASE >~/.metabase
msg_ok "Setup Metabase"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/metabase.service
[Unit]
Description=Metabase Service
After=network.target
[Service]
EnvironmentFile=/opt/metabase/.env
WorkingDirectory=/opt/metabase
ExecStart=/usr/bin/java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar
Restart=always
SuccessExitStatus=143
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now metabase
msg_ok "Created Service"
motd_ssh
customize
cleanup_lxc

View File

@@ -13,6 +13,10 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies"
$STD apt install -y fping
msg_ok "Installed Dependencies"
PHP_VERSION="8.3" PHP_APACHE="YES" PHP_FPM="YES" PHP_MODULE="mysql,gmp,snmp,ldap,apcu" setup_php PHP_VERSION="8.3" PHP_APACHE="YES" PHP_FPM="YES" PHP_MODULE="mysql,gmp,snmp,ldap,apcu" setup_php
msg_info "Installing PHP-PEAR" msg_info "Installing PHP-PEAR"
@@ -26,6 +30,8 @@ MARIADB_DB_NAME="phpipam" MARIADB_DB_USER="phpipam" setup_mariadb_db
fetch_and_deploy_gh_release "phpipam" "phpipam/phpipam" "prebuild" "latest" "/opt/phpipam" "phpipam-v*.zip" fetch_and_deploy_gh_release "phpipam" "phpipam/phpipam" "prebuild" "latest" "/opt/phpipam" "phpipam-v*.zip"
msg_info "Installing phpIPAM" msg_info "Installing phpIPAM"
# patch SCHEMA, during varchar l_name is to short in upstream (2025-11-15)
sed -i -E 's/`l_name`\s+varchar\([0-9]+\)/`l_name` varchar(128)/' /opt/phpipam/db/SCHEMA.sql
$STD mariadb -u root "${MARIADB_DB_NAME}" </opt/phpipam/db/SCHEMA.sql $STD mariadb -u root "${MARIADB_DB_NAME}" </opt/phpipam/db/SCHEMA.sql
cp /opt/phpipam/config.dist.php /opt/phpipam/config.php cp /opt/phpipam/config.dist.php /opt/phpipam/config.php
sed -i -e "s/\(\$disable_installer = \).*/\1true;/" \ sed -i -e "s/\(\$disable_installer = \).*/\1true;/" \

View File

@@ -108,7 +108,7 @@ else
AGENT_SERVICE="zabbix-agent" AGENT_SERVICE="zabbix-agent"
fi fi
systemctl restart zabbix-server systemctl restart zabbix-server apache2
systemctl enable -q --now zabbix-server $AGENT_SERVICE apache2 systemctl enable -q --now zabbix-server $AGENT_SERVICE apache2
msg_ok "Started Services" msg_ok "Started Services"

View File

@@ -3805,10 +3805,73 @@ function setup_postgresql() {
local SUITE local SUITE
case "$DISTRO_CODENAME" in case "$DISTRO_CODENAME" in
trixie | forky | sid) trixie | forky | sid)
# For Debian Testing/Unstable, try PostgreSQL repo first, fallback to native packages
if verify_repo_available "https://apt.postgresql.org/pub/repos/apt" "trixie-pgdg"; then if verify_repo_available "https://apt.postgresql.org/pub/repos/apt" "trixie-pgdg"; then
SUITE="trixie-pgdg" SUITE="trixie-pgdg"
setup_deb822_repo \
"pgdg" \
"https://www.postgresql.org/media/keys/ACCC4CF8.asc" \
"https://apt.postgresql.org/pub/repos/apt" \
"$SUITE" \
"main"
if ! $STD apt update; then
msg_warn "Failed to update PostgreSQL repository, falling back to native packages"
SUITE=""
fi
else else
SUITE="bookworm-pgdg" SUITE=""
fi
# If no repo or packages not installable, use native Debian packages
if [[ -z "$SUITE" ]] || ! apt-cache show "postgresql-${PG_VERSION}" 2>/dev/null | grep -q "Version:"; then
msg_info "Using native Debian packages for $DISTRO_CODENAME"
# Install ssl-cert dependency if available
if apt-cache search "^ssl-cert$" 2>/dev/null | grep -q .; then
$STD apt install -y ssl-cert 2>/dev/null || true
fi
if ! $STD apt install -y postgresql postgresql-client 2>/dev/null; then
msg_error "Failed to install native PostgreSQL packages"
return 1
fi
if ! command -v psql >/dev/null 2>&1; then
msg_error "PostgreSQL installed but psql command not found"
return 1
fi
# Restore database backup if we upgraded from previous version
if [[ -n "$CURRENT_PG_VERSION" ]]; then
msg_info "Restoring PostgreSQL databases from backup..."
$STD runuser -u postgres -- psql </var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql 2>/dev/null || {
msg_warn "Failed to restore database backup - this may be expected for major version upgrades"
}
fi
$STD systemctl enable --now postgresql 2>/dev/null || true
# Get actual installed version
INSTALLED_VERSION="$(psql -V 2>/dev/null | awk '{print $3}' | cut -d. -f1)"
# Add PostgreSQL binaries to PATH
if ! grep -q '/usr/lib/postgresql' /etc/environment 2>/dev/null; then
echo 'PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/'"${INSTALLED_VERSION}"'/bin"' >/etc/environment
fi
cache_installed_version "postgresql" "$INSTALLED_VERSION"
msg_ok "Setup PostgreSQL $INSTALLED_VERSION (native)"
# Install optional modules if specified
if [[ -n "$PG_MODULES" ]]; then
IFS=',' read -ra MODULES <<<"$PG_MODULES"
for module in "${MODULES[@]}"; do
$STD apt install -y "postgresql-${INSTALLED_VERSION}-${module}" 2>/dev/null || true
done
fi
return 0
fi fi
;; ;;
*) *)