Compare commits

..

3 Commits

Author SHA1 Message Date
2a0b061c34 Merge branch 'refactor-cosmos-debian13' of https://github.com/community-scripts/ProxmoxVE into refactor-cosmos-debian13 2025-12-19 13:45:40 +01:00
908daaefee [Refactor] Cosmos: Upgrade to Debian 13 and modernize with tools.func
Major refactoring to fix mergerfs dependency issues and modernize the installation:

Changes in ct/cosmos.sh:
- Updated from Debian 12 to Debian 13 (Trixie)
- Fixed APP name capitalization: cosmos  Cosmos
- Improved tags formatting: os,docker  cloud;docker

Changes in install/cosmos-install.sh:
- Install mergerfs via apt (available in Debian 13 repos)
  * Automatically handles fuse dependencies
  * Removes need for manual .deb installation
  * No more hardcoded Bullseye package
- Added ca-certificates and openssl (per official Dockerfile)
- Replaced manual Docker installation with setup_docker helper
- Replaced manual GitHub release download with fetch_and_deploy_gh_release
  * Uses prebuild mode with cosmos-cloud-*-amd64.zip pattern
  * Automatic version detection and extraction
  * Proper error handling and retry logic
- Standardized apt-get  apt usage
- Added unzip to dependencies (required by fetch_and_deploy_gh_release)

