mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-24 14:35:23 +00:00
Compare commits
10 Commits
2025-08-04
...
2025-08-05
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6fa371fffc | ||
|
|
e85263078e | ||
|
|
f9b0916885 | ||
|
|
964e29cd9e | ||
|
|
31932499a9 | ||
|
|
b155881de9 | ||
|
|
010435ecaf | ||
|
|
0863d080a4 | ||
|
|
99837db81a | ||
|
|
b4df862579 |
16
CHANGELOG.md
16
CHANGELOG.md
@@ -10,8 +10,24 @@
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
## 2025-08-06
|
||||
|
||||
## 2025-08-05
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- NIC offloading: e1000 support [@rcastley](https://github.com/rcastley) ([#6575](https://github.com/community-scripts/ProxmoxVE/pull/6575))
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- Temporary Remove: SearXNG [@MickLesk](https://github.com/MickLesk) ([#6578](https://github.com/community-scripts/ProxmoxVE/pull/6578))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: Prometheus Alertmanager [@tremor021](https://github.com/tremor021) ([#6577](https://github.com/community-scripts/ProxmoxVE/pull/6577))
|
||||
|
||||
## 2025-08-04
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
@@ -27,24 +27,19 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
if [[ ! -f ~/.alertmanager ]] || [[ "${RELEASE}" != "$(cat ~/.alertmanager)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop prometheus-alertmanager
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
cd /opt
|
||||
curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz")
|
||||
tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz
|
||||
cp -rf alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/
|
||||
rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
fetch_and_deploy_gh_release "alertmanager" "prometheus/alertmanager" "prebuild" "latest" "/usr/local/bin/" "alertmanager*linux-amd64.tar.gz"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start prometheus-alertmanager
|
||||
msg_ok "Started ${APP}"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||
|
||||
@@ -27,10 +27,11 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
sed -i 's/^\([[:space:]]*limiter:\)[[:space:]]*true/\1 false/' /etc/searxng/settings.yml
|
||||
if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then
|
||||
msg_ok "There is currently no update available."
|
||||
fi
|
||||
msg_ok "There is currently no update available."
|
||||
# sed -i 's/^\([[:space:]]*limiter:\)[[:space:]]*true/\1 false/' /etc/searxng/settings.yml
|
||||
# if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then
|
||||
# msg_ok "There is currently no update available."
|
||||
# fi
|
||||
exit
|
||||
}
|
||||
start
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
"name": "SearXNG",
|
||||
"slug": "searxng",
|
||||
"categories": [
|
||||
0
|
||||
],
|
||||
"date_created": "2025-02-07",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8888,
|
||||
"documentation": "https://docs.searxng.org/",
|
||||
"website": "https://github.com/searxng/searxng",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/searxng.webp",
|
||||
"config_path": "/etc/searxng/settings.yml",
|
||||
"description": "SearXNG is a free internet metasearch engine which aggregates results from up to 215 search services. Users are neither tracked nor profiled. Additionally, SearXNG can be used over Tor for online anonymity.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/searxng.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 7,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
||||
@@ -1,18 +1,88 @@
|
||||
[
|
||||
{
|
||||
"name": "rcourtman/Pulse",
|
||||
"version": "v4.0.0",
|
||||
"date": "2025-08-04T20:20:02Z"
|
||||
"version": "v4.0.3",
|
||||
"date": "2025-08-05T21:20:46Z"
|
||||
},
|
||||
{
|
||||
"name": "ollama/ollama",
|
||||
"version": "v0.11.2",
|
||||
"date": "2025-08-05T21:18:07Z"
|
||||
},
|
||||
{
|
||||
"name": "autobrr/autobrr",
|
||||
"version": "v1.65.0",
|
||||
"date": "2025-08-05T21:12:35Z"
|
||||
},
|
||||
{
|
||||
"name": "influxdata/influxdb",
|
||||
"version": "v1.12.2rc1",
|
||||
"date": "2025-08-05T20:22:13Z"
|
||||
},
|
||||
{
|
||||
"name": "HabitRPG/habitica",
|
||||
"version": "v5.38.1",
|
||||
"date": "2025-08-05T19:33:40Z"
|
||||
},
|
||||
{
|
||||
"name": "mongodb/mongo",
|
||||
"version": "r8.1.3-rc0",
|
||||
"date": "2025-08-04T19:23:12Z"
|
||||
"version": "r8.0.13-rc1",
|
||||
"date": "2025-08-05T18:57:03Z"
|
||||
},
|
||||
{
|
||||
"name": "go-gitea/gitea",
|
||||
"version": "v1.24.4",
|
||||
"date": "2025-08-04T18:58:27Z"
|
||||
"name": "YunoHost/yunohost",
|
||||
"version": "debian/12.1.7.1",
|
||||
"date": "2025-08-05T17:30:05Z"
|
||||
},
|
||||
{
|
||||
"name": "WordPress/WordPress",
|
||||
"version": "4.7.30",
|
||||
"date": "2025-08-05T17:23:06Z"
|
||||
},
|
||||
{
|
||||
"name": "ErsatzTV/ErsatzTV",
|
||||
"version": "v25.4.0",
|
||||
"date": "2025-08-05T17:10:01Z"
|
||||
},
|
||||
{
|
||||
"name": "msgbyte/tianji",
|
||||
"version": "v1.24.10",
|
||||
"date": "2025-08-05T16:56:01Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "prototype-webhooks-0",
|
||||
"date": "2025-08-05T16:55:32Z"
|
||||
},
|
||||
{
|
||||
"name": "fallenbagel/jellyseerr",
|
||||
"version": "preview-fix-user-save",
|
||||
"date": "2025-08-05T16:37:50Z"
|
||||
},
|
||||
{
|
||||
"name": "jenkinsci/jenkins",
|
||||
"version": "jenkins-2.522",
|
||||
"date": "2025-08-05T15:33:22Z"
|
||||
},
|
||||
{
|
||||
"name": "n8n-io/n8n",
|
||||
"version": "n8n@1.105.3",
|
||||
"date": "2025-08-05T13:06:29Z"
|
||||
},
|
||||
{
|
||||
"name": "Checkmk/checkmk",
|
||||
"version": "v2.4.0p9-rc2",
|
||||
"date": "2025-08-05T13:03:51Z"
|
||||
},
|
||||
{
|
||||
"name": "apache/cassandra",
|
||||
"version": "cassandra-5.0.5",
|
||||
"date": "2025-08-05T12:08:49Z"
|
||||
},
|
||||
{
|
||||
"name": "home-assistant/core",
|
||||
"version": "2025.7.4",
|
||||
"date": "2025-07-28T08:15:50Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
@@ -20,19 +90,84 @@
|
||||
"date": "2025-07-17T04:46:25Z"
|
||||
},
|
||||
{
|
||||
"name": "Dolibarr/dolibarr",
|
||||
"version": "22.0.0",
|
||||
"date": "2025-08-04T16:23:05Z"
|
||||
"name": "cloudreve/cloudreve",
|
||||
"version": "4.4.0",
|
||||
"date": "2025-08-05T11:51:08Z"
|
||||
},
|
||||
{
|
||||
"name": "semaphoreui/semaphore",
|
||||
"version": "v2.15.5",
|
||||
"date": "2025-08-05T11:49:45Z"
|
||||
},
|
||||
{
|
||||
"name": "sabnzbd/sabnzbd",
|
||||
"version": "4.5.2",
|
||||
"date": "2025-07-09T19:08:28Z"
|
||||
},
|
||||
{
|
||||
"name": "zitadel/zitadel",
|
||||
"version": "v2.71.14",
|
||||
"date": "2025-08-05T09:48:52Z"
|
||||
},
|
||||
{
|
||||
"name": "binwiederhier/ntfy",
|
||||
"version": "v2.14.0",
|
||||
"date": "2025-08-05T08:31:35Z"
|
||||
},
|
||||
{
|
||||
"name": "bunkerity/bunkerweb",
|
||||
"version": "v1.6.2",
|
||||
"date": "2025-07-08T13:52:33Z"
|
||||
"version": "v1.6.3",
|
||||
"date": "2025-08-05T07:46:45Z"
|
||||
},
|
||||
{
|
||||
"name": "YunoHost/yunohost",
|
||||
"version": "debian/12.1.7",
|
||||
"date": "2025-08-04T15:33:31Z"
|
||||
"name": "jupyter/notebook",
|
||||
"version": "v7.4.5",
|
||||
"date": "2025-08-05T07:41:04Z"
|
||||
},
|
||||
{
|
||||
"name": "mattermost/mattermost",
|
||||
"version": "server/public/v0.1.16",
|
||||
"date": "2025-07-28T22:46:46Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.22.2231",
|
||||
"date": "2025-08-05T05:55:13Z"
|
||||
},
|
||||
{
|
||||
"name": "rogerfar/rdt-client",
|
||||
"version": "v2.0.116",
|
||||
"date": "2025-08-05T04:45:21Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.7.5",
|
||||
"date": "2025-08-05T03:37:52Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v3.6.2",
|
||||
"date": "2025-07-17T12:08:03Z"
|
||||
},
|
||||
{
|
||||
"name": "go-gitea/gitea",
|
||||
"version": "v1.24.4",
|
||||
"date": "2025-08-04T18:58:27Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.0.14",
|
||||
"date": "2025-08-01T11:29:12Z"
|
||||
},
|
||||
{
|
||||
"name": "runtipi/runtipi",
|
||||
"version": "v4.3.0",
|
||||
"date": "2025-07-05T12:14:52Z"
|
||||
},
|
||||
{
|
||||
"name": "Dolibarr/dolibarr",
|
||||
"version": "22.0.0",
|
||||
"date": "2025-08-04T16:23:05Z"
|
||||
},
|
||||
{
|
||||
"name": "wizarrrr/wizarr",
|
||||
@@ -64,21 +199,6 @@
|
||||
"version": "10.1.44",
|
||||
"date": "2025-08-04T13:17:59Z"
|
||||
},
|
||||
{
|
||||
"name": "n8n-io/n8n",
|
||||
"version": "n8n@1.104.2",
|
||||
"date": "2025-07-31T13:14:26Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "latest",
|
||||
"date": "2025-08-04T12:41:18Z"
|
||||
},
|
||||
{
|
||||
"name": "Checkmk/checkmk",
|
||||
"version": "v2.4.0p9-rc1",
|
||||
"date": "2025-08-04T12:19:49Z"
|
||||
},
|
||||
{
|
||||
"name": "rabbitmq/rabbitmq-server",
|
||||
"version": "v4.1.3",
|
||||
@@ -94,31 +214,16 @@
|
||||
"version": "v1.14.0",
|
||||
"date": "2025-08-04T10:55:20Z"
|
||||
},
|
||||
{
|
||||
"name": "home-assistant/core",
|
||||
"version": "2025.7.4",
|
||||
"date": "2025-07-28T08:15:50Z"
|
||||
},
|
||||
{
|
||||
"name": "evcc-io/evcc",
|
||||
"version": "0.207.1",
|
||||
"date": "2025-08-04T06:56:14Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.22.2225",
|
||||
"date": "2025-08-04T06:35:27Z"
|
||||
},
|
||||
{
|
||||
"name": "henrygd/beszel",
|
||||
"version": "v0.12.3",
|
||||
"date": "2025-08-04T02:21:16Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v3.6.2",
|
||||
"date": "2025-07-17T12:08:03Z"
|
||||
},
|
||||
{
|
||||
"name": "garethgeorge/backrest",
|
||||
"version": "v1.9.0",
|
||||
@@ -189,11 +294,6 @@
|
||||
"version": "v2.7.4",
|
||||
"date": "2025-08-02T16:51:19Z"
|
||||
},
|
||||
{
|
||||
"name": "msgbyte/tianji",
|
||||
"version": "v1.24.9",
|
||||
"date": "2025-08-02T16:46:17Z"
|
||||
},
|
||||
{
|
||||
"name": "actualbudget/actual",
|
||||
"version": "v25.8.0",
|
||||
@@ -224,11 +324,6 @@
|
||||
"version": "v0.22.2",
|
||||
"date": "2025-08-01T23:27:06Z"
|
||||
},
|
||||
{
|
||||
"name": "influxdata/influxdb",
|
||||
"version": "v1.12.2rc0",
|
||||
"date": "2025-08-01T21:48:30Z"
|
||||
},
|
||||
{
|
||||
"name": "homarr-labs/homarr",
|
||||
"version": "v1.31.0",
|
||||
@@ -249,11 +344,6 @@
|
||||
"version": "3.2.0",
|
||||
"date": "2025-08-01T14:49:29Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.0.14",
|
||||
"date": "2025-08-01T11:29:12Z"
|
||||
},
|
||||
{
|
||||
"name": "documenso/documenso",
|
||||
"version": "v1.12.2-rc.3",
|
||||
@@ -264,16 +354,16 @@
|
||||
"version": "2025.07.31",
|
||||
"date": "2025-08-01T14:44:48Z"
|
||||
},
|
||||
{
|
||||
"name": "neo4j/neo4j",
|
||||
"version": "2025.07.1",
|
||||
"date": "2025-08-01T14:40:28Z"
|
||||
},
|
||||
{
|
||||
"name": "element-hq/synapse",
|
||||
"version": "v1.135.0",
|
||||
"date": "2025-08-01T12:43:17Z"
|
||||
},
|
||||
{
|
||||
"name": "neo4j/neo4j",
|
||||
"version": "5.26.10",
|
||||
"date": "2025-08-01T09:43:18Z"
|
||||
},
|
||||
{
|
||||
"name": "crowdsecurity/crowdsec",
|
||||
"version": "v1.6.11",
|
||||
@@ -284,11 +374,6 @@
|
||||
"version": "v11.0.1",
|
||||
"date": "2025-08-01T07:43:59Z"
|
||||
},
|
||||
{
|
||||
"name": "mattermost/mattermost",
|
||||
"version": "server/public/v0.1.16",
|
||||
"date": "2025-07-28T22:46:46Z"
|
||||
},
|
||||
{
|
||||
"name": "gotson/komga",
|
||||
"version": "1.23.1",
|
||||
@@ -299,11 +384,6 @@
|
||||
"version": "v1.7.1",
|
||||
"date": "2025-07-31T22:26:54Z"
|
||||
},
|
||||
{
|
||||
"name": "zitadel/zitadel",
|
||||
"version": "v4.0.0",
|
||||
"date": "2025-07-31T20:05:45Z"
|
||||
},
|
||||
{
|
||||
"name": "lazy-media/Reactive-Resume",
|
||||
"version": "v1.2.3",
|
||||
@@ -334,16 +414,6 @@
|
||||
"version": "v1.1.1",
|
||||
"date": "2025-07-31T12:16:54Z"
|
||||
},
|
||||
{
|
||||
"name": "apache/cassandra",
|
||||
"version": "5.0.5-tentative",
|
||||
"date": "2025-07-31T09:40:54Z"
|
||||
},
|
||||
{
|
||||
"name": "ollama/ollama",
|
||||
"version": "v0.10.1",
|
||||
"date": "2025-07-31T04:39:49Z"
|
||||
},
|
||||
{
|
||||
"name": "coder/code-server",
|
||||
"version": "v4.102.3",
|
||||
@@ -359,16 +429,6 @@
|
||||
"version": "v0.7.18-beta",
|
||||
"date": "2025-07-30T21:26:00Z"
|
||||
},
|
||||
{
|
||||
"name": "fallenbagel/jellyseerr",
|
||||
"version": "preview-fix-invalid-blacklisttag",
|
||||
"date": "2025-07-30T20:30:29Z"
|
||||
},
|
||||
{
|
||||
"name": "semaphoreui/semaphore",
|
||||
"version": "v2.16.0-beta6",
|
||||
"date": "2025-07-23T19:18:14Z"
|
||||
},
|
||||
{
|
||||
"name": "oauth2-proxy/oauth2-proxy",
|
||||
"version": "v7.11.0",
|
||||
@@ -409,11 +469,6 @@
|
||||
"version": "v1.5.3-beta.10",
|
||||
"date": "2025-07-15T06:07:03Z"
|
||||
},
|
||||
{
|
||||
"name": "jenkinsci/jenkins",
|
||||
"version": "jenkins-2.521",
|
||||
"date": "2025-07-30T03:38:59Z"
|
||||
},
|
||||
{
|
||||
"name": "OliveTin/OliveTin",
|
||||
"version": "2025.7.29",
|
||||
@@ -439,21 +494,11 @@
|
||||
"version": "4.1.0",
|
||||
"date": "2025-07-29T15:15:26Z"
|
||||
},
|
||||
{
|
||||
"name": "rogerfar/rdt-client",
|
||||
"version": "v2.0.115",
|
||||
"date": "2025-07-29T04:38:35Z"
|
||||
},
|
||||
{
|
||||
"name": "diced/zipline",
|
||||
"version": "v4.2.1",
|
||||
"date": "2025-07-28T19:25:48Z"
|
||||
},
|
||||
{
|
||||
"name": "HabitRPG/habitica",
|
||||
"version": "v5.38.0",
|
||||
"date": "2025-07-28T19:17:42Z"
|
||||
},
|
||||
{
|
||||
"name": "navidrome/navidrome",
|
||||
"version": "v0.58.0",
|
||||
@@ -465,7 +510,7 @@
|
||||
"date": "2025-07-28T14:24:56Z"
|
||||
},
|
||||
{
|
||||
"name": "booklore-app/BookLore",
|
||||
"name": "booklore-app/booklore",
|
||||
"version": "v0.35.0",
|
||||
"date": "2025-07-28T14:20:30Z"
|
||||
},
|
||||
@@ -479,11 +524,6 @@
|
||||
"version": "2.0.0",
|
||||
"date": "2025-07-28T07:48:40Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.7.4",
|
||||
"date": "2025-07-28T07:33:36Z"
|
||||
},
|
||||
{
|
||||
"name": "umami-software/umami",
|
||||
"version": "v2.19.0",
|
||||
@@ -519,11 +559,6 @@
|
||||
"version": "v12.0.1",
|
||||
"date": "2025-07-25T11:54:30Z"
|
||||
},
|
||||
{
|
||||
"name": "ErsatzTV/ErsatzTV",
|
||||
"version": "v25.3.1",
|
||||
"date": "2025-07-25T03:39:31Z"
|
||||
},
|
||||
{
|
||||
"name": "Brandawg93/PeaNUT",
|
||||
"version": "v5.10.0",
|
||||
@@ -594,11 +629,6 @@
|
||||
"version": "v4.0.0",
|
||||
"date": "2025-07-21T21:05:02Z"
|
||||
},
|
||||
{
|
||||
"name": "autobrr/autobrr",
|
||||
"version": "v1.64.0",
|
||||
"date": "2025-07-21T20:56:33Z"
|
||||
},
|
||||
{
|
||||
"name": "tobychui/zoraxy",
|
||||
"version": "v3.2.5r2",
|
||||
@@ -694,16 +724,6 @@
|
||||
"version": "v2.1.1",
|
||||
"date": "2025-07-15T22:38:01Z"
|
||||
},
|
||||
{
|
||||
"name": "WordPress/WordPress",
|
||||
"version": "6.8.2",
|
||||
"date": "2025-07-15T15:14:16Z"
|
||||
},
|
||||
{
|
||||
"name": "cloudreve/cloudreve",
|
||||
"version": "4.3.0",
|
||||
"date": "2025-07-15T09:54:38Z"
|
||||
},
|
||||
{
|
||||
"name": "pi-hole/pi-hole",
|
||||
"version": "v6.1.4",
|
||||
@@ -764,11 +784,6 @@
|
||||
"version": "v1.7.2",
|
||||
"date": "2025-07-10T19:29:26Z"
|
||||
},
|
||||
{
|
||||
"name": "binwiederhier/ntfy",
|
||||
"version": "v2.13.0",
|
||||
"date": "2025-07-10T19:27:54Z"
|
||||
},
|
||||
{
|
||||
"name": "NginxProxyManager/nginx-proxy-manager",
|
||||
"version": "v2.12.6",
|
||||
@@ -779,11 +794,6 @@
|
||||
"version": "3.2.1",
|
||||
"date": "2025-07-09T20:47:29Z"
|
||||
},
|
||||
{
|
||||
"name": "sabnzbd/sabnzbd",
|
||||
"version": "4.5.2",
|
||||
"date": "2025-07-09T19:08:28Z"
|
||||
},
|
||||
{
|
||||
"name": "hargata/lubelog",
|
||||
"version": "v1.4.9",
|
||||
@@ -834,11 +844,6 @@
|
||||
"version": "v0.8.7",
|
||||
"date": "2025-07-05T20:08:58Z"
|
||||
},
|
||||
{
|
||||
"name": "runtipi/runtipi",
|
||||
"version": "v4.3.0",
|
||||
"date": "2025-07-05T12:14:52Z"
|
||||
},
|
||||
{
|
||||
"name": "kimai/kimai",
|
||||
"version": "2.37.0",
|
||||
@@ -874,11 +879,6 @@
|
||||
"version": "v2.32.0",
|
||||
"date": "2025-06-30T22:12:48Z"
|
||||
},
|
||||
{
|
||||
"name": "jupyter/notebook",
|
||||
"version": "v7.4.4",
|
||||
"date": "2025-06-30T13:04:22Z"
|
||||
},
|
||||
{
|
||||
"name": "typesense/typesense",
|
||||
"version": "v29.0",
|
||||
|
||||
@@ -32,7 +32,7 @@ msg_ok "Certificate Generated"
|
||||
|
||||
msg_info "Configuring Environment"
|
||||
mkdir -p /opt/privatebin/data
|
||||
cp cfg/conf.sample.php /opt/privatebin/cfg/conf.php
|
||||
cp /opt/privatebin/cfg/conf.sample.php /opt/privatebin/cfg/conf.php
|
||||
sed -i "s|// 'traffic'|'traffic'|g" /opt/privatebin/cfg/conf.php
|
||||
chown -R www-data:www-data /opt/privatebin
|
||||
chmod -R 0755 /opt/privatebin/data
|
||||
|
||||
@@ -13,16 +13,12 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Prometheus Alertmanager"
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
mkdir -p /etc/alertmanager
|
||||
mkdir -p /var/lib/alertmanager
|
||||
curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o "alertmanager-${RELEASE}.linux-amd64.tar.gz"
|
||||
tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz
|
||||
mv alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/
|
||||
mv alertmanager-${RELEASE}.linux-amd64/alertmanager.yml /etc/alertmanager/alertmanager.yml
|
||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||
msg_ok "Installed Prometheus Alertmanager"
|
||||
fetch_and_deploy_gh_release "alertmanager" "prometheus/alertmanager" "prebuild" "latest" "/usr/local/bin/" "alertmanager*linux-amd64.tar.gz"
|
||||
|
||||
msg_info "Configuring Prometheus Alertmanager"
|
||||
mkdir -p /etc/alertmanager /var/lib/alertmanager
|
||||
mv /usr/local/bin/alertmanager.yml /etc/alertmanager/alertmanager.yml
|
||||
msg_ok "Configured Prometheus Alertmanager"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/prometheus-alertmanager.service
|
||||
@@ -53,5 +49,4 @@ customize
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Creates a systemd service to disable NIC offloading features for Intel e1000e interfaces
|
||||
# Creates a systemd service to disable NIC offloading features for Intel e1000e and e1000 interfaces
|
||||
# Author: rcastley
|
||||
# License: MIT
|
||||
|
||||
@@ -19,8 +19,8 @@ INFO="${TAB}ℹ️${TAB}${CL}"
|
||||
WARN="${TAB}⚠️${TAB}${CL}"
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
clear
|
||||
cat <<"EOF"
|
||||
|
||||
_ ____________ ____ __________ ___ ____ _ __ __
|
||||
/ | / / _/ ____/ / __ \/ __/ __/ /___ ____ _____/ (_)___ ____ _ / __ \(_)________ _/ /_ / /__ _____
|
||||
@@ -28,6 +28,7 @@ function header_info {
|
||||
/ /| // // /___ / /_/ / __/ __/ / /_/ / /_/ / /_/ / / / / / /_/ / / /_/ / (__ ) /_/ / /_/ / / __/ /
|
||||
/_/ |_/___/\____/ \____/_/ /_/ /_/\____/\__,_/\__,_/_/_/ /_/\__, / /_____/_/____/\__,_/_.___/_/\___/_/
|
||||
/____/
|
||||
Enhanced version supporting both e1000e and e1000 drivers
|
||||
|
||||
EOF
|
||||
}
|
||||
@@ -52,36 +53,36 @@ if ! command -v ethtool >/dev/null 2>&1; then
|
||||
msg_ok "ethtool installed successfully"
|
||||
fi
|
||||
|
||||
# Get list of network interfaces using Intel e1000e driver
|
||||
# Get list of network interfaces using Intel e1000e or e1000 drivers
|
||||
INTERFACES=()
|
||||
COUNT=0
|
||||
|
||||
msg_info "Searching for Intel e1000e interfaces"
|
||||
msg_info "Searching for Intel e1000e and e1000 interfaces"
|
||||
|
||||
for device in /sys/class/net/*; do
|
||||
interface="$(basename "$device")" # or adjust the rest of the usages below, as mostly you'll use the path anyway
|
||||
# Skip loopback interface and virtual interfaces
|
||||
if [[ "$interface" != "lo" ]] && [[ ! "$interface" =~ ^(tap|fwbr|veth|vmbr|bonding_masters) ]]; then
|
||||
# Check if the interface uses the e1000e driver
|
||||
# Check if the interface uses the e1000e or e1000 driver
|
||||
driver=$(basename $(readlink -f /sys/class/net/$interface/device/driver 2>/dev/null) 2>/dev/null)
|
||||
|
||||
if [[ "$driver" == "e1000e" ]]; then
|
||||
if [[ "$driver" == "e1000e" ]] || [[ "$driver" == "e1000" ]]; then
|
||||
# Get MAC address for additional identification
|
||||
mac=$(cat /sys/class/net/$interface/address 2>/dev/null)
|
||||
INTERFACES+=("$interface" "Intel e1000e NIC ($mac)")
|
||||
INTERFACES+=("$interface" "Intel $driver NIC ($mac)")
|
||||
((COUNT++))
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Check if any Intel e1000e interfaces were found
|
||||
# Check if any Intel e1000e/e1000 interfaces were found
|
||||
if [ ${#INTERFACES[@]} -eq 0 ]; then
|
||||
whiptail --title "Error" --msgbox "No Intel e1000e network interfaces found!" 10 60
|
||||
msg_error "No Intel e1000e network interfaces found! Exiting."
|
||||
whiptail --title "Error" --msgbox "No Intel e1000e or e1000 network interfaces found!" 10 60
|
||||
msg_error "No Intel e1000e or e1000 network interfaces found! Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
msg_ok "Found ${BL}$COUNT${GN} Intel e1000e interfaces"
|
||||
msg_ok "Found ${BL}$COUNT${GN} Intel e1000e/e1000 interfaces"
|
||||
|
||||
# Create a checklist for interface selection with all interfaces initially checked
|
||||
INTERFACES_CHECKLIST=()
|
||||
@@ -90,9 +91,9 @@ for ((i=0; i<${#INTERFACES[@]}; i+=2)); do
|
||||
done
|
||||
|
||||
# Show interface selection checklist
|
||||
SELECTED_INTERFACES=$(whiptail --backtitle "Intel e1000e NIC Offloading Disabler" --title "Network Interfaces" \
|
||||
--separate-output --checklist "Select Intel e1000e network interfaces\n(Space to toggle, Enter to confirm):" 15 80 6 \
|
||||
"${INTERFACES_CHECKLIST[@]}" 3>&1 1>&2 2>&3)
|
||||
SELECTED_INTERFACES=$(whiptail --backtitle "Intel e1000e/e1000 NIC Offloading Disabler" --title "Network Interfaces" \
|
||||
--separate-output --checklist "Select Intel e1000e/e1000 network interfaces\n(Space to toggle, Enter to confirm):" 15 80 6 \
|
||||
"${INTERFACES_CHECKLIST[@]}" 3>&1 1>&2 2>&3)
|
||||
|
||||
exitstatus=$?
|
||||
if [ $exitstatus != 0 ]; then
|
||||
@@ -112,21 +113,23 @@ readarray -t INTERFACE_ARRAY <<< "$SELECTED_INTERFACES"
|
||||
# Show the number of selected interfaces
|
||||
INTERFACE_COUNT=${#INTERFACE_ARRAY[@]}
|
||||
|
||||
# Print selected interfaces
|
||||
# Print selected interfaces with their driver types
|
||||
for iface in "${INTERFACE_ARRAY[@]}"; do
|
||||
msg_ok "Selected interface: ${BL}$iface${CL}"
|
||||
driver=$(basename $(readlink -f /sys/class/net/$iface/device/driver 2>/dev/null) 2>/dev/null)
|
||||
msg_ok "Selected interface: ${BL}$iface${GN} (${BL}$driver${GN})"
|
||||
done
|
||||
|
||||
# Ask for confirmation with the list of selected interfaces
|
||||
CONFIRMATION_MSG="You have selected the following interface(s):\n\n"
|
||||
for iface in "${INTERFACE_ARRAY[@]}"; do
|
||||
SPEED=$(cat /sys/class/net/$iface/speed 2>/dev/null)
|
||||
SPEED=$(cat /sys/class/net/$iface/speed 2>/dev/null || echo "Unknown")
|
||||
MAC=$(cat /sys/class/net/$iface/address 2>/dev/null)
|
||||
CONFIRMATION_MSG+="- $iface (MAC: $MAC, Speed: ${SPEED}Mbps)\n"
|
||||
DRIVER=$(basename $(readlink -f /sys/class/net/$iface/device/driver 2>/dev/null) 2>/dev/null)
|
||||
CONFIRMATION_MSG+="- $iface (Driver: $DRIVER, MAC: $MAC, Speed: ${SPEED}Mbps)\n"
|
||||
done
|
||||
CONFIRMATION_MSG+="\nThis will create systemd service(s) to disable offloading features.\n\nProceed?"
|
||||
|
||||
if ! whiptail --backtitle "Intel e1000e NIC Offloading Disabler" --title "Confirmation" \
|
||||
if ! whiptail --backtitle "Intel e1000e/e1000 NIC Offloading Disabler" --title "Confirmation" \
|
||||
--yesno "$CONFIRMATION_MSG" 20 80; then
|
||||
msg_info "User canceled. Exiting."
|
||||
exit 0
|
||||
@@ -134,22 +137,25 @@ fi
|
||||
|
||||
# Loop through all selected interfaces and create services for each
|
||||
for SELECTED_INTERFACE in "${INTERFACE_ARRAY[@]}"; do
|
||||
# Get the driver type for this specific interface
|
||||
DRIVER=$(basename $(readlink -f /sys/class/net/$SELECTED_INTERFACE/device/driver 2>/dev/null) 2>/dev/null)
|
||||
|
||||
# Create service name for this interface
|
||||
SERVICE_NAME="disable-nic-offload-$SELECTED_INTERFACE.service"
|
||||
SERVICE_PATH="/etc/systemd/system/$SERVICE_NAME"
|
||||
|
||||
# Create the service file with e1000e specific optimizations
|
||||
msg_info "Creating systemd service for interface: ${BL}$SELECTED_INTERFACE${YW}"
|
||||
# Create the service file with driver-specific optimizations
|
||||
msg_info "Creating systemd service for interface: ${BL}$SELECTED_INTERFACE${YW} (${BL}$DRIVER${YW})"
|
||||
|
||||
# Start with the common part of the service file
|
||||
cat > "$SERVICE_PATH" << EOF
|
||||
[Unit]
|
||||
Description=Disable NIC offloading for Intel e1000e interface $SELECTED_INTERFACE
|
||||
Description=Disable NIC offloading for Intel $DRIVER interface $SELECTED_INTERFACE
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
# Disable all offloading features for Intel e1000e
|
||||
# Disable all offloading features for Intel $DRIVER
|
||||
ExecStart=/sbin/ethtool -K $SELECTED_INTERFACE gso off gro off tso off tx off rx off rxvlan off txvlan off sg off
|
||||
RemainAfterExit=true
|
||||
|
||||
@@ -176,7 +182,7 @@ EOF
|
||||
# Enable the service to start on boot
|
||||
systemctl enable "$SERVICE_NAME"
|
||||
echo "100"; sleep 0.2
|
||||
} | whiptail --backtitle "Intel e1000e NIC Offloading Disabler" --gauge "Configuring service for $SELECTED_INTERFACE..." 10 80 0
|
||||
} | whiptail --backtitle "Intel e1000e/e1000 NIC Offloading Disabler" --gauge "Configuring service for $SELECTED_INTERFACE..." 10 80 0
|
||||
|
||||
# Individual service status
|
||||
if systemctl is-active --quiet "$SERVICE_NAME"; then
|
||||
@@ -192,7 +198,7 @@ EOF
|
||||
fi
|
||||
|
||||
# Show individual service results
|
||||
msg_ok "Service for ${BL}$SELECTED_INTERFACE${GN} created and enabled!"
|
||||
msg_ok "Service for ${BL}$SELECTED_INTERFACE${GN} (${BL}$DRIVER${GN}) created and enabled!"
|
||||
msg_info "${TAB}Service: ${BL}$SERVICE_NAME${YW}"
|
||||
msg_info "${TAB}Status: ${BL}$SERVICE_STATUS${YW}"
|
||||
msg_info "${TAB}Start on boot: ${BL}$BOOT_STATUS${YW}"
|
||||
@@ -204,6 +210,8 @@ SUMMARY_MSG+="Configured Interfaces:\n"
|
||||
|
||||
for iface in "${INTERFACE_ARRAY[@]}"; do
|
||||
SERVICE_NAME="disable-nic-offload-$iface.service"
|
||||
DRIVER=$(basename $(readlink -f /sys/class/net/$iface/device/driver 2>/dev/null) 2>/dev/null)
|
||||
|
||||
if systemctl is-active --quiet "$SERVICE_NAME"; then
|
||||
SVC_STATUS="Active"
|
||||
else
|
||||
@@ -216,12 +224,20 @@ for iface in "${INTERFACE_ARRAY[@]}"; do
|
||||
BOOT_SVC_STATUS="Disabled"
|
||||
fi
|
||||
|
||||
SUMMARY_MSG+="- $iface: $SVC_STATUS, Boot: $BOOT_SVC_STATUS\n"
|
||||
SUMMARY_MSG+="- $iface ($DRIVER): $SVC_STATUS, Boot: $BOOT_SVC_STATUS\n"
|
||||
done
|
||||
|
||||
# Show summary results
|
||||
whiptail --backtitle "Intel e1000e NIC Offloading Disabler" --title "Success" --msgbox "$SUMMARY_MSG" 20 80
|
||||
whiptail --backtitle "Intel e1000e/e1000 NIC Offloading Disabler" --title "Success" --msgbox "$SUMMARY_MSG" 22 80
|
||||
|
||||
msg_ok "Intel e1000e optimization complete for ${#INTERFACE_ARRAY[@]} interface(s)!"
|
||||
msg_ok "Intel e1000e/e1000 optimization complete for ${#INTERFACE_ARRAY[@]} interface(s)!"
|
||||
|
||||
# Show verification commands
|
||||
echo ""
|
||||
msg_info "Verification commands:"
|
||||
for iface in "${INTERFACE_ARRAY[@]}"; do
|
||||
echo -e "${TAB}${BL}ethtool -k $iface${CL} ${YW}# Check offloading status${CL}"
|
||||
echo -e "${TAB}${BL}systemctl status disable-nic-offload-$iface.service${CL} ${YW}# Check service status${CL}"
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user