Benefits:
- Fixes mergerfs dependency errors (issue #TMD44)
- More maintainable (uses helper functions instead of manual curl/unzip)
- Better error handling and version tracking
- Automatic architecture detection via apt
- Matches official Cosmos Dockerfile dependency list
- Future-proof for Debian version changes

Fixes dependency issues where mergerfs failed to install due to missing fuse
package. In Debian 13, mergerfs is available via apt and properly declares its
dependencies, so apt handles everything automatically.
2025-12-19 13:45:26 +01:00
38a2fec5d3 [Refactor] Cosmos: Upgrade to Debian 13 and modernize with tools.func
Major refactoring to fix mergerfs dependency issues and modernize the installation:

Changes in ct/cosmos.sh:
- Updated from Debian 12 to Debian 13 (Trixie)
- Fixed APP name capitalization: cosmos  Cosmos
- Improved tags formatting: os,docker  cloud;docker

Changes in install/cosmos-install.sh:
- Install mergerfs via apt (available in Debian 13 repos)
  * Automatically handles fuse dependencies
  * Removes need for manual .deb installation
  * No more hardcoded Bullseye package
- Added ca-certificates and openssl (per official Dockerfile)
- Replaced manual Docker installation with setup_docker helper
- Replaced manual GitHub release download with fetch_and_deploy_gh_release
  * Uses prebuild mode with cosmos-cloud-*-amd64.zip pattern
  * Automatic version detection and extraction
  * Proper error handling and retry logic
- Standardized apt-get  apt usage
- Added unzip to dependencies (required by fetch_and_deploy_gh_release)

Benefits:
- Fixes mergerfs dependency errors (issue #TMD44)
- More maintainable (uses helper functions instead of manual curl/unzip)
- Better error handling and version tracking
- Automatic architecture detection via apt
- Matches official Cosmos Dockerfile dependency list
- Future-proof for Debian version changes

Fixes dependency issues where mergerfs failed to install due to missing fuse
package. In Debian 13, mergerfs is available via apt and properly declares its
dependencies, so apt handles everything automatically.
2025-12-19 13:43:16 +01:00
15 changed files with 182 additions and 208 deletions

View File

@ -14,34 +14,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
### 🚀 Updated Scripts ### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Update Reitti to Java 25 for 3.0.0 compatibility [@Copilot](https://github.com/Copilot) ([#10164](https://github.com/community-scripts/ProxmoxVE/pull/10164))
- Bump Bar-Assistant to php 8.4 [@MickLesk](https://github.com/MickLesk) ([#10138](https://github.com/community-scripts/ProxmoxVE/pull/10138))
- Zabbix: Add version-specific SQL script path for 7.0 LTS [@MickLesk](https://github.com/MickLesk) ([#10142](https://github.com/community-scripts/ProxmoxVE/pull/10142))
- InfluxDB: Fix update function [@Liganic](https://github.com/Liganic) ([#10151](https://github.com/community-scripts/ProxmoxVE/pull/10151))
- #### ✨ New Features
- Bump Immich to v2.4.1 [@vhsdream](https://github.com/vhsdream) ([#10154](https://github.com/community-scripts/ProxmoxVE/pull/10154))
- #### 🔧 Refactor - #### 🔧 Refactor
- Refactor: Cosmos: + Upgrade to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#10147](https://github.com/community-scripts/ProxmoxVE/pull/10147))
- Refactor: Proxmox-Mail-Gateway [@tremor021](https://github.com/tremor021) ([#10070](https://github.com/community-scripts/ProxmoxVE/pull/10070)) - Refactor: Proxmox-Mail-Gateway [@tremor021](https://github.com/tremor021) ([#10070](https://github.com/community-scripts/ProxmoxVE/pull/10070))
### 💾 Core
- #### ✨ New Features
- core: Auto-cleanup after all update_script executions [@MickLesk](https://github.com/MickLesk) ([#10141](https://github.com/community-scripts/ProxmoxVE/pull/10141))
### 🧰 Tools
- #### 🔧 Refactor
- fix: removed verbose option to avoid unnecessary output [@wolle604](https://github.com/wolle604) ([#10144](https://github.com/community-scripts/ProxmoxVE/pull/10144))
### ❔ Uncategorized ### ❔ Uncategorized
- Update paymenter.json(#10133) [@DragoQC](https://github.com/DragoQC) ([#10134](https://github.com/community-scripts/ProxmoxVE/pull/10134)) - Update paymenter.json(#10133) [@DragoQC](https://github.com/DragoQC) ([#10134](https://github.com/community-scripts/ProxmoxVE/pull/10134))

View File

@ -34,8 +34,6 @@ function update_script() {
systemctl stop nginx systemctl stop nginx
msg_ok "Stopped nginx" msg_ok "Stopped nginx"
PHP_VERSION="8.4" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php
msg_info "Backing up Bar Assistant" msg_info "Backing up Bar Assistant"
mv /opt/bar-assistant /opt/bar-assistant-backup mv /opt/bar-assistant /opt/bar-assistant-backup
msg_ok "Backed up Bar Assistant" msg_ok "Backed up Bar Assistant"

View File

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

View File

@ -35,11 +35,22 @@ function update_script() {
msg_ok "Services Stopped" msg_ok "Services Stopped"
if ! { grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr/.env 2>/dev/null || grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr.env 2>/dev/null; }; then if ! { grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr/.env 2>/dev/null || grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr.env 2>/dev/null; }; then
DEBIAN_VERSION=$(cat /etc/debian_version 2>/dev/null | cut -d'.' -f1)
if [[ -n "$DEBIAN_VERSION" ]] && [[ "$DEBIAN_VERSION" -lt 13 ]]; then
msg_warn "⚠️ COMPATIBILITY WARNING ⚠️"
msg_warn "You are running Debian ${DEBIAN_VERSION}. Homarr's requires Debian 13"
msg_warn ""
msg_warn "Please Upgrade to Debian 13:"
msg_warn "See: https://github.com/community-scripts/ProxmoxVE/discussions/7489"
msg_warn ""
exit
fi
msg_info "Fixing old structure" msg_info "Fixing old structure"
systemctl disable -q --now nginx # fix musl issues because homarr compiles on alpine not debian soure: https://github.com/alexander-akhmetov/python-telegram/issues/3
$STD apt install -y musl-dev
ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
cp /opt/homarr/.env /opt/homarr.env cp /opt/homarr/.env /opt/homarr.env
echo "REDIS_IS_EXTERNAL='true'" >> /opt/homarr.env echo "REDIS_IS_EXTERNAL='true'" >> /opt/homarr.env
sed -i '/^\[Unit\]/a Requires=redis-server.service\nAfter=redis-server.service' /etc/systemd/system/homarr.service
sed -i 's|^ExecStart=.*|ExecStart=/opt/homarr/run.sh|' /etc/systemd/system/homarr.service sed -i 's|^ExecStart=.*|ExecStart=/opt/homarr/run.sh|' /etc/systemd/system/homarr.service
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=-/opt/homarr.env|' /etc/systemd/system/homarr.service sed -i 's|^EnvironmentFile=.*|EnvironmentFile=-/opt/homarr.env|' /etc/systemd/system/homarr.service
chown -R redis:redis /appdata/redis chown -R redis:redis /appdata/redis
@ -61,7 +72,7 @@ EOF
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
setup_nodejs setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-debian-amd64.tar.gz" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-amd64.tar.gz"
msg_info "Updating Homarr" msg_info "Updating Homarr"
cp /opt/homarr/redis.conf /etc/redis/redis.conf cp /opt/homarr/redis.conf /etc/redis/redis.conf

View File

@ -108,7 +108,7 @@ EOF
msg_ok "Image-processing libraries up to date" msg_ok "Image-processing libraries up to date"
fi fi
RELEASE="2.4.1" RELEASE="2.4.0"
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop immich-web systemctl stop immich-web

View File

@ -23,7 +23,7 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /usr/bin/influxd ]]; then if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi

View File

@ -32,8 +32,6 @@ function update_script() {
systemctl stop reitti systemctl stop reitti
msg_ok "Stopped Service" msg_ok "Stopped Service"
JAVA_VERSION="25" setup_java
rm -f /opt/reitti/reitti.jar rm -f /opt/reitti/reitti.jar
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "reitti" "dedicatedcode/reitti" "singlefile" "latest" "/opt/reitti" "reitti-app.jar" USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "reitti" "dedicatedcode/reitti" "singlefile" "latest" "/opt/reitti" "reitti-app.jar"
mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar
@ -67,4 +65,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@ -1,139 +1,29 @@
[ [
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta30",
"date": "2025-12-19T23:37:07Z"
},
{
"name": "pelican-dev/wings",
"version": "v1.0.0-beta21",
"date": "2025-12-19T23:04:27Z"
},
{
"name": "laurent22/joplin",
"version": "server-v3.5.2",
"date": "2025-12-19T21:28:55Z"
},
{
"name": "emqx/emqx",
"version": "e5.10.3-alpha.1",
"date": "2025-12-19T21:08:48Z"
},
{
"name": "openhab/openhab-core",
"version": "5.1.0.RC1",
"date": "2025-12-19T20:37:27Z"
},
{
"name": "metabase/metabase",
"version": "v0.58.x",
"date": "2025-12-19T20:05:58Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.47.0",
"date": "2025-12-19T19:42:50Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.80.10.dev.1",
"date": "2025-12-19T19:16:21Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.15.0",
"date": "2025-12-19T18:57:42Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.37",
"date": "2025-12-18T16:43:23Z"
},
{
"name": "home-assistant/core",
"version": "2025.12.4",
"date": "2025-12-19T17:55:13Z"
},
{
"name": "qdrant/qdrant",
"version": "v1.16.3",
"date": "2025-12-19T17:45:42Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.14",
"date": "2025-12-16T05:42:34Z"
},
{
"name": "esphome/esphome",
"version": "2025.12.1",
"date": "2025-12-19T15:53:08Z"
},
{
"name": "immich-app/immich",
"version": "v2.4.1",
"date": "2025-12-19T15:50:12Z"
},
{
"name": "itsmng/itsm-ng",
"version": "v1.6.11",
"date": "2025-12-19T15:28:57Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.30.2",
"date": "2025-12-19T15:18:53Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{
"name": "dedicatedcode/reitti",
"version": "v3.0.0",
"date": "2025-12-19T13:47:44Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.19.0",
"date": "2025-12-19T13:37:00Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w51-4.14.2",
"date": "2025-12-15T12:34:36Z"
},
{
"name": "fccview/jotty",
"version": "1.14.4",
"date": "2025-12-19T13:17:26Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "@fumadocs/ui@16.3.1",
"date": "2025-12-19T13:11:34Z"
},
{
"name": "readeck/readeck",
"version": "0.21.5",
"date": "2025-12-19T11:51:05Z"
},
{ {
"name": "forgejo/forgejo", "name": "forgejo/forgejo",
"version": "v15.0.0-dev", "version": "v15.0.0-dev",
"date": "2025-12-19T11:43:47Z" "date": "2025-12-19T11:43:47Z"
}, },
{ {
"name": "meilisearch/meilisearch", "name": "fccview/jotty",
"version": "prototype-v1.30.1-rebuild-hannoy-graph.1", "version": "1.14.2",
"date": "2025-12-19T11:14:05Z" "date": "2025-12-19T11:25:29Z"
},
{
"name": "readeck/readeck",
"version": "0.21.5",
"date": "2025-12-19T11:22:20Z"
}, },
{ {
"name": "release-argus/Argus", "name": "release-argus/Argus",
"version": "0.28.3", "version": "0.28.3",
"date": "2025-12-19T11:05:10Z" "date": "2025-12-19T11:05:10Z"
}, },
{
"name": "wazuh/wazuh",
"version": "coverity-w51-4.14.2",
"date": "2025-12-15T12:34:36Z"
},
{ {
"name": "TuroYT/snowshare", "name": "TuroYT/snowshare",
"version": "v1.2.5", "version": "v1.2.5",
@ -159,6 +49,11 @@
"version": "v0.9.102", "version": "v0.9.102",
"date": "2025-12-19T03:45:13Z" "date": "2025-12-19T03:45:13Z"
}, },
{
"name": "BerriAI/litellm",
"version": "v1.80.10.rc.5",
"date": "2025-12-19T03:38:23Z"
},
{ {
"name": "javedh-dev/tracktor", "name": "javedh-dev/tracktor",
"version": "1.0.1", "version": "1.0.1",
@ -167,7 +62,7 @@
{ {
"name": "mealie-recipes/mealie", "name": "mealie-recipes/mealie",
"version": "v3.8.0", "version": "v3.8.0",
"date": "2025-12-19T01:37:04Z" "date": "2025-12-19T01:37:16Z"
}, },
{ {
"name": "jeedom/core", "name": "jeedom/core",
@ -184,6 +79,11 @@
"version": "v1.19.5", "version": "v1.19.5",
"date": "2025-09-27T20:59:46Z" "date": "2025-09-27T20:59:46Z"
}, },
{
"name": "metabase/metabase",
"version": "v0.57.x",
"date": "2025-12-18T22:02:32Z"
},
{ {
"name": "chrisbenincasa/tunarr", "name": "chrisbenincasa/tunarr",
"version": "v1.0.7", "version": "v1.0.7",
@ -219,21 +119,26 @@
"version": "v5.11.0", "version": "v5.11.0",
"date": "2025-12-18T18:06:05Z" "date": "2025-12-18T18:06:05Z"
}, },
{
"name": "neo4j/neo4j",
"version": "2025.11.2",
"date": "2025-12-18T17:08:34Z"
},
{ {
"name": "msgbyte/tianji", "name": "msgbyte/tianji",
"version": "v1.30.23", "version": "v1.30.23",
"date": "2025-12-18T16:55:01Z" "date": "2025-12-18T16:55:01Z"
}, },
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.37",
"date": "2025-12-18T16:43:23Z"
},
{ {
"name": "ollama/ollama", "name": "ollama/ollama",
"version": "v0.13.5", "version": "v0.13.5",
"date": "2025-12-18T16:39:08Z" "date": "2025-12-18T16:39:08Z"
}, },
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-12-18T16:38:45Z"
},
{ {
"name": "keycloak/keycloak", "name": "keycloak/keycloak",
"version": "26.4.7", "version": "26.4.7",
@ -249,6 +154,11 @@
"version": "n8n@1.123.7", "version": "n8n@1.123.7",
"date": "2025-12-17T14:01:25Z" "date": "2025-12-17T14:01:25Z"
}, },
{
"name": "immich-app/immich",
"version": "v2.4.0",
"date": "2025-12-18T14:51:33Z"
},
{ {
"name": "docker/compose", "name": "docker/compose",
"version": "v5.0.1", "version": "v5.0.1",
@ -289,11 +199,21 @@
"version": "v0.5.1", "version": "v0.5.1",
"date": "2025-12-18T03:08:43Z" "date": "2025-12-18T03:08:43Z"
}, },
{
"name": "openobserve/openobserve",
"version": "v0.30.1",
"date": "2025-12-18T02:41:34Z"
},
{ {
"name": "goauthentik/authentik", "name": "goauthentik/authentik",
"version": "version/2025.10.3", "version": "version/2025.10.3",
"date": "2025-12-16T18:00:53Z" "date": "2025-12-16T18:00:53Z"
}, },
{
"name": "emqx/emqx",
"version": "6.1.0-alpha.2",
"date": "2025-12-17T20:15:23Z"
},
{ {
"name": "influxdata/influxdb", "name": "influxdata/influxdb",
"version": "v2.8.0", "version": "v2.8.0",
@ -309,6 +229,11 @@
"version": "v4.107.0", "version": "v4.107.0",
"date": "2025-12-17T18:59:21Z" "date": "2025-12-17T18:59:21Z"
}, },
{
"name": "neo4j/neo4j",
"version": "5.26.19",
"date": "2025-12-17T18:17:55Z"
},
{ {
"name": "semaphoreui/semaphore", "name": "semaphoreui/semaphore",
"version": "v2.16.47", "version": "v2.16.47",
@ -354,6 +279,16 @@
"version": "v11.9.0", "version": "v11.9.0",
"date": "2025-12-17T08:26:50Z" "date": "2025-12-17T08:26:50Z"
}, },
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.14",
"date": "2025-12-16T05:42:34Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{ {
"name": "nickheyer/discopanel", "name": "nickheyer/discopanel",
"version": "v1.0.16", "version": "v1.0.16",
@ -364,6 +299,11 @@
"version": "v1.19.23", "version": "v1.19.23",
"date": "2025-12-17T00:51:11Z" "date": "2025-12-17T00:51:11Z"
}, },
{
"name": "esphome/esphome",
"version": "2025.12.0",
"date": "2025-12-16T23:57:23Z"
},
{ {
"name": "grafana/grafana", "name": "grafana/grafana",
"version": "v12.3.1", "version": "v12.3.1",
@ -389,6 +329,11 @@
"version": "v4.6.2", "version": "v4.6.2",
"date": "2025-12-16T17:54:19Z" "date": "2025-12-16T17:54:19Z"
}, },
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-mdx@14.1.1",
"date": "2025-12-16T15:32:59Z"
},
{ {
"name": "jenkinsci/jenkins", "name": "jenkinsci/jenkins",
"version": "jenkins-2.542", "version": "jenkins-2.542",
@ -494,6 +439,11 @@
"version": "2025.12.14", "version": "2025.12.14",
"date": "2025-12-14T18:24:33Z" "date": "2025-12-14T18:24:33Z"
}, },
{
"name": "openhab/openhab-core",
"version": "5.1.0.M4",
"date": "2025-12-14T18:12:04Z"
},
{ {
"name": "blakeblackshear/frigate", "name": "blakeblackshear/frigate",
"version": "v0.14.1", "version": "v0.14.1",
@ -504,6 +454,11 @@
"version": "v0.24.1", "version": "v0.24.1",
"date": "2025-12-14T13:49:16Z" "date": "2025-12-14T13:49:16Z"
}, },
{
"name": "laurent22/joplin",
"version": "server-v3.5.1",
"date": "2025-12-03T11:56:50Z"
},
{ {
"name": "C4illin/ConvertX", "name": "C4illin/ConvertX",
"version": "v0.16.1", "version": "v0.16.1",
@ -579,6 +534,21 @@
"version": "r7.0.27", "version": "r7.0.27",
"date": "2025-12-12T20:54:32Z" "date": "2025-12-12T20:54:32Z"
}, },
{
"name": "homarr-labs/homarr",
"version": "v1.46.0",
"date": "2025-12-12T19:23:36Z"
},
{
"name": "home-assistant/core",
"version": "2025.12.3",
"date": "2025-12-12T18:12:39Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.14.1",
"date": "2025-12-12T17:37:58Z"
},
{ {
"name": "node-red/node-red", "name": "node-red/node-red",
"version": "4.1.2", "version": "4.1.2",
@ -659,6 +629,16 @@
"version": "2.2.15", "version": "2.2.15",
"date": "2025-12-10T01:52:14Z" "date": "2025-12-10T01:52:14Z"
}, },
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta29",
"date": "2025-12-09T23:07:15Z"
},
{
"name": "pelican-dev/wings",
"version": "v1.0.0-beta20",
"date": "2025-12-09T22:59:09Z"
},
{ {
"name": "BookStackApp/BookStack", "name": "BookStackApp/BookStack",
"version": "v25.11.6", "version": "v25.11.6",
@ -824,6 +804,11 @@
"version": "v0.34.2", "version": "v0.34.2",
"date": "2025-12-04T13:08:18Z" "date": "2025-12-04T13:08:18Z"
}, },
{
"name": "qdrant/qdrant",
"version": "v1.16.2",
"date": "2025-12-04T11:03:49Z"
},
{ {
"name": "glpi-project/glpi", "name": "glpi-project/glpi",
"version": "11.0.4", "version": "11.0.4",
@ -1009,6 +994,16 @@
"version": "2.610", "version": "2.610",
"date": "2025-11-24T04:28:30Z" "date": "2025-11-24T04:28:30Z"
}, },
{
"name": "raydak-labs/configarr",
"version": "v1.18.0",
"date": "2025-11-23T17:42:53Z"
},
{
"name": "dedicatedcode/reitti",
"version": "v2.5.0",
"date": "2025-11-23T12:49:50Z"
},
{ {
"name": "TechnitiumSoftware/DnsServer", "name": "TechnitiumSoftware/DnsServer",
"version": "v14.2.0", "version": "v14.2.0",
@ -1044,6 +1039,11 @@
"version": "2.44.0", "version": "2.44.0",
"date": "2025-11-20T11:01:01Z" "date": "2025-11-20T11:01:01Z"
}, },
{
"name": "itsmng/itsm-ng",
"version": "v2.1.1",
"date": "2025-11-20T10:54:07Z"
},
{ {
"name": "Athou/commafeed", "name": "Athou/commafeed",
"version": "5.12.0", "version": "5.12.0",

View File

@ -17,14 +17,14 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
redis-server \ redis-server \
nginx \ nginx \
lsb-release \ lsb-release \
libvips libvips
#php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm} #php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm}
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PHP_VERSION="8.4" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php PHP_VERSION="8.3" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php
setup_composer setup_composer
NODE_VERSION="22" setup_nodejs NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary"
@ -41,14 +41,14 @@ msg_info "Configure MeiliSearch"
curl -fsSL https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -o /etc/meilisearch.toml curl -fsSL https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -o /etc/meilisearch.toml
MASTER_KEY=$(openssl rand -base64 12) MASTER_KEY=$(openssl rand -base64 12)
sed -i \ sed -i \
-e 's|^env =.*|env = "production"|' \ -e 's|^env =.*|env = "production"|' \
-e "s|^# master_key =.*|master_key = \"$MASTER_KEY\"|" \ -e "s|^# master_key =.*|master_key = \"$MASTER_KEY\"|" \
-e 's|^db_path =.*|db_path = "/var/lib/meilisearch/data"|' \ -e 's|^db_path =.*|db_path = "/var/lib/meilisearch/data"|' \
-e 's|^dump_dir =.*|dump_dir = "/var/lib/meilisearch/dumps"|' \ -e 's|^dump_dir =.*|dump_dir = "/var/lib/meilisearch/dumps"|' \
-e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \ -e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \
-e 's|^# no_analytics = true|no_analytics = true|' \ -e 's|^# no_analytics = true|no_analytics = true|' \
-e 's|^http_addr =.*|http_addr = "127.0.0.1:7700"|' \ -e 's|^http_addr =.*|http_addr = "127.0.0.1:7700"|' \
/etc/meilisearch.toml /etc/meilisearch.toml
msg_ok "Configured MeiliSearch" msg_ok "Configured MeiliSearch"
msg_info "Creating MeiliSearch service" msg_info "Creating MeiliSearch service"
@ -77,11 +77,11 @@ MeiliSearch_API_KEY=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorizat
MeiliSearch_API_KEY_UID=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorization: Bearer $MASTER_KEY" | grep -o '"uid":"[^"]*"' | head -n 1 | sed 's/"uid":"//;s/"//') MeiliSearch_API_KEY_UID=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorization: Bearer $MASTER_KEY" | grep -o '"uid":"[^"]*"' | head -n 1 | sed 's/"uid":"//;s/"//')
LOCAL_IP=$(hostname -I | awk '{print $1}') LOCAL_IP=$(hostname -I | awk '{print $1}')
sed -i -e "s|^APP_URL=|APP_URL=http://${LOCAL_IP}/bar/|" \ sed -i -e "s|^APP_URL=|APP_URL=http://${LOCAL_IP}/bar/|" \
-e "s|^MEILISEARCH_HOST=|MEILISEARCH_HOST=http://127.0.0.1:7700|" \ -e "s|^MEILISEARCH_HOST=|MEILISEARCH_HOST=http://127.0.0.1:7700|" \
-e "s|^MEILISEARCH_KEY=|MEILISEARCH_KEY=${MASTER_KEY}|" \ -e "s|^MEILISEARCH_KEY=|MEILISEARCH_KEY=${MASTER_KEY}|" \
-e "s|^MEILISEARCH_API_KEY=|MEILISEARCH_API_KEY=${MeiliSearch_API_KEY}|" \ -e "s|^MEILISEARCH_API_KEY=|MEILISEARCH_API_KEY=${MeiliSearch_API_KEY}|" \
-e "s|^MEILISEARCH_API_KEY_UID=|MEILISEARCH_API_KEY_UID=${MeiliSearch_API_KEY_UID}|" \ -e "s|^MEILISEARCH_API_KEY_UID=|MEILISEARCH_API_KEY_UID=${MeiliSearch_API_KEY_UID}|" \
/opt/bar-assistant/.env /opt/bar-assistant/.env
$STD composer install --no-interaction $STD composer install --no-interaction
$STD php artisan key:generate $STD php artisan key:generate
touch storage/bar-assistant/database.ba3.sqlite touch storage/bar-assistant/database.ba3.sqlite

View File

@ -18,14 +18,17 @@ $STD apt install -y \
redis-server \ redis-server \
nginx \ nginx \
gettext \ gettext \
openssl openssl \
musl-dev
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
setup_nodejs setup_nodejs
fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-debian-amd64.tar.gz" fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr" "prebuild" "latest" "/opt/homarr" "build-amd64.tar.gz"
msg_info "Installing Homarr" msg_info "Installing Homarr"
# fix musl issues because homarr compiles on alpine not debian soure: https://github.com/alexander-akhmetov/python-telegram/issues/3
ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
mkdir -p /opt/homarr_db mkdir -p /opt/homarr_db
touch /opt/homarr_db/db.sqlite touch /opt/homarr_db/db.sqlite
SECRET_ENCRYPTION_KEY="$(openssl rand -hex 32)" SECRET_ENCRYPTION_KEY="$(openssl rand -hex 32)"
@ -62,8 +65,6 @@ ReadWritePaths=-/appdata/redis -/var/lib/redis -/var/log/redis -/var/run/redis -
EOF EOF
cat <<EOF >/etc/systemd/system/homarr.service cat <<EOF >/etc/systemd/system/homarr.service
[Unit] [Unit]
Requires=redis-server.service
After=redis-server.service
Description=Homarr Service Description=Homarr Service
After=network.target After=network.target
@ -78,9 +79,8 @@ WantedBy=multi-user.target
EOF EOF
chmod +x /opt/homarr/run.sh chmod +x /opt/homarr/run.sh
systemctl daemon-reload systemctl daemon-reload
systemctl enable -q --now redis-server systemctl enable -q --now redis-server && sleep 5
systemctl enable -q --now homarr systemctl enable -q --now homarr
systemctl disable -q --now nginx
msg_ok "Created Services" msg_ok "Created Services"
motd_ssh motd_ssh

View File

@ -296,7 +296,7 @@ GEO_DIR="${INSTALL_DIR}/geodata"
mkdir -p "$INSTALL_DIR" mkdir -p "$INSTALL_DIR"
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache} mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v2.4.1" "$SRC_DIR" fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v2.4.0" "$SRC_DIR"
msg_info "Installing ${APPLICATION} (patience)" msg_info "Installing ${APPLICATION} (patience)"

View File

@ -21,7 +21,7 @@ $STD apt install -y \
zstd zstd
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
JAVA_VERSION="25" setup_java JAVA_VERSION="24" setup_java
PG_VERSION="17" PG_MODULES="postgis" setup_postgresql PG_VERSION="17" PG_MODULES="postgis" setup_postgresql
PG_DB_NAME="reitti_db" PG_DB_USER="reitti" setup_postgresql_db PG_DB_NAME="reitti_db" PG_DB_USER="reitti" setup_postgresql_db

View File

@ -44,14 +44,7 @@ curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/"$ZABBIX_DEB_FILE"
$STD dpkg -i /tmp/"$ZABBIX_DEB_FILE" $STD dpkg -i /tmp/"$ZABBIX_DEB_FILE"
$STD apt update $STD apt update
$STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts $STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u "$PG_DB_USER" psql "$PG_DB_NAME" &>/dev/null
if [[ "$ZABBIX_VERSION" == "7.0" ]]; then
ZABBIX_SQL="/usr/share/zabbix-sql-scripts/postgresql/server.sql.gz"
else
ZABBIX_SQL="/usr/share/zabbix/sql-scripts/postgresql/server.sql.gz"
fi
zcat "$ZABBIX_SQL" | sudo -u "$PG_DB_USER" psql "$PG_DB_NAME" &>/dev/null
sed -i "s/^DBName=.*/DBName=$PG_DB_NAME/" /etc/zabbix/zabbix_server.conf sed -i "s/^DBName=.*/DBName=$PG_DB_NAME/" /etc/zabbix/zabbix_server.conf
sed -i "s/^DBUser=.*/DBUser=$PG_DB_USER/" /etc/zabbix/zabbix_server.conf sed -i "s/^DBUser=.*/DBUser=$PG_DB_USER/" /etc/zabbix/zabbix_server.conf
sed -i "s/^# DBPassword=.*/DBPassword=$PG_DB_PASS/" /etc/zabbix/zabbix_server.conf sed -i "s/^# DBPassword=.*/DBPassword=$PG_DB_PASS/" /etc/zabbix/zabbix_server.conf

View File

@ -2626,8 +2626,8 @@ configure_ssh_settings() {
# #
# - Entry point of script # - Entry point of script
# - On Proxmox host: calls install_script # - On Proxmox host: calls install_script
# - In silent mode: runs update_script with automatic cleanup # - In silent mode: runs update_script
# - Otherwise: shows update/setting menu and runs update_script with cleanup # - Otherwise: shows update/setting menu
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
start() { start() {
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func) source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func)
@ -2638,7 +2638,6 @@ start() {
VERBOSE="no" VERBOSE="no"
set_std_mode set_std_mode
update_script update_script
cleanup_lxc
else else
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "${APP} LXC Update/Setting" --menu \ CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "${APP} LXC Update/Setting" --menu \
"Support/Update functions for ${APP} LXC. Choose an option:" \ "Support/Update functions for ${APP} LXC. Choose an option:" \
@ -2663,7 +2662,6 @@ start() {
;; ;;
esac esac
update_script update_script
cleanup_lxc
fi fi
} }

View File

@ -50,7 +50,7 @@ function execute_in() {
container=$1 container=$1
name=$(pct exec "$container" hostname) name=$(pct exec "$container" hostname)
echo -e "${BL}[Info]${GN} Execute inside${BL} ${name}${GN} with output: ${CL}" echo -e "${BL}[Info]${GN} Execute inside${BL} ${name}${GN} with output: ${CL}"
if ! pct exec "$container" -- bash -c "command ${custom_command} >/dev/null 2>&1" if ! pct exec "$container" -- bash -c "command -v ${custom_command} >/dev/null 2>&1"
then then
echo -e "${BL}[Info]${GN} Skipping ${name} ${RD}$container has no command: ${custom_command}" echo -e "${BL}[Info]${GN} Skipping ${name} ${RD}$container has no command: ${custom_command}"
else else