From e2aa5fe6278342263089f6b96c33f720e7c6a92e Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Fri, 6 Dec 2024 21:10:40 +0100
Subject: [PATCH 001/286] Bookstack: Fix Update function composer (#700)
* Changed Update function to fix a fail
* Changed back
---
ct/bookstack.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/ct/bookstack.sh b/ct/bookstack.sh
index 0d52f3900d8..09e623a77e2 100644
--- a/ct/bookstack.sh
+++ b/ct/bookstack.sh
@@ -70,9 +70,10 @@ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_v
unzip -q v${RELEASE}.zip
mv BookStack-${RELEASE} /opt/bookstack
mv /opt/.env /opt/bookstack/.env
+ cd /opt/bookstack
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
- php artisan key:generate &>/dev/null
- php artisan migrate &>/dev/null
+ php artisan key:generate --force &>/dev/null
+ php artisan migrate --force &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
From c46f15cdc102de4cf06e35f3116b05fc2364a6a6 Mon Sep 17 00:00:00 2001
From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com>
Date: Fri, 6 Dec 2024 15:12:35 -0500
Subject: [PATCH 002/286] fix: note component in json-editor getting out of
focus when typing and revert theme switch animation (#706)
* fix: note component in json-editor getting out of focus when typing. fixes JSON-Generator Notes Field #687
* revert: theme transition
---
.../src/app/json-editor/_components/Note.tsx | 95 +++++++++++--------
frontend/src/styles/globals.css | 54 -----------
2 files changed, 54 insertions(+), 95 deletions(-)
diff --git a/frontend/src/app/json-editor/_components/Note.tsx b/frontend/src/app/json-editor/_components/Note.tsx
index 08d9b80bc85..3242b5141c5 100644
--- a/frontend/src/app/json-editor/_components/Note.tsx
+++ b/frontend/src/app/json-editor/_components/Note.tsx
@@ -12,7 +12,7 @@ import { cn } from "@/lib/utils";
import { PlusCircle, Trash2 } from "lucide-react";
import { z } from "zod";
import { ScriptSchema, type Script } from "../_schemas/schemas";
-import { memo, useCallback } from "react";
+import { memo, useCallback, useRef } from "react";
type NoteProps = {
script: Script;
@@ -27,6 +27,8 @@ function Note({
setIsValid,
setZodErrors,
}: NoteProps) {
+ const inputRefs = useRef<(HTMLInputElement | null)[]>([]);
+
const addNote = useCallback(() => {
setScript({
...script,
@@ -49,6 +51,12 @@ function Note({
setIsValid(result.success);
setZodErrors(result.success ? null : result.error);
setScript(updated);
+ // Restore focus after state update
+ if (key === "text") {
+ setTimeout(() => {
+ inputRefs.current[index]?.focus();
+ }, 0);
+ }
}, [script, setScript, setIsValid, setZodErrors]);
const removeNote = useCallback((index: number) => {
@@ -58,46 +66,51 @@ function Note({
});
}, [script, setScript]);
- const NoteItem = memo(({ note, index }: { note: Script["notes"][number], index: number }) => (
-
-
updateNote(index, "text", e.target.value)}
- />
-
-
-
- ));
+ const NoteItem = memo(
+ ({ note, index }: { note: Script["notes"][number]; index: number }) => (
+
+
updateNote(index, "text", e.target.value)}
+ ref={(el) => {
+ inputRefs.current[index] = el;
+ }}
+ />
+
+
+
+ ),
+ );
NoteItem.displayName = 'NoteItem';
diff --git a/frontend/src/styles/globals.css b/frontend/src/styles/globals.css
index cf20db2e585..d9b89193271 100644
--- a/frontend/src/styles/globals.css
+++ b/frontend/src/styles/globals.css
@@ -30,24 +30,6 @@
--chart-3: 197 37% 24%;
--chart-4: 43 74% 66%;
--chart-5: 27 87% 67%;
- --expo-out: linear(
- 0 0%,
- 0.1684 2.66%,
- 0.3165 5.49%,
- 0.446 8.52%,
- 0.5581 11.78%,
- 0.6535 15.29%,
- 0.7341 19.11%,
- 0.8011 23.3%,
- 0.8557 27.93%,
- 0.8962 32.68%,
- 0.9283 38.01%,
- 0.9529 44.08%,
- 0.9711 51.14%,
- 0.9833 59.06%,
- 0.9915 68.74%,
- 1 100%
- );
}
::selection {
@@ -81,42 +63,6 @@
--chart-4: 280 65% 60%;
--chart-5: 340 75% 55%;
}
-
- ::view-transition-group(root) {
- animation-duration: 0.7bun s;
- animation-timing-function: var(--expo-out);
- }
-
- ::view-transition-new(root) {
- animation-name: reveal-light;
- }
-
- ::view-transition-old(root),
- .dark::view-transition-old(root) {
- animation: none;
- z-index: -1;
- }
- .dark::view-transition-new(root) {
- animation-name: reveal-dark;
- }
-
- @keyframes reveal-dark {
- from {
- clip-path: polygon(50% -71%, -50% 71%, -50% 71%, 50% -71%);
- }
- to {
- clip-path: polygon(50% -71%, -50% 71%, 50% 171%, 171% 50%);
- }
- }
-
- @keyframes reveal-light {
- from {
- clip-path: polygon(171% 50%, 50% 171%, 50% 171%, 171% 50%);
- }
- to {
- clip-path: polygon(171% 50%, 50% 171%, -50% 71%, 50% -71%);
- }
- }
}
@layer base {
From 3d38ad0288c61a328bf4730706f2d3ea19ab2fb6 Mon Sep 17 00:00:00 2001
From: Dysfunctional Programming
<157329672+DysfunctionalProgramming@users.noreply.github.com>
Date: Fri, 6 Dec 2024 15:19:36 -0500
Subject: [PATCH 003/286] Fix bugs in Komga update (#717)
* Fix update script
* Update some bad update urls
---
ct/komga.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ct/komga.sh b/ct/komga.sh
index 225316ed37d..d47320a8bb2 100644
--- a/ct/komga.sh
+++ b/ct/komga.sh
@@ -56,7 +56,7 @@ function update_script() {
header_info
check_container_storage
check_container_resources
-if [[ ! -f /opt/komga/komga*.jar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+if [[ ! -f /opt/komga/komga.jar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_info "Updating ${APP}"
RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
@@ -65,8 +65,8 @@ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_v
msg_ok "Stopped ${APP}"
msg_info "Updating ${APP} to ${RELEASE}"
- rm -rf /opt/komga/komga*.jar
- wget -q "https://github.com/gotson/komga/releases/download/v${RELEASE}/komga-${RELEASE}.jar"
+ wget -q "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar"
+ rm -rf /opt/komga/komga.jar
mv -f komga-${RELEASE}.jar /opt/komga/komga.jar
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
From 944328625a3b5c00b6f97c0c19e56ed172bee8ef Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 6 Dec 2024 21:23:10 +0100
Subject: [PATCH 004/286] Update CHANGELOG.md (#718)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9621dc8fe01..107fdc36f6e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,19 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-06
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Fix bugs in Komga update [@DysfunctionalProgramming](https://github.com/DysfunctionalProgramming) ([#717](https://github.com/community-scripts/ProxmoxVE/pull/717))
+- Bookstack: Fix Update function composer [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#700](https://github.com/community-scripts/ProxmoxVE/pull/700))
+
+### 🌐 Website
+
+- fix: note component in json-editor getting out of focus when typing and revert theme switch animation [@BramSuurdje](https://github.com/BramSuurdje) ([#706](https://github.com/community-scripts/ProxmoxVE/pull/706))
+
## 2024-12-05
### Changed
From 259203ee51b33866d54ca823ba6faef4e87ea514 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Fri, 6 Dec 2024 23:05:19 +0100
Subject: [PATCH 005/286] Update frontend CI/CD workflow (#703)
---
.github/workflows/deploy-pages.yml | 79 -----------------------------
.github/workflows/frontend-cicd.yml | 78 ++++++++++++++++++++++++++++
json/onedev.json | 2 +-
3 files changed, 79 insertions(+), 80 deletions(-)
delete mode 100644 .github/workflows/deploy-pages.yml
create mode 100644 .github/workflows/frontend-cicd.yml
diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml
deleted file mode 100644
index 435c5c8016c..00000000000
--- a/.github/workflows/deploy-pages.yml
+++ /dev/null
@@ -1,79 +0,0 @@
-# Sample workflow for building and deploying a Next.js site to GitHub Pages
-#
-# To get started with Next.js see: https://nextjs.org/docs/getting-started
-#
-name: Deploy Next.js site to Pages
-
-on:
- push:
- branches: ["main"]
- paths:
- - frontend/**
- - json/**
-
- workflow_dispatch:
-
-permissions:
- contents: read
- pages: write
- id-token: write
-
-concurrency:
- group: "pages"
- cancel-in-progress: false
-
-jobs:
- build:
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: frontend # Set default working directory for all run steps
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Detect package manager
- id: detect-package-manager
- run: |
- if [ -f "${{ github.workspace }}/frontend/yarn.lock" ]; then
- echo "manager=yarn" >> $GITHUB_OUTPUT
- echo "command=install" >> $GITHUB_OUTPUT
- echo "runner=yarn" >> $GITHUB_OUTPUT
- exit 0
- elif [ -f "${{ github.workspace }}/frontend/package.json" ]; then
- echo "manager=npm" >> $GITHUB_OUTPUT
- echo "command=ci" >> $GITHUB_OUTPUT
- echo "runner=npx --no-install" >> $GITHUB_OUTPUT
- exit 0
- else
- echo "Unable to determine package manager"
- exit 1
- fi
- - name: Setup Node
- uses: actions/setup-node@v4
- with:
- node-version: "20"
- cache: ${{ steps.detect-package-manager.outputs.manager }}
- cache-dependency-path: frontend/package-lock.json # Specify the path to package-lock.json
- - name: Setup Pages
- uses: actions/configure-pages@v5
- with:
- static_site_generator: next
- - name: Install dependencies
- run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} --legacy-peer-deps
- - name: Build with Next.js
- run: ${{ steps.detect-package-manager.outputs.runner }} next build
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v3
- with:
- path: frontend/out
-
- deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
- needs: build
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
diff --git a/.github/workflows/frontend-cicd.yml b/.github/workflows/frontend-cicd.yml
new file mode 100644
index 00000000000..dd242f6efe7
--- /dev/null
+++ b/.github/workflows/frontend-cicd.yml
@@ -0,0 +1,78 @@
+# Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml
+
+name: Frontend CI/CD
+
+on:
+ push:
+ branches: ["main"]
+ paths:
+ - frontend/**
+ - json/**
+
+ pull_request:
+ branches: ["main"]
+ types: [opened, synchronize, reopened, edited]
+ paths:
+ - frontend/**
+ - json/**
+
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: pages-${{ github.ref }}
+ cancel-in-progress: false
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: frontend # Set default working directory for all run steps
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version: "20"
+ cache: npm
+ cache-dependency-path: frontend/package-lock.json
+
+ - name: Install dependencies
+ run: npm ci --prefer-offline --legacy-peer-deps
+
+ - name: Run tests
+ run: npm run test
+
+ - name: Configure Next.js for pages
+ uses: actions/configure-pages@v5
+ with:
+ static_site_generator: next
+
+ - name: Build with Next.js
+ run: npm run build
+
+ - name: Upload artifact
+ if: github.ref == 'refs/heads/main'
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: frontend/out
+
+ deploy:
+ runs-on: ubuntu-latest
+ needs: build
+ if: github.ref == 'refs/heads/main'
+ permissions:
+ pages: write
+ id-token: write
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/json/onedev.json b/json/onedev.json
index f122680b7b0..3fafa03c3e4 100644
--- a/json/onedev.json
+++ b/json/onedev.json
@@ -16,7 +16,7 @@
"install_methods": [
{
"type": "default",
- "script": "/ct/onedev.sh",
+ "script": "ct/onedev.sh",
"resources": {
"cpu": 2,
"ram": 2048,
From a4803d178d83f96566ae3e498ea031b49e7df4aa Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 6 Dec 2024 23:08:48 +0100
Subject: [PATCH 006/286] Update CHANGELOG.md (#720)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 107fdc36f6e..5be8d7c5ea5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🌐 Website
+- Update frontend CI/CD workflow [@havardthom](https://github.com/havardthom) ([#703](https://github.com/community-scripts/ProxmoxVE/pull/703))
- fix: note component in json-editor getting out of focus when typing and revert theme switch animation [@BramSuurdje](https://github.com/BramSuurdje) ([#706](https://github.com/community-scripts/ProxmoxVE/pull/706))
## 2024-12-05
From 59deaa0a194dae99b433bbdbdc21bbee6365c4d0 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 6 Dec 2024 23:11:53 +0100
Subject: [PATCH 007/286] Update CHANGELOG.md (#721)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5be8d7c5ea5..00764f603cf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,9 +27,12 @@ Do not break established syntax in this file, as it is automatically updated by
### 🌐 Website
-- Update frontend CI/CD workflow [@havardthom](https://github.com/havardthom) ([#703](https://github.com/community-scripts/ProxmoxVE/pull/703))
- fix: note component in json-editor getting out of focus when typing and revert theme switch animation [@BramSuurdje](https://github.com/BramSuurdje) ([#706](https://github.com/community-scripts/ProxmoxVE/pull/706))
+### 🧰 Maintenance
+
+- Update frontend CI/CD workflow [@havardthom](https://github.com/havardthom) ([#703](https://github.com/community-scripts/ProxmoxVE/pull/703))
+
## 2024-12-05
### Changed
From be4e6503d7758d518fb1f99f2cf0f72de6405d7e Mon Sep 17 00:00:00 2001
From: Chris <67816022+vhsdream@users.noreply.github.com>
Date: Sat, 7 Dec 2024 05:22:04 -0500
Subject: [PATCH 008/286] Fix Hoarder build failure by installing Chromium
stable (#723)
---
install/hoarder-install.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/install/hoarder-install.sh b/install/hoarder-install.sh
index 92eed2de695..0c37b69c2b6 100644
--- a/install/hoarder-install.sh
+++ b/install/hoarder-install.sh
@@ -22,7 +22,8 @@ $STD apt-get install -y \
sudo \
gnupg \
ca-certificates \
- chromium \
+ chromium/stable \
+ chromium-common/stable \
mc
msg_ok "Installed Dependencies"
From e45aba86bd0be6fa5963072aac083f54c2c4962c Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 7 Dec 2024 11:26:17 +0100
Subject: [PATCH 009/286] Update CHANGELOG.md (#726)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 00764f603cf..49b263bb909 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-07
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Fix Hoarder build failure by installing Chromium stable [@vhsdream](https://github.com/vhsdream) ([#723](https://github.com/community-scripts/ProxmoxVE/pull/723))
+
## 2024-12-06
### Changed
From 52898b4edf2bfbc91248884256d10a47de93c627 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Sat, 7 Dec 2024 14:17:58 +0100
Subject: [PATCH 010/286] Zigbee2MQTT: Remove dev branch choice until v2.0.0
release (#702)
---
install/zigbee2mqtt-install.sh | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh
index f6b8e97c553..54cf0d18c1f 100644
--- a/install/zigbee2mqtt-install.sh
+++ b/install/zigbee2mqtt-install.sh
@@ -40,20 +40,8 @@ msg_info "Setting up Zigbee2MQTT Repository"
$STD git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
msg_ok "Set up Zigbee2MQTT Repository"
-read -r -p "Switch to Edge/dev branch? (y/N) " prompt
-if [[ $prompt == "y" ]]; then
- DEV="y"
-else
- DEV="n"
-fi
-
msg_info "Installing Zigbee2MQTT"
cd /opt/zigbee2mqtt
-if [[ $DEV == "y" ]]; then
-$STD git fetch origin dev:dev
-$STD git checkout dev
-$STD git pull
-fi
$STD npm ci
msg_ok "Installed Zigbee2MQTT"
From 9eb5cc022a57d2b5ef8b6066977ba2ac1540024d Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 7 Dec 2024 14:19:57 +0100
Subject: [PATCH 011/286] Update CHANGELOG.md (#730)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 49b263bb909..67e68698a31 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Zigbee2MQTT: Remove dev branch choice until v2.0.0 release [@havardthom](https://github.com/havardthom) ([#702](https://github.com/community-scripts/ProxmoxVE/pull/702))
- Fix Hoarder build failure by installing Chromium stable [@vhsdream](https://github.com/vhsdream) ([#723](https://github.com/community-scripts/ProxmoxVE/pull/723))
## 2024-12-06
From cadae9796e1524e12152cd62f6417939af818817 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Sat, 7 Dec 2024 19:23:58 +0100
Subject: [PATCH 012/286] Bugfix: Include script name in website search (#731)
---
frontend/src/components/CommandMenu.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/src/components/CommandMenu.tsx b/frontend/src/components/CommandMenu.tsx
index b1c8e1267ee..31d9dc12a52 100644
--- a/frontend/src/components/CommandMenu.tsx
+++ b/frontend/src/components/CommandMenu.tsx
@@ -95,7 +95,7 @@ export default function CommandMenu() {
{category.scripts.map((script) => (
{
setOpen(false);
router.push(`/scripts?id=${script.slug}`);
From 5b2cbd3e993ab13e4121e866d833031f1c2649e7 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 7 Dec 2024 20:38:08 +0100
Subject: [PATCH 013/286] Update CHANGELOG.md (#734)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 67e68698a31..41f64b92c77 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Zigbee2MQTT: Remove dev branch choice until v2.0.0 release [@havardthom](https://github.com/havardthom) ([#702](https://github.com/community-scripts/ProxmoxVE/pull/702))
- Fix Hoarder build failure by installing Chromium stable [@vhsdream](https://github.com/vhsdream) ([#723](https://github.com/community-scripts/ProxmoxVE/pull/723))
+### 🌐 Website
+
+- Bugfix: Include script name in website search [@havardthom](https://github.com/havardthom) ([#731](https://github.com/community-scripts/ProxmoxVE/pull/731))
+
## 2024-12-06
### Changed
From c056dd97eaa24601201915dd9188436042d64e20 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Sat, 7 Dec 2024 22:08:56 +0100
Subject: [PATCH 014/286] Fix RAM Check for other languages
---
misc/build.func | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index aee3366a8b8..3bd4aa02d78 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -504,7 +504,7 @@ install_script() {
check_container_resources() {
# Check actual RAM & Cores
- current_ram=$(free -m | awk '/^Mem:/{print $2}')
+ current_ram=$free -m | awk 'NR==2{print $2}')
current_cpu=$(nproc)
# Check whether the current RAM is less than the required RAM or the CPU cores are less than required
From ae120c1e233093739eeef6952178e786211c1c76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Sat, 7 Dec 2024 22:42:40 +0100
Subject: [PATCH 015/286] Fix broken build.func (#736)
---
misc/build.func | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index 3bd4aa02d78..17a87765e24 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -504,7 +504,7 @@ install_script() {
check_container_resources() {
# Check actual RAM & Cores
- current_ram=$free -m | awk 'NR==2{print $2}')
+ current_ram=$(free -m | awk 'NR==2{print $2}')
current_cpu=$(nproc)
# Check whether the current RAM is less than the required RAM or the CPU cores are less than required
From 102669cd11fee9d5563bcc476cc6bc6a23c2625f Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 7 Dec 2024 23:12:37 +0100
Subject: [PATCH 016/286] Update CHANGELOG.md (#737)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41f64b92c77..e7df713364a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -29,6 +29,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Bugfix: Include script name in website search [@havardthom](https://github.com/havardthom) ([#731](https://github.com/community-scripts/ProxmoxVE/pull/731))
+### ❔ Unlabelled
+
+- Fix broken build.func [@havardthom](https://github.com/havardthom) ([#736](https://github.com/community-scripts/ProxmoxVE/pull/736))
+
## 2024-12-06
### Changed
From 82ee63a6db291017f13ac3c291a9a7a52966bba1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Sun, 8 Dec 2024 03:50:24 +0100
Subject: [PATCH 017/286] Use MongoDB 4.4 in Unifi for non-AVX users (#691)
---
install/unifi-install.sh | 9 ++++-----
json/unifi.json | 2 +-
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/install/unifi-install.sh b/install/unifi-install.sh
index 5bf36a760ca..d1d2e872b52 100644
--- a/install/unifi-install.sh
+++ b/install/unifi-install.sh
@@ -30,16 +30,15 @@ msg_ok "Installed Eclipse Temurin JRE"
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
msg_ok "No AVX Support Detected"
- msg_info "Installing MongoDB 4.2"
+ msg_info "Installing MongoDB 4.4"
if ! dpkg -l | grep -q "libssl1.1"; then
wget -q http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb
$STD dpkg -i libssl1.1_1.1.1n-0+deb10u6_amd64.deb
- $STD apt-get install -f -y # Fix any broken dependencies
fi
- wget -qO- https://www.mongodb.org/static/pgp/server-4.2.asc | gpg --dearmor > /usr/share/keyrings/mongodb-server-4.2.gpg
- echo "deb [signed-by=/usr/share/keyrings/mongodb-server-4.2.gpg] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" >/etc/apt/sources.list.d/mongodb-org-4.2.list
+ wget -qO- https://www.mongodb.org/static/pgp/server-4.4.asc | gpg --dearmor > /usr/share/keyrings/mongodb-server-4.4.gpg
+ echo "deb [signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" >/etc/apt/sources.list.d/mongodb-org-4.4.list
$STD apt-get update
- $STD apt-get install -y mongodb-org=4.2.17
+ $STD apt-get install -y mongodb-org
else
msg_info "Installing MongoDB 7.0"
wget -qO- https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-7.0.gpg
diff --git a/json/unifi.json b/json/unifi.json
index 080312cbb51..0cc45088126 100644
--- a/json/unifi.json
+++ b/json/unifi.json
@@ -32,7 +32,7 @@
},
"notes": [
{
- "text": "For non-AVX CPUs, MongoDB 4.2 is installed. Please note this is a legacy solution that may present security risks and could become unsupported in future updates.",
+ "text": "For non-AVX CPUs, MongoDB 4.4 is installed. Please note this is a legacy solution that may present security risks and could become unsupported in future updates.",
"type": "warning"
}
]
From 96d691c862278eb9f4531f817eb71a94148981b6 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sun, 8 Dec 2024 09:48:28 +0100
Subject: [PATCH 018/286] Update CHANGELOG.md (#738)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7df713364a..c3ce79ed737 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-08
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Use MongoDB 4.4 in Unifi for non-AVX users [@havardthom](https://github.com/havardthom) ([#691](https://github.com/community-scripts/ProxmoxVE/pull/691))
+
## 2024-12-07
### Changed
From 8a6ea7cbacdc006f402a64740257f83d6268472d Mon Sep 17 00:00:00 2001
From: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
Date: Sun, 8 Dec 2024 15:19:07 +0100
Subject: [PATCH 019/286] Update homarr.json (#740)
---
json/homarr.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/json/homarr.json b/json/homarr.json
index fc4e35874b1..ed15e88f82b 100644
--- a/json/homarr.json
+++ b/json/homarr.json
@@ -2,7 +2,7 @@
"name": "Homarr",
"slug": "homarr",
"categories": [
- 18
+ 15
],
"date_created": "2024-05-02",
"type": "ct",
From e4354c1d53ca37eab38d898a33644241d072d8a8 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sun, 8 Dec 2024 15:19:52 +0100
Subject: [PATCH 020/286] Update CHANGELOG.md (#742)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c3ce79ed737..eca9d980868 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Use MongoDB 4.4 in Unifi for non-AVX users [@havardthom](https://github.com/havardthom) ([#691](https://github.com/community-scripts/ProxmoxVE/pull/691))
+### 🌐 Website
+
+- Move homarr to Dashboards section [@CrazyWolf13](https://github.com/CrazyWolf13) ([#740](https://github.com/community-scripts/ProxmoxVE/pull/740))
+
## 2024-12-07
### Changed
From 4f66476de580f5747393c3068e7a3aa30042a68a Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Mon, 9 Dec 2024 21:22:37 +0100
Subject: [PATCH 021/286] Update Password Creation to only create Chars (#750)
---
install/umami-install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/umami-install.sh b/install/umami-install.sh
index f913128fb79..28dc0687f92 100644
--- a/install/umami-install.sh
+++ b/install/umami-install.sh
@@ -37,7 +37,7 @@ msg_ok "Installed Node.js"
msg_info "Setting up postgresql"
DB_NAME=umamidb
DB_USER=umami
-DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
+DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
From d6ead654adfbd0f1abbf1ba3a39faf726505fddc Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 9 Dec 2024 21:33:02 +0100
Subject: [PATCH 022/286] Update CHANGELOG.md (#758)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eca9d980868..48335dd5c4f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-09
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Fix PostgreSQL password bug in Umami install [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#750](https://github.com/community-scripts/ProxmoxVE/pull/750))
+
## 2024-12-08
### Changed
From ec27945abd569c260c439c8f22b7be976d7c5987 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Thu, 12 Dec 2024 10:10:55 +0100
Subject: [PATCH 023/286] Add post-install note to mqtt.json (#783)
---
json/mqtt.json | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/json/mqtt.json b/json/mqtt.json
index b3168c48b7a..6337e168ac6 100644
--- a/json/mqtt.json
+++ b/json/mqtt.json
@@ -30,5 +30,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "You can find post-install info here: `https://github.com/community-scripts/ProxmoxVE/discussions/782`",
+ "type": "info"
+ }
+ ]
}
\ No newline at end of file
From 4a60a29f1dabd6e58ee2023c4305d6bcbbc90564 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Thu, 12 Dec 2024 10:11:26 +0100
Subject: [PATCH 024/286] Fix Z-Wave JS UI Breaking Change in CHANGELOG.md
(#781)
---
CHANGELOG.md | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 48335dd5c4f..03cca27b110 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -158,13 +158,17 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### 💥 Breaking Changes
+
+- Fix Z-Wave JS UI script [@MickLesk](https://github.com/MickLesk) ([#546](https://github.com/community-scripts/ProxmoxVE/pull/546))
+ - [Migration guide](https://github.com/community-scripts/ProxmoxVE/discussions/635)
+
### 🚀 Updated Scripts
- Add vitest, add json validation tests, fix broken json files [@havardthom](https://github.com/havardthom) ([#566](https://github.com/community-scripts/ProxmoxVE/pull/566))
- Add update script to Pocketbase [@dsiebel](https://github.com/dsiebel) ([#535](https://github.com/community-scripts/ProxmoxVE/pull/535))
- Fix MongoDB install in Unifi script [@havardthom](https://github.com/havardthom) ([#564](https://github.com/community-scripts/ProxmoxVE/pull/564))
- Remove changing DISK_REF for zfspool mikrotik-routeros.sh [@tjcomserv](https://github.com/tjcomserv) ([#529](https://github.com/community-scripts/ProxmoxVE/pull/529))
-- Fix Z-Wave JS UI script [@MickLesk](https://github.com/MickLesk) ([#546](https://github.com/community-scripts/ProxmoxVE/pull/546))
### 🌐 Website
From cfb755a8627a7cd693d0220626ca9e6201877f2d Mon Sep 17 00:00:00 2001
From: Emik
Date: Thu, 12 Dec 2024 17:18:11 +0800
Subject: [PATCH 025/286] Fix port and website in nextcloudpi.json (#790)
---
json/nextcloudpi.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/json/nextcloudpi.json b/json/nextcloudpi.json
index bd0098e76b7..ab6d3f8c83e 100644
--- a/json/nextcloudpi.json
+++ b/json/nextcloudpi.json
@@ -8,9 +8,9 @@
"type": "ct",
"updateable": false,
"privileged": false,
- "interface_port": 433,
+ "interface_port": 4443,
"documentation": null,
- "website": "https://www.turnkeylinux.org/nextcloud",
+ "website": "https://github.com/nextcloud/nextcloudpi",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/nextcloud.svg",
"description": "NextCloudPi is a popular self-hosted solution for file collaboration and data storage. It is built on the NextCloud software, which is an open-source platform for data management.",
"install_methods": [
@@ -42,4 +42,4 @@
"password": null
},
"notes": []
-}
\ No newline at end of file
+}
From 0d63e66379576810187a56c31cc129438999abbf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Thu, 12 Dec 2024 16:19:35 +0100
Subject: [PATCH 026/286] Filter pull requests on main branch in
changelog-pr.yml (#793)
---
.github/workflows/changelog-pr.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/changelog-pr.yml b/.github/workflows/changelog-pr.yml
index efb09a0c295..78d74f85614 100644
--- a/.github/workflows/changelog-pr.yml
+++ b/.github/workflows/changelog-pr.yml
@@ -63,6 +63,7 @@ jobs:
const { data: pulls } = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
+ base: "main",
state: "closed",
sort: "updated",
direction: "desc",
From 6fb6c58454e148e87e651289f7eaa4ddd778bacd Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 12 Dec 2024 16:25:49 +0100
Subject: [PATCH 027/286] Update CHANGELOG.md (#791)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 03cca27b110..1ea17d1fbe2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,20 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-12
+
+### Changed
+
+### 🌐 Website
+
+- Fix port and website in nextcloudpi.json [@PhoenixEmik](https://github.com/PhoenixEmik) ([#790](https://github.com/community-scripts/ProxmoxVE/pull/790))
+- Add post-install note to mqtt.json [@havardthom](https://github.com/havardthom) ([#783](https://github.com/community-scripts/ProxmoxVE/pull/783))
+
+### 🧰 Maintenance
+
+- Filter pull requests on main branch in changelog-pr.yml [@havardthom](https://github.com/havardthom) ([#793](https://github.com/community-scripts/ProxmoxVE/pull/793))
+- Fix Z-Wave JS UI Breaking Change in CHANGELOG.md [@havardthom](https://github.com/havardthom) ([#781](https://github.com/community-scripts/ProxmoxVE/pull/781))
+
## 2024-12-09
### Changed
From e7ac005592d89f80d38432517bd5a9a949a3b0ce Mon Sep 17 00:00:00 2001
From: Adam Marciniak
Date: Thu, 12 Dec 2024 22:59:16 +0100
Subject: [PATCH 028/286] Update jellyfin.sh / Fix infinite loop (#792)
Running the script created an infinite loop waiting for user input to confirm the installation of new packages. The -y option fixes this and allows the script to run without interaction and therefore as expected.
---
ct/jellyfin.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/jellyfin.sh b/ct/jellyfin.sh
index e15623523cf..813200d3af4 100644
--- a/ct/jellyfin.sh
+++ b/ct/jellyfin.sh
@@ -61,7 +61,7 @@ if [[ ! -d /usr/lib/jellyfin ]]; then msg_error "No ${APP} Installation Found!";
msg_info "Updating ${APP} LXC"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
-apt-get --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
+apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
msg_ok "Updated ${APP} LXC"
exit
}
From aab63c8db2227402195ff9e5f94d3d96c794710f Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 12 Dec 2024 23:01:41 +0100
Subject: [PATCH 029/286] Update CHANGELOG.md (#797)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1ea17d1fbe2..2bd6a541efa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,10 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### 🚀 Updated Scripts
+
+- Update jellyfin.sh / Fix infinite loop [@gerpo](https://github.com/gerpo) ([#792](https://github.com/community-scripts/ProxmoxVE/pull/792))
+
### 🌐 Website
- Fix port and website in nextcloudpi.json [@PhoenixEmik](https://github.com/PhoenixEmik) ([#790](https://github.com/community-scripts/ProxmoxVE/pull/790))
From ae0684b6968b4b61919f797a3c690e95bf2723b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Fri, 13 Dec 2024 13:33:34 +0100
Subject: [PATCH 030/286] Fix config bug in Alpine Vaultwarden (#775)
---
install/alpine-vaultwarden-install.sh | 4 +++-
json/vaultwarden.json | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/install/alpine-vaultwarden-install.sh b/install/alpine-vaultwarden-install.sh
index 1babe4277db..dffd20b0d9d 100644
--- a/install/alpine-vaultwarden-install.sh
+++ b/install/alpine-vaultwarden-install.sh
@@ -25,7 +25,9 @@ msg_ok "Installed Dependencies"
msg_info "Installing Alpine-Vaultwarden"
$STD apk add vaultwarden
-sed -i -e 's/# export ADMIN_TOKEN=.*/export ADMIN_TOKEN='\'''\''/' -e '/^# export ROCKET_ADDRESS=0\.0\.0\.0/s/^# //' -e 's|export WEB_VAULT_ENABLED=.*|export WEB_VAULT_ENABLED=true|' /etc/conf.d/vaultwarden
+sed -i -e 's|export WEB_VAULT_ENABLED=.*|export WEB_VAULT_ENABLED=true|' /etc/conf.d/vaultwarden
+echo -e "export ADMIN_TOKEN=''" >>/etc/conf.d/vaultwarden
+echo -e "export ROCKET_ADDRESS=0.0.0.0" >>/etc/conf.d/vaultwarden
msg_ok "Installed Alpine-Vaultwarden"
msg_info "Installing Web-Vault"
diff --git a/json/vaultwarden.json b/json/vaultwarden.json
index 96bf55b5398..d36cffbf3d8 100644
--- a/json/vaultwarden.json
+++ b/json/vaultwarden.json
@@ -47,7 +47,7 @@
"type": "warning"
},
{
- "text": "Build Settings for normal LXC: 6GB RAM - 6GB Storage - 4vCPU",
+ "text": "To set the Admin Token, run the command below (or type update) in the LXC Console.",
"type": "info"
}
]
From 8c1b48453ca91b9c9ca43b52db8d2e62eba02b47 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 13 Dec 2024 13:53:18 +0100
Subject: [PATCH 031/286] Update CHANGELOG.md (#806)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2bd6a541efa..0ae8764da47 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-13
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Fix config bug in Alpine Vaultwarden [@havardthom](https://github.com/havardthom) ([#775](https://github.com/community-scripts/ProxmoxVE/pull/775))
+
## 2024-12-12
### Changed
From 82ba8367433d6db6da9b689b616f57700fe9158e Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 13 Dec 2024 15:24:02 +0100
Subject: [PATCH 032/286] Update Notes & Documentation for Proxmox Backup
Server (#804)
---
json/pbs.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/json/pbs.json b/json/pbs.json
index afcf597c6ca..848ff913118 100644
--- a/json/pbs.json
+++ b/json/pbs.json
@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 8007,
- "documentation": null,
+ "documentation": "https://pbs.proxmox.com/docs/",
"website": "https://www.proxmox.com/en/proxmox-backup-server/overview",
"logo": "https://raw.githubusercontent.com/home-assistant/brands/master/core_integrations/proxmoxve/icon.png",
"description": "Proxmox Backup Server is an enterprise backup solution, for backing up and restoring VMs, containers, and physical hosts. By supporting incremental, fully deduplicated backups, Proxmox Backup Server significantly reduces network load and saves valuable storage space.",
@@ -32,8 +32,8 @@
},
"notes": [
{
- "text": "Set a root password if using autologin. This will be the PBS password.",
+ "text": "Set a root password if using autologin. This will be the PBS password. `sudo passwd root`",
"type": "warning"
}
]
-}
\ No newline at end of file
+}
From 77d2df5a0f27385100556f286d807834361281b5 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 13 Dec 2024 15:24:14 +0100
Subject: [PATCH 033/286] Update some JSON Files for Website (#812)
* Update JSON Files for Website
* fix microcode json
---
json/actualbudget.json | 2 +-
json/add-tailscale-lxc.json | 4 ++--
json/adguard.json | 2 +-
json/adventurelog.json | 7 ++++++-
json/all-templates.json | 2 +-
json/alpine.json | 7 ++++++-
json/apache-cassandra.json | 2 +-
json/apache-couchdb.json | 2 +-
json/aria2.json | 2 +-
json/audiobookshelf.json | 2 +-
json/autobrr.json | 2 +-
json/blocky.json | 2 +-
json/calibre-web.json | 2 +-
json/casaos.json | 7 ++++++-
json/clean-lxcs.json | 2 +-
json/cockpit.json | 2 +-
json/cron-update-lxcs.json | 4 ++--
json/cronicle.json | 8 ++------
json/daemonsync.json | 2 +-
json/dockge.json | 2 +-
json/emby.json | 2 +-
json/emqx.json | 7 ++++++-
json/evcc.json | 2 +-
json/fhem.json | 7 ++++++-
json/frigate.json | 4 ++--
json/fstrim.json | 8 ++++++--
json/gotify.json | 11 +----------
json/haos-vm.json | 4 ++++
json/headscale.json | 2 +-
json/hivemq.json | 7 ++++++-
json/homeassistant-core.json | 8 ++++++--
json/homeassistant.json | 4 ++++
json/homebox.json | 2 +-
json/homepage.json | 2 +-
json/homer.json | 2 +-
json/host-backup.json | 6 +++++-
json/jellyfin.json | 4 ++--
json/kernel-clean.json | 2 +-
json/kernel-pin.json | 2 +-
json/linkwarden.json | 2 +-
json/mafl.json | 4 ++--
json/magicmirror.json | 2 +-
json/microcode.json | 6 +++++-
json/monitor-all.json | 22 +++++++++++++---------
json/mysql.json | 2 +-
json/navidrome.json | 2 +-
json/netdata.json | 2 +-
json/node-red.json | 2 +-
json/notifiarr.json | 2 +-
json/olivetin.json | 2 +-
json/openobserve.json | 2 +-
json/paperless-ngx.json | 2 +-
json/pihole.json | 2 +-
json/pimox-haos-vm.json | 7 ++++++-
json/plex.json | 2 +-
json/podman-homeassistant.json | 4 ++++
json/post-pbs-install.json | 8 ++++++--
json/post-pve-install.json | 6 +++++-
json/redis.json | 2 +-
json/scaling-governor.json | 2 +-
json/snipeit.json | 10 +++++++---
json/tdarr.json | 2 +-
json/the-lounge.json | 2 +-
json/turnkey.json | 4 ++--
json/umami.json | 2 +-
json/update-lxcs.json | 2 +-
json/update-repo.json | 2 +-
json/webmin.json | 2 +-
68 files changed, 164 insertions(+), 98 deletions(-)
diff --git a/json/actualbudget.json b/json/actualbudget.json
index b54516a13f8..d5138d5eec5 100644
--- a/json/actualbudget.json
+++ b/json/actualbudget.json
@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 5006,
- "documentation": null,
+ "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/807",
"website": "https://actualbudget.org/",
"logo": "https://raw.githubusercontent.com/actualbudget/actual/master/packages/desktop-client/public/maskable-512x512.png",
"description": "Actual Budget is a super fast and privacy-focused app for managing your finances. At its heart is the well proven and much loved Envelope Budgeting methodology.",
diff --git a/json/add-tailscale-lxc.json b/json/add-tailscale-lxc.json
index d241737bd71..1b2717e2c91 100644
--- a/json/add-tailscale-lxc.json
+++ b/json/add-tailscale-lxc.json
@@ -33,11 +33,11 @@
"notes": [
{
"text": "After the script finishes, reboot the LXC then run `tailscale up` in the LXC console",
- "type": "warning"
+ "type": "info"
},
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/adguard.json b/json/adguard.json
index fbab46c4721..89d7287ab61 100644
--- a/json/adguard.json
+++ b/json/adguard.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Adguard Home can be updated via the user interface.",
- "type": "warning"
+ "type": "info"
}
]
}
diff --git a/json/adventurelog.json b/json/adventurelog.json
index 62839ec143a..f9aca9a8c18 100644
--- a/json/adventurelog.json
+++ b/json/adventurelog.json
@@ -30,5 +30,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "AdventureLog uses an initial local IP, if you change your LXC-IP, you need to change the IP here: `/opt/adventurelog/backend/server/.env` and here: `/opt/adventurelog/frontend/.env`",
+ "type": "warning"
+ }
+ ]
}
\ No newline at end of file
diff --git a/json/all-templates.json b/json/all-templates.json
index e5ea84cee8a..47157131086 100644
--- a/json/all-templates.json
+++ b/json/all-templates.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Resource and network settings are adjustable post LXC creation.",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/alpine.json b/json/alpine.json
index 77ff8ee867c..ad46560e084 100644
--- a/json/alpine.json
+++ b/json/alpine.json
@@ -30,5 +30,10 @@
"username": null,
"password": "alpine"
},
- "notes": []
+ "notes": [
+ {
+ "text": "To Update Alpine: `apk update && apk upgrade`",
+ "type": "info"
+ }
+ ]
}
\ No newline at end of file
diff --git a/json/apache-cassandra.json b/json/apache-cassandra.json
index 947d8e5cfe2..63484fa4845 100644
--- a/json/apache-cassandra.json
+++ b/json/apache-cassandra.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Apache-Cassandra Configuration: `nano /etc/cassandra/cassandra.yaml`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/apache-couchdb.json b/json/apache-couchdb.json
index 2c0ae1f1f8a..623ede38f9d 100644
--- a/json/apache-couchdb.json
+++ b/json/apache-couchdb.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Show Login Credentials: `cat CouchDB.creds`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/aria2.json b/json/aria2.json
index bf04bd81493..9282221a845 100644
--- a/json/aria2.json
+++ b/json/aria2.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Within the LXC console, run `cat rpc.secret` to display the rpc-secret. Copy this token and paste it into the Aria2 RPC Secret Token box within the AriaNG Settings. Then, click the reload AriaNG button.",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/audiobookshelf.json b/json/audiobookshelf.json
index c312d1536df..062d71ec75f 100644
--- a/json/audiobookshelf.json
+++ b/json/audiobookshelf.json
@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 13378,
- "documentation": null,
+ "documentation": "https://www.audiobookshelf.org/guides/",
"website": "https://www.audiobookshelf.org/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/audiobookshelf.svg",
"description": "Audiobookshelf is a Self-hosted audiobook and podcast server.",
diff --git a/json/autobrr.json b/json/autobrr.json
index 143fb172a7b..6453578273f 100644
--- a/json/autobrr.json
+++ b/json/autobrr.json
@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 7474,
- "documentation": null,
+ "documentation": "https://autobrr.com/configuration/autobrr",
"website": "https://autobrr.com/",
"logo": "https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png",
"description": "Autobrr is a torrent downloading tool that automates the process of downloading torrents. It is designed to be modern and user-friendly, providing users with a convenient and efficient way to download torrent files. With Autobrr, you can schedule and manage your torrent downloads, and have the ability to automatically download torrents based on certain conditions, such as time of day or availability of seeds. This can save you time and effort, allowing you to focus on other tasks while your torrents are being downloaded in the background.",
diff --git a/json/blocky.json b/json/blocky.json
index 5f08d3ec116..8668bfd18dc 100644
--- a/json/blocky.json
+++ b/json/blocky.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Blocky Configuration Path: `/opt/blocky/config.yml`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/calibre-web.json b/json/calibre-web.json
index 03c7e83a82f..170b62852a4 100644
--- a/json/calibre-web.json
+++ b/json/calibre-web.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Add Calibre-Web Extras via `update`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/casaos.json b/json/casaos.json
index abaf1c06795..0ec77da581a 100644
--- a/json/casaos.json
+++ b/json/casaos.json
@@ -30,5 +30,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
+ "type": "warning"
+ }
+ ]
}
\ No newline at end of file
diff --git a/json/clean-lxcs.json b/json/clean-lxcs.json
index 22f94a5aafb..c6730bdbd8b 100644
--- a/json/clean-lxcs.json
+++ b/json/clean-lxcs.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/cockpit.json b/json/cockpit.json
index fb343f7115d..51b8d49b1d6 100644
--- a/json/cockpit.json
+++ b/json/cockpit.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Set a root password if using autologin. This will be the Cockpit password.`sudo passwd root`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/cron-update-lxcs.json b/json/cron-update-lxcs.json
index 08e5e959cc2..eeb6311f25c 100644
--- a/json/cron-update-lxcs.json
+++ b/json/cron-update-lxcs.json
@@ -33,11 +33,11 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
},
{
"text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c '$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`",
- "type": "warning"
+ "type": "info"
}
]
diff --git a/json/cronicle.json b/json/cronicle.json
index 67c2b9bdd60..3c733ee2025 100644
--- a/json/cronicle.json
+++ b/json/cronicle.json
@@ -32,12 +32,8 @@
},
"notes": [
{
- "text": "Primary and Worker Private Keys Must Match.",
- "type": "warning"
- },
- {
- "text": "Configuration Path: `/opt/cronicle/conf/config.json`",
- "type": "warning"
+ "text": "Configuration Path: `/opt/cronicle/conf/config.json` (Primary and Worker Private Keys Must Match)",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/daemonsync.json b/json/daemonsync.json
index 592516d3afb..5a031b9a748 100644
--- a/json/daemonsync.json
+++ b/json/daemonsync.json
@@ -10,7 +10,7 @@
"privileged": false,
"interface_port": 8084,
"documentation": null,
- "website": null,
+ "website": "https://daemonsync.me/",
"logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1",
"description": "Sync files from app to server, share photos & videos, back up your data and stay secure inside local network.",
"install_methods": [
diff --git a/json/dockge.json b/json/dockge.json
index 012dd3448ff..977d4062523 100644
--- a/json/dockge.json
+++ b/json/dockge.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Options to add Immich and/or Home Assistant",
- "type": "warning"
+ "type": "info"
},
{
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
diff --git a/json/emby.json b/json/emby.json
index 1b37bfa50f5..3516b84cad6 100644
--- a/json/emby.json
+++ b/json/emby.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/emqx.json b/json/emqx.json
index c7f68180b8e..69622f3ed1f 100644
--- a/json/emqx.json
+++ b/json/emqx.json
@@ -30,5 +30,10 @@
"username": "admin",
"password": "public"
},
- "notes": []
+ "notes": [
+ {
+ "text": "Setup-Steps: Access Control ➡ Authentication ➡ Create ➡ Next ➡ Next ➡ Create ➡ Users ➡ Add ➡ Username / Password (to authenicate with MQTT) ➡ Save. You're now ready to enjoy a high-performance MQTT Broker.",
+ "type": "info"
+ }
+ ]
}
\ No newline at end of file
diff --git a/json/evcc.json b/json/evcc.json
index 27ba3d2ef89..1a4c24296c4 100644
--- a/json/evcc.json
+++ b/json/evcc.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "entering `evcc configure` in the LXC terminal will guide you through the creation of a configuration file for evcc.",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/fhem.json b/json/fhem.json
index 6c2a7b4a538..0d559461864 100644
--- a/json/fhem.json
+++ b/json/fhem.json
@@ -30,5 +30,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
+ "type": "warning"
+ }
+ ]
}
\ No newline at end of file
diff --git a/json/frigate.json b/json/frigate.json
index 53496cca3a0..275afce3a26 100644
--- a/json/frigate.json
+++ b/json/frigate.json
@@ -33,11 +33,11 @@
"notes": [
{
"text": "Discussions (explore more advanced methods): `https://github.com/tteck/Proxmox/discussions/2711`",
- "type": "warning"
+ "type": "info"
},
{
"text": "go2rtc Interface port:`1984`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/fstrim.json b/json/fstrim.json
index fb19b156a29..a6c124d1736 100644
--- a/json/fstrim.json
+++ b/json/fstrim.json
@@ -9,10 +9,10 @@
"updateable": false,
"privileged": false,
"interface_port": null,
- "documentation": "https://github.com/tteck/Proxmox/discussions/2505#discussion-6226037",
+ "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/805",
"website": null,
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/lxc.svg",
- "description": "This maintains SSD performance by managing unused blocks. Thin-provisioned storage systems also require management to prevent unnecessary storage use. VMs automate fstrim, while LXC containers need manual or automated fstrim processes for optimal performance.\r\nThis is designed to work with SSDs on ext4 filesystems only.",
+ "description": "This maintains SSD performance by managing unused blocks. Thin-provisioned storage systems also require management to prevent unnecessary storage use. VMs automate fstrim, while LXC containers need manual or automated fstrim processes for optimal performance.",
"install_methods": [
{
"type": "default",
@@ -33,6 +33,10 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
+ "type": "info"
+ },
+ {
+ "text": "This is designed to work with SSDs on ext4 filesystems only.",
"type": "warning"
}
]
diff --git a/json/gotify.json b/json/gotify.json
index 1728b3a50e0..5e786718717 100644
--- a/json/gotify.json
+++ b/json/gotify.json
@@ -30,14 +30,5 @@
"username": "admin",
"password": "admin"
},
- "notes": [
- {
- "text": "password: `admin`",
- "type": "warning"
- },
- {
- "text": "username: `admin`",
- "type": "warning"
- }
- ]
+ "notes": []
}
\ No newline at end of file
diff --git a/json/haos-vm.json b/json/haos-vm.json
index 33f482bcb84..6ce917b3b78 100644
--- a/json/haos-vm.json
+++ b/json/haos-vm.json
@@ -34,6 +34,10 @@
{
"text": "The disk must have a minimum size of 32GB and its size cannot be changed during the creation of the VM.",
"type": "warning"
+ },
+ {
+ "text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/headscale.json b/json/headscale.json
index cc4c3ee1c44..9260aa7c731 100644
--- a/json/headscale.json
+++ b/json/headscale.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Configuration settings: `/etc/headscale/config.yaml`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/hivemq.json b/json/hivemq.json
index 6aa5d959ca7..c63e39c8b63 100644
--- a/json/hivemq.json
+++ b/json/hivemq.json
@@ -30,5 +30,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "To check if HiveMQ is listening to the default port for MQTT `lsof -i :1883`",
+ "type": "info"
+ }
+ ]
}
\ No newline at end of file
diff --git a/json/homeassistant-core.json b/json/homeassistant-core.json
index 4294c70ff90..ff4feb6d14d 100644
--- a/json/homeassistant-core.json
+++ b/json/homeassistant-core.json
@@ -32,16 +32,20 @@
},
"notes": [
{
- "text": "config path: `/root/.homeassistant`",
+ "text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
"type": "warning"
},
{
- "text": "Requires `6.8.4-3-pve` or newer kernel",
+ "text": "Requires PVE 8.2.2 with kernel 6.8.4-3-pve or newer",
"type": "warning"
},
{
"text": "Use Ubuntu 24.04 ONLY",
"type": "warning"
+ },
+ {
+ "text": "config path: `/root/.homeassistant`",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/homeassistant.json b/json/homeassistant.json
index e5c153a1831..564933d7b02 100644
--- a/json/homeassistant.json
+++ b/json/homeassistant.json
@@ -38,6 +38,10 @@
{
"text": "config path: `/var/lib/docker/volumes/hass_config/_data`",
"type": "warning"
+ },
+ {
+ "text": "Portainer Interface: LXC-IP: 9443",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/homebox.json b/json/homebox.json
index bad357f697d..04d2cb1895e 100644
--- a/json/homebox.json
+++ b/json/homebox.json
@@ -32,7 +32,7 @@
},
"notes": [
{
- "text": "env file location: `/opt/.env`",
+ "text": ".env file location: `/opt/.env`",
"type": "info"
}
]
diff --git a/json/homepage.json b/json/homepage.json
index 7046b26ecab..d69c0f95e9a 100644
--- a/json/homepage.json
+++ b/json/homepage.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Configuration (bookmarks.yaml, services.yaml, widgets.yaml) path: `/opt/homepage/config/`",
- "type": "warning"
+ "type": "info"
}
]
}
diff --git a/json/homer.json b/json/homer.json
index a04de3c1dd4..b86359ddd85 100644
--- a/json/homer.json
+++ b/json/homer.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Configuration Path: `/opt/homer/assets/config.yml`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/host-backup.json b/json/host-backup.json
index 5afde65850c..2804255932f 100644
--- a/json/host-backup.json
+++ b/json/host-backup.json
@@ -33,7 +33,11 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
+ },
+ {
+ "text": "A backup is rendered ineffective when it remains stored on the host",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/jellyfin.json b/json/jellyfin.json
index 662d3b1adb9..bcd43ce7d7c 100644
--- a/json/jellyfin.json
+++ b/json/jellyfin.json
@@ -33,11 +33,11 @@
"notes": [
{
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
- "type": "warning"
+ "type": "info"
},
{
"text": "FFmpeg path: /usr/lib/jellyfin-ffmpeg/ffmpeg",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/kernel-clean.json b/json/kernel-clean.json
index 4062c4e69a3..3e23ea3782f 100644
--- a/json/kernel-clean.json
+++ b/json/kernel-clean.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/kernel-pin.json b/json/kernel-pin.json
index 40a990c362a..99f6fbcd10b 100644
--- a/json/kernel-pin.json
+++ b/json/kernel-pin.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/linkwarden.json b/json/linkwarden.json
index 4b19ef54d1b..5bf40d340e6 100644
--- a/json/linkwarden.json
+++ b/json/linkwarden.json
@@ -36,4 +36,4 @@
"type": "info"
}
]
-}
+}
\ No newline at end of file
diff --git a/json/mafl.json b/json/mafl.json
index c6a9f7646f8..2843009c25b 100644
--- a/json/mafl.json
+++ b/json/mafl.json
@@ -32,8 +32,8 @@
},
"notes": [
{
- "text": "Configuration Path: `/opt/mafl/data/config.yml`\r\n",
- "type": "warning"
+ "text": "Configuration Path: `/opt/mafl/data/config.yml`",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/magicmirror.json b/json/magicmirror.json
index 6df13ac6b5d..b1cdbc194a4 100644
--- a/json/magicmirror.json
+++ b/json/magicmirror.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Configuration Path: `/opt/magicmirror/config/config.js`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/microcode.json b/json/microcode.json
index fe94d5d260c..8bb521e38af 100644
--- a/json/microcode.json
+++ b/json/microcode.json
@@ -33,7 +33,11 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
+ },
+ {
+ "text": "After a reboot, you can check whether any microcode updates are currently in effect by running the following command. `journalctl -k | grep -E \"microcode\" | head -n 1`",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/monitor-all.json b/json/monitor-all.json
index 754de0b767c..52a14fd10ae 100644
--- a/json/monitor-all.json
+++ b/json/monitor-all.json
@@ -33,31 +33,35 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
+ "type": "info"
+ },
+ {
+ "text": "Virtual machines without the QEMU guest agent installed must be excluded.",
+ "type": "warning"
+ },
+ {
+ "text": "Prior to generating any new CT/VM not found in this repository, it's necessary to halt Proxmox VE Monitor-All by running `systemctl stop ping-instances`.",
"type": "warning"
},
{
"text": "To make setup changes, first stop the service: `systemctl stop ping-instances`",
- "type": "Info"
+ "type": "info"
},
{
"text": "To edit pause time: `nano /usr/local/bin/ping-instances.sh`",
- "type": "Info"
+ "type": "info"
},
{
"text": "To add excluded instances: `nano /etc/systemd/system/ping-instances.service`",
- "type": "Info"
- },
- {
- "text": "To edit pause time: `nano /usr/local/bin/ping-instances.sh`",
- "type": "Info"
+ "type": "info"
},
{
"text": "After changes have been saved, `systemctl daemon-reload` and start the service: `systemctl start ping-instances`",
- "type": "Info"
+ "type": "info"
},
{
"text": "Monitor-All logs: `cat /var/log/ping-instances.log`",
- "type": "Info"
+ "type": "info"
}
]
}
diff --git a/json/mysql.json b/json/mysql.json
index 6870aed7db5..e9af860dbc0 100644
--- a/json/mysql.json
+++ b/json/mysql.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Database credentials: `cat mysql.creds`",
- "type": "warning"
+ "type": "info"
},
{
"text": "With an option to install the MySQL 8.4 LTS release instead of MySQL 8.0",
diff --git a/json/navidrome.json b/json/navidrome.json
index f44412d06dd..697451a4691 100644
--- a/json/navidrome.json
+++ b/json/navidrome.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "To change Navidrome music folder path, `nano /var/lib/navidrome/navidrome.toml`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/netdata.json b/json/netdata.json
index 73a379edc95..d1abf45a7a4 100644
--- a/json/netdata.json
+++ b/json/netdata.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/node-red.json b/json/node-red.json
index 42f2eaed256..748863c20f8 100644
--- a/json/node-red.json
+++ b/json/node-red.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "To install themes, type `update` in the LXC console.",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/notifiarr.json b/json/notifiarr.json
index 3b7f01dd849..67caa5ee4bc 100644
--- a/json/notifiarr.json
+++ b/json/notifiarr.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Manually edit `/etc/notifiarr/notifiarr.conf`to enter the API key from Notifiarr.com, and create a password for the UI.",
- "type": "warning"
+ "type": "info"
}
]
}
diff --git a/json/olivetin.json b/json/olivetin.json
index 3902d7cd1cc..346192ca597 100644
--- a/json/olivetin.json
+++ b/json/olivetin.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Configuration Path: `/etc/OliveTin/config.yaml`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/openobserve.json b/json/openobserve.json
index 3e6aec8127b..6b8672d2d7c 100644
--- a/json/openobserve.json
+++ b/json/openobserve.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Show Login Credentials: `cat /opt/openobserve/data/.env`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/paperless-ngx.json b/json/paperless-ngx.json
index 2051d9ffbcd..d88a655ac52 100644
--- a/json/paperless-ngx.json
+++ b/json/paperless-ngx.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Show Login Credentials, type `update` in the LXC console",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/pihole.json b/json/pihole.json
index 8de0f05b108..c85899c926d 100644
--- a/json/pihole.json
+++ b/json/pihole.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "To set your password, log in to the container, and type the following: `pihole -a -p`",
- "type": "warning"
+ "type": "info"
},
{
"text": "With an option to add Unbound",
diff --git a/json/pimox-haos-vm.json b/json/pimox-haos-vm.json
index 93aa36a4f94..73f30fe78c5 100644
--- a/json/pimox-haos-vm.json
+++ b/json/pimox-haos-vm.json
@@ -30,5 +30,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
+ "type": "info"
+ }
+ ]
}
\ No newline at end of file
diff --git a/json/plex.json b/json/plex.json
index 019eb52c39d..d50db7cd205 100644
--- a/json/plex.json
+++ b/json/plex.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/podman-homeassistant.json b/json/podman-homeassistant.json
index 247a33a9da4..124da0b9704 100644
--- a/json/podman-homeassistant.json
+++ b/json/podman-homeassistant.json
@@ -38,6 +38,10 @@
{
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
"type": "warning"
+ },
+ {
+ "text": "config path: `/var/lib/containers/storage/volumes/hass_config/_data`",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/post-pbs-install.json b/json/post-pbs-install.json
index 6fc29b86cde..3d8f6cd93d3 100644
--- a/json/post-pbs-install.json
+++ b/json/post-pbs-install.json
@@ -33,11 +33,15 @@
"notes": [
{
"text": "Proxmox Backup Server ONLY",
- "type": "warning"
+ "type": "info"
},
{
"text": "Execute within the Proxmox Backup Server Shell",
- "type": "warning"
+ "type": "info"
+ },
+ {
+ "text": "It is recommended to answer “yes” (y) to all options presented during the process.",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/post-pve-install.json b/json/post-pve-install.json
index 68fa0a4eb61..36eae927f8c 100644
--- a/json/post-pve-install.json
+++ b/json/post-pve-install.json
@@ -33,7 +33,11 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
+ },
+ {
+ "text": "It is recommended to answer “yes” (y) to all options presented during the process.",
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/redis.json b/json/redis.json
index 11c82b51389..4092d82e83a 100644
--- a/json/redis.json
+++ b/json/redis.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Redis Configuration: `nano /etc/redis/redis.conf`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/scaling-governor.json b/json/scaling-governor.json
index 7e51d74148f..0a18987f05f 100644
--- a/json/scaling-governor.json
+++ b/json/scaling-governor.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/snipeit.json b/json/snipeit.json
index 4be971b9de7..61c09edb992 100644
--- a/json/snipeit.json
+++ b/json/snipeit.json
@@ -30,6 +30,10 @@
"username": null,
"password": null
},
- "notes": []
- }
-
+ "notes": [
+ {
+ "text": "Post Install: `https://github.com/community-scripts/ProxmoxVE/discussions/671`",
+ "type": "info"
+ }
+ ]
+}
diff --git a/json/tdarr.json b/json/tdarr.json
index 7667d196873..1e93f2a98bc 100644
--- a/json/tdarr.json
+++ b/json/tdarr.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
- "type": "warning"
+ "type": "info"
}
]
}
diff --git a/json/the-lounge.json b/json/the-lounge.json
index 94979d3fde6..1733da7d5f9 100644
--- a/json/the-lounge.json
+++ b/json/the-lounge.json
@@ -32,7 +32,7 @@
},
"notes": [
{
- "text": "The Lounge is running in private mode. Use \"sudo -u thelounge thelounge add name\" to create users.",
+ "text": "The Lounge is running in private mode. Use `sudo -u thelounge thelounge add name` to create users.",
"type": "info"
}
]
diff --git a/json/turnkey.json b/json/turnkey.json
index f9dd1ef54aa..12173eabc8c 100644
--- a/json/turnkey.json
+++ b/json/turnkey.json
@@ -33,11 +33,11 @@
"notes": [
{
"text": "The script creates a `*.creds` file in the Proxmox root directory with the password of the newly created TurnKey LXC Appliance.",
- "type": "warning"
+ "type": "info"
},
{
"text": "Retrieve Password: `cat turnkey-name.creds`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/umami.json b/json/umami.json
index e440ca52064..8c788ba8f6f 100644
--- a/json/umami.json
+++ b/json/umami.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "To view the database credentials : `cat umami.creds`",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/update-lxcs.json b/json/update-lxcs.json
index f5fa9f40853..3be9d3811e5 100644
--- a/json/update-lxcs.json
+++ b/json/update-lxcs.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/update-repo.json b/json/update-repo.json
index db7b683b77b..9cfc55018ad 100644
--- a/json/update-repo.json
+++ b/json/update-repo.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
diff --git a/json/webmin.json b/json/webmin.json
index b17c4bb5e9a..9f05d09365d 100644
--- a/json/webmin.json
+++ b/json/webmin.json
@@ -33,7 +33,7 @@
"notes": [
{
"text": "Execute within an existing LXC Console",
- "type": "warning"
+ "type": "info"
}
]
}
\ No newline at end of file
From c0cf76f0d53d2f87900995f9ed318519d5dba0f1 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 13 Dec 2024 15:24:28 +0100
Subject: [PATCH 034/286] Github: Optimize Issue Template & PR Template (#802)
* Update bug_report.yml
* Update bug_report.yml
* Update bug_report.yml
* Update bug_report.yml
* Update pull_request_template.md
---
.github/ISSUE_TEMPLATE/bug_report.yml | 69 +++++++++++++++++++--------
.github/pull_request_template.md | 48 +++++++++++--------
2 files changed, 77 insertions(+), 40 deletions(-)
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 54a11f33a39..f450b99b1ce 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -5,44 +5,64 @@ body:
- type: markdown
attributes:
value: |
- **IMPORTANT:** Failure to comply with the following guidelines may result in immediate closure.
- - Prior to submitting, kindly search the closed issues to check if the problem you are reporting has already been addressed and resolved. If you come across a closed issue that pertains to your problem, please leave a comment on that issue instead of creating a new one.
- - If the default Linux distribution is not adhered to, script support will be discontinued.
- - When encountering the error message `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, make sure to run the script in verbose mode to accurately determine the underlying issue.
- - For suggestions, questions, or feature/script requests, please use the [Discussions section.](https://github.com/community-scripts/ProxmoxVE/discussions)
+ # 🐞 **Script Issue Report**
+ Thank you for taking the time to report an issue! Please provide as much detail as possible to help us address the problem efficiently.
+
+ ## ⚠️ **IMPORTANT**
+ - 🔍 **Search first:** Before submitting, check if the issue has already been reported or resolved in [closed issues](https://github.com/community-scripts/ProxmoxVE/issues?q=is%3Aissue+is%3Aclosed). If found, comment on that issue instead of creating a new one.
+ Alternatively, check the **[Discussions](https://github.com/community-scripts/ProxmoxVE/discussions)** under the *"Announcement"* or *"Guide"* categories for relevant information.
+ - 🛠️ **Supported environments only:** Ensure you are using a default Linux distribution. Custom setups may not be supported.
+ - 🔎 If you encounter `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, rerun the script with verbose mode before submitting the issue.
+ - 💡 For general questions, feature requests, or suggestions, use the [Discussions section](https://github.com/community-scripts/ProxmoxVE/discussions).
- type: input
id: guidelines
attributes:
- label: Please verify that you have read and understood the guidelines.
+ label: ✅ Have you read and understood the above guidelines?
placeholder: "yes"
validations:
required: true
+ - type: input
+ id: script_name
+ attributes:
+ label: 📜 What is the name of the script you are using?
+ placeholder: "e.g., NextcloudPi, Zigbee2MQTT"
+ validations:
+ required: true
+
+ - type: input
+ id: script_command
+ attributes:
+ label: 📂 What was the exact command used to execute the script?
+ placeholder: "e.g., bash -c \"$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/zigbee2mqtt.sh)\" or \"update\""
+ validations:
+ required: true
+
- type: textarea
- id: bug
+ id: issue_description
attributes:
- label: A clear and concise description of the issue.
+ label: 📝 Provide a clear and concise description of the issue.
validations:
required: true
-
+
- type: checkboxes
validations:
required: true
attributes:
- label: What settings are you currently utilizing?
+ label: ⚙️ What settings are you using?
options:
- label: Default Settings
- label: Advanced Settings
- type: markdown
attributes:
- value: "If using Advanced Settings, please try Default Settings before creating an issue."
+ value: "💡 **Tip:** If you are using Advanced Settings, please test with Default Settings before submitting an issue."
- type: dropdown
- id: distribution
+ id: linux_distribution
attributes:
- label: Which Linux distribution are you employing?
+ label: 🖥️ Which Linux distribution are you using?
options:
-
- Alpine
@@ -51,21 +71,30 @@ body:
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
+ - Ubuntu 24.10
validations:
required: true
- type: textarea
- id: screenshot
+ id: steps_to_reproduce
attributes:
- label: If relevant, including screenshots or a code block can be helpful in clarifying the issue.
- placeholder: "Code blocks begin and conclude by enclosing the code with three backticks (```) above and below it."
+ label: 🔄 Steps to reproduce the issue.
+ placeholder: "e.g., Step 1: ..., Step 2: ..."
validations:
- required: false
+ required: true
+
+ - type: textarea
+ id: error_output
+ attributes:
+ label: ❌ Paste the full error output (if available).
+ placeholder: "Include any relevant logs or error messages."
+ validations:
+ required: true
- type: textarea
- id: reproduce
+ id: additional_context
attributes:
- label: Please provide detailed steps to reproduce the issue.
- placeholder: "First do this, then this ..."
+ label: 🖼️ Additional context (optional).
+ placeholder: "Include screenshots, code blocks (use triple backticks ```), or any other relevant information."
validations:
required: false
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index f188df3a94d..e6dbcfddb19 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,31 +1,39 @@
-> [!NOTE]
-> We are meticulous when it comes to merging code into the main branch, so please understand that we may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.
+> **🛠️ Note:**
+> We are meticulous about merging code into the main branch, so please understand that pull requests not meeting the project's standards may be rejected. It's never personal!
+> 🎮 **Note for game-related scripts:** These have a lower likelihood of being merged.
-## Description
+---
+## ✍️ Description
Provide a summary of the changes made and/or reference the issue being addressed.
-Fixes # (issue)
+-
-## Type of change
-Please check the relevant option(s):
+- - -
-- [ ] Bug fix (non-breaking change that resolves an issue)
-- [ ] New feature (non-breaking change that adds functionality)
-- [ ] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
-- [ ] New script (a fully functional and thoroughly tested script or set of scripts.)
+- Related Issue: # (issue number, if applicable)
+- Related PR: # (if applicable)
+- Related Discussion: [Link](https://github.com/community-scripts/ProxmoxVE/discussions)
-## Prerequisites
-The following efforts must be made for the PR to be considered. Please check when completed:
-- [ ] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
-- [ ] Testing performed (I have tested my changes, ensuring everything works as expected)
-- [ ] Documentation updated (I have updated any relevant documentation)
+---
+
+## 🛠️ Type of Change
+Please check the relevant options:
+- [ ] Bug fix (non-breaking change that resolves an issue)
+- [ ] New feature (non-breaking change that adds functionality)
+- [ ] Breaking change (fix or feature that would cause existing functionality to change unexpectedly)
+- [ ] New script (a fully functional and thoroughly tested script or set of scripts)
-## Additional Information (optional)
-Provide any additional context or screenshots about the feature or fix here.
+---
+
+## ✅ Prerequisites
+The following steps must be completed for the pull request to be considered:
+- [ ] Self-review performed (I have reviewed my code to ensure it follows established patterns and conventions.)
+- [ ] Testing performed (I have thoroughly tested my changes and verified expected functionality.)
+- [ ] Documentation updated (I have updated any relevant documentation)
+---
-## Related Pull Requests / Discussions
+## 📋 Additional Information (optional)
+Provide any extra context or screenshots about the feature or fix here.
-If there are other pull requests or discussions related to this change, please link them here:
-- Related PR #
From 0573adc83cfda0ce21de538b132b89dbcd1389ed Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 13 Dec 2024 15:27:53 +0100
Subject: [PATCH 035/286] Update CHANGELOG.md (#814)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0ae8764da47..ca8c46f43be 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,15 @@ Do not break established syntax in this file, as it is automatically updated by
- Fix config bug in Alpine Vaultwarden [@havardthom](https://github.com/havardthom) ([#775](https://github.com/community-scripts/ProxmoxVE/pull/775))
+### 🌐 Website
+
+- Update some JSON Files for Website [@MickLesk](https://github.com/MickLesk) ([#812](https://github.com/community-scripts/ProxmoxVE/pull/812))
+- Update Notes & Documentation for Proxmox Backup Server [@MickLesk](https://github.com/MickLesk) ([#804](https://github.com/community-scripts/ProxmoxVE/pull/804))
+
+### 🧰 Maintenance
+
+- Github: Optimize Issue Template & PR Template [@MickLesk](https://github.com/MickLesk) ([#802](https://github.com/community-scripts/ProxmoxVE/pull/802))
+
## 2024-12-12
### Changed
From 2d9fcbb635381bb6d1bffa73cb4c39feecadf7ba Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 13 Dec 2024 17:55:04 +0100
Subject: [PATCH 036/286] Update keycloak.sh (#762)
---
ct/keycloak.sh | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/ct/keycloak.sh b/ct/keycloak.sh
index 5dad21ca447..4b6a9b2399b 100644
--- a/ct/keycloak.sh
+++ b/ct/keycloak.sh
@@ -65,18 +65,14 @@ apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-msg_info "Downloading Keycloak v$RELEASE"
+msg_info "Updating Keycloak to v$RELEASE"
cd /opt
wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
-$STD tar -xvf keycloak-$RELEASE.tar.gz
-
-msg_info "Merging configuration files"
-cp -r keycloak/conf keycloak-$RELEASE
-cp -r keycloak/providers keycloak-$RELEASE
-cp -r keycloak/themes keycloak-$RELEASE
-
-msg_info "Updating Keycloak"
mv keycloak keycloak.old
+tar -xzf keycloak-$RELEASE.tar.gz
+cp -r keycloak.old/conf keycloak-$RELEASE
+cp -r keycloak.old/providers keycloak-$RELEASE
+cp -r keycloak.old/themes keycloak-$RELEASE
mv keycloak-$RELEASE keycloak
msg_info "Delete temporary installation files"
From 69fe6884186f4c55d421cf62f67b08aaa1c84f1c Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 13 Dec 2024 19:43:14 +0100
Subject: [PATCH 037/286] Update CHANGELOG.md (#817)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ca8c46f43be..b13b8dd5aef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Fix Keycloak Update Function [@MickLesk](https://github.com/MickLesk) ([#762](https://github.com/community-scripts/ProxmoxVE/pull/762))
- Fix config bug in Alpine Vaultwarden [@havardthom](https://github.com/havardthom) ([#775](https://github.com/community-scripts/ProxmoxVE/pull/775))
### 🌐 Website
From ca902c50fb07bd06864fdc68aaa715381a53928f Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 13 Dec 2024 22:52:37 +0100
Subject: [PATCH 038/286] Change MISC from red to green (#815)
---
frontend/src/components/CommandMenu.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/src/components/CommandMenu.tsx b/frontend/src/components/CommandMenu.tsx
index 31d9dc12a52..1f03d6ba398 100644
--- a/frontend/src/components/CommandMenu.tsx
+++ b/frontend/src/components/CommandMenu.tsx
@@ -26,7 +26,7 @@ export const formattedBadge = (type: string) => {
LXC
);
case "misc":
- return MISC;
+ return MISC;
}
return null;
};
From bcc6342f83dd2af3fe9c01db7777e3112709e9b7 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 13 Dec 2024 22:55:08 +0100
Subject: [PATCH 039/286] Update CHANGELOG.md (#820)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b13b8dd5aef..096c6f41178 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🌐 Website
+- Change MISC from red to green [@MickLesk](https://github.com/MickLesk) ([#815](https://github.com/community-scripts/ProxmoxVE/pull/815))
- Update some JSON Files for Website [@MickLesk](https://github.com/MickLesk) ([#812](https://github.com/community-scripts/ProxmoxVE/pull/812))
- Update Notes & Documentation for Proxmox Backup Server [@MickLesk](https://github.com/MickLesk) ([#804](https://github.com/community-scripts/ProxmoxVE/pull/804))
From 315949b4460e1d071c685fb58f4f0856b5b6bebe Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 16 Dec 2024 12:41:51 +0100
Subject: [PATCH 040/286] Massive Update: build.func | install.func |
create_lxc.sh (Part 1) (#643)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Big Update: Build.func Install.Func Create_LXC
* Change Author
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Fix indentation / naming / echos
* Fix some Parts
* Add alpine-install.func
* update alpine to 3.20
* fix spaces
* Update build.func
* Merge Create_LXC from DEV
* Merge from DEV
* Merge from DEV
---------
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
---
ct/alpine.sh | 2 +-
ct/create_lxc.sh | 49 ++++--
misc/alpine-install.func | 88 ++++++++--
misc/build.func | 359 +++++++++++++++++++++++++++------------
misc/install.func | 110 ++++++++----
5 files changed, 435 insertions(+), 173 deletions(-)
diff --git a/ct/alpine.sh b/ct/alpine.sh
index d6944dc0f9d..5d8fab53054 100644
--- a/ct/alpine.sh
+++ b/ct/alpine.sh
@@ -24,7 +24,7 @@ var_disk="0.1"
var_cpu="1"
var_ram="512"
var_os="alpine"
-var_version="3.19"
+var_version="3.20"
variables
color
catch_errors
diff --git a/ct/create_lxc.sh b/ct/create_lxc.sh
index aae2fcba0cd..46f5290211c 100644
--- a/ct/create_lxc.sh
+++ b/ct/create_lxc.sh
@@ -2,6 +2,7 @@
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
+# Co-Author: MickLesk
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
@@ -9,15 +10,25 @@
# if [ "$VERBOSE" == "yes" ]; then set -x; fi
# This function sets color variables for formatting output in the terminal
+# Colors
YW=$(echo "\033[33m")
+YWB=$(echo "\033[93m")
BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m")
GN=$(echo "\033[1;92m")
+
+# Formatting
CL=$(echo "\033[m")
-CM="${GN}✓${CL}"
-CROSS="${RD}✗${CL}"
+UL=$(echo "\033[4m")
+BOLD=$(echo "\033[1m")
BFR="\\r\\033[K"
HOLD=" "
+TAB=" "
+
+# Icons
+CM="${TAB}✔️${TAB}${CL}"
+CROSS="${TAB}✖️${TAB}${CL}"
+INFO="${TAB}💡${TAB}${CL}"
# This sets error handling options and defines the error_handler function to handle errors
set -Eeuo pipefail
@@ -36,19 +47,24 @@ function error_handler() {
# This function displays a spinner.
function spinner() {
- local chars="/-\|"
- local spin_i=0
- printf "\e[?25l"
- while true; do
- printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}"
- sleep 0.1
- done
+ local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
+ local spin_i=0
+ local interval=0.1
+ printf "\e[?25l"
+
+ local color="${YWB}"
+
+ while true; do
+ printf "\r ${color}%s${CL}" "${frames[spin_i]}"
+ spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
+ sleep "$interval"
+ done
}
# This function displays an informational message with a yellow color.
function msg_info() {
local msg="$1"
- echo -ne " ${HOLD} ${YW}${msg} "
+ echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}"
spinner &
SPINNER_PID=$!
}
@@ -58,7 +74,7 @@ function msg_ok() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
+ echo -e "${BFR}${CM}${GN}${msg}${CL}"
}
# This function displays a error message with a red color.
@@ -66,7 +82,7 @@ function msg_error() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
+ echo -e "${BFR}${CROSS}${RD}${msg}${CL}"
}
# This checks for the presence of valid Container Storage and Template Storage locations
@@ -105,7 +121,7 @@ function select_storage() {
local TAG=$(echo $line | awk '{print $1}')
local TYPE=$(echo $line | awk '{printf "%-10s", $2}')
local FREE=$(echo $line | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}')
- local ITEM=" Type: $TYPE Free: $FREE "
+ local ITEM="Type: $TYPE Free: $FREE "
local OFFSET=2
if [[ $((${#ITEM} + $OFFSET)) -gt ${MSG_MAX_LENGTH:-} ]]; then
local MSG_MAX_LENGTH=$((${#ITEM} + $OFFSET))
@@ -123,11 +139,14 @@ function select_storage() {
"Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\nTo make a selection, use the Spacebar.\n" \
16 $(($MSG_MAX_LENGTH + 23)) 6 \
"${MENU[@]}" 3>&1 1>&2 2>&3) || exit "Menu aborted."
+ if [ $? -ne 0 ]; then
+ echo -e "${CROSS}${RD} Menu aborted by user.${CL}"
+ exit 0
+ fi
done
- printf $STORAGE
+ printf "%s" "$STORAGE"
fi
}
-
# Test if required variables are set
[[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable."
[[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable."
diff --git a/misc/alpine-install.func b/misc/alpine-install.func
index 175b8ca767a..e8244baa2e0 100644
--- a/misc/alpine-install.func
+++ b/misc/alpine-install.func
@@ -1,20 +1,42 @@
+# Copyright (c) 2021-2024 tteck
+# Author: tteck (tteckster)
+# Co-Author: MickLesk
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+# This function sets color variables for formatting output in the terminal
color() {
+ # Colors
YW=$(echo "\033[33m")
+ YWB=$(echo "\033[93m")
BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m")
- BGN=$(echo "\033[4;92m")
GN=$(echo "\033[1;92m")
- DGN=$(echo "\033[32m")
+
+ # Formatting
CL=$(echo "\033[m")
+ BFR="\\r\\033[K"
+ BOLD=$(echo "\033[1m")
+ TAB=" "
+
+ # System
RETRY_NUM=10
RETRY_EVERY=3
i=$RETRY_NUM
- CM="${GN}✓${CL}"
- CROSS="${RD}✗${CL}"
- BFR="\\r\\033[K"
- HOLD="-"
+
+ # Icons
+ CM="${TAB}✔️${TAB}${CL}"
+ CROSS="${TAB}✖️${TAB}${CL}"
+ INFO="${TAB}💡${TAB}${CL}"
+ NETWORK="${TAB}📡${TAB}${CL}"
+ OS="${TAB}🖥️${TAB}${CL}"
+ OSVERSION="${TAB}🌟${TAB}${CL}"
+ HOSTNAME="${TAB}🏠${TAB}${CL}"
+ GATEWAY="${TAB}🌐${TAB}${CL}"
+ DEFAULT="${TAB}⚙️${TAB}${CL}"
}
+# This function enables IPv6 if it's not disabled and sets verbose mode if the global variable is set to "yes"
verb_ip6() {
if [ "$VERBOSE" = "yes" ]; then
STD=""
@@ -27,11 +49,13 @@ verb_ip6() {
fi
}
+# This function catches errors and handles them with the error handler function
catch_errors() {
set -Eeuo pipefail
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
}
+# This function handles errors
error_handler() {
local exit_code="$?"
local line_number="$1"
@@ -40,21 +64,25 @@ error_handler() {
echo -e "\n$error_message\n"
}
+# This function displays an informational message with a yellow color.
msg_info() {
local msg="$1"
- echo -ne " ${HOLD} ${YW}${msg}..."
+ echo -ne " ${TAB}${YW}${msg}"
}
+# This function displays a success message with a green color.
msg_ok() {
local msg="$1"
- echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
+ echo -e "${BFR}${CM}${GN}${msg}${CL}"
}
+# This function displays a error message with a red color.
msg_error() {
local msg="$1"
- echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
+ echo -e "${BFR}${CROSS}${RD}${msg}${CL}"
}
+# This function sets up the Container OS by generating the locale, setting the timezone, and checking the network connection
setting_up_container() {
msg_info "Setting up Container OS"
while [ $i -gt 0 ]; do
@@ -68,23 +96,26 @@ setting_up_container() {
if [ "$(ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1)" = "" ]; then
echo 1>&2 -e "\n${CROSS}${RD} No Network After $RETRY_NUM Tries${CL}"
- echo -e " 🖧 Check Network Settings"
+ echo -e "${NETWORK}Check Network Settings"
exit 1
fi
msg_ok "Set up Container OS"
msg_ok "Network Connected: ${BL}$(ip addr show | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1 | tail -n1)${CL}"
}
+# This function checks the network connection by pinging a known IP address and prompts the user to continue if the internet is not connected
network_check() {
set +e
trap - ERR
- if ping -c 1 -W 1 1.1.1.1 &>/dev/null; then msg_ok "Internet Connected"; else
+ if ping -c 1 -W 1 1.1.1.1 &>/dev/null || ping -c 1 -W 1 8.8.8.8 &>/dev/null || ping -c 1 -W 1 9.9.9.9 &>/dev/null; then
+ msg_ok "Internet Connected";
+ else
msg_error "Internet NOT Connected"
read -r -p "Would you like to continue anyway? " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
- echo -e " ⚠️ ${RD}Expect Issues Without Internet${CL}"
+ echo -e "${INFO}${RD}Expect Issues Without Internet${CL}"
else
- echo -e " 🖧 Check Network Settings"
+ echo -e "${NETWORK}Check Network Settings"
exit 1
fi
fi
@@ -94,6 +125,7 @@ network_check() {
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
}
+# This function updates the Container OS by running apt-get update and upgrade
update_os() {
msg_info "Updating Container OS"
$STD apk update
@@ -101,20 +133,46 @@ update_os() {
msg_ok "Updated Container OS"
}
+# This function modifies the message of the day (motd) and SSH settings
motd_ssh() {
+ # Set terminal to 256-color mode
echo "export TERM='xterm-256color'" >>/root/.bashrc
- echo -e "$APPLICATION LXC provided by https://Helper-Scripts.com/\n" >/etc/motd
+ IP=$(ip -4 addr show eth0 | awk '/inet / {print $2}' | cut -d/ -f1 | head -n 1)
+ # Get OS information
+ if [ -f "/etc/os-release" ]; then
+ OS_NAME=$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '"')
+ OS_VERSION=$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '"')
+ else
+ OS_NAME="Alpine Linux"
+ OS_VERSION="Unknown"
+ fi
+ # Set MOTD with application info and system details
+ MOTD_FILE="/etc/motd"
+ if [ -f "$MOTD_FILE" ]; then
+ echo -e "\n${BOLD}${APPLICATION} LXC Container${CL}" > "$MOTD_FILE"
+ echo -e "${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| Project: ${GN}ProxmoxVE ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\n" >> "$MOTD_FILE"
+ echo -e "${TAB}${OS}${YW} OS: ${GN}${OS_NAME} ${OS_VERSION}${CL}" >> "$MOTD_FILE"
+ echo -e "${TAB}${HOSTNAME}${YW} Hostname: ${GN}$(hostname)${CL}" >> "$MOTD_FILE"
+ echo -e "${TAB}${INFO}${YW} IP Address: ${GN}${IP}${CL}" >> "$MOTD_FILE"
+ else
+ echo -e "${RD}[WARNING] MOTD file does not exist!${CL}" >&2
+ fi
+ # Configure SSH if enabled
if [[ "${SSH_ROOT}" == "yes" ]]; then
+ # Enable sshd service
$STD rc-update add sshd
+ # Allow root login via SSH
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
+ # Start the sshd service
$STD /etc/init.d/sshd start
fi
}
+# This function customizes the container and enables passwordless login for the root user
customize() {
if [[ "$PASSWORD" == "" ]]; then
msg_info "Customizing Container"
bash -c "passwd -d root" >/dev/null 2>&1
msg_ok "Customized Container"
fi
-}
+}
\ No newline at end of file
diff --git a/misc/build.func b/misc/build.func
index 17a87765e24..82dcacf9bd8 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -1,3 +1,9 @@
+# Copyright (c) 2021-2024 tteck
+# Author: tteck (tteckster)
+# Co-Author: MickLesk
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
variables() {
NSAPP=$(echo ${APP,,} | tr -d ' ') # This function sets the NSAPP variable by converting the value of the APP variable to lowercase and removing any spaces.
var_install="${NSAPP}-install" # sets the var_install variable by appending "-install" to the value of NSAPP.
@@ -6,6 +12,7 @@ variables() {
# This function sets various color variables using ANSI escape codes for formatting text in the terminal.
color() {
+ # Colors
YW=$(echo "\033[33m")
YWB=$(echo "\033[93m")
BL=$(echo "\033[36m")
@@ -13,11 +20,39 @@ color() {
BGN=$(echo "\033[4;92m")
GN=$(echo "\033[1;92m")
DGN=$(echo "\033[32m")
+
+ # Formatting
CL=$(echo "\033[m")
- CM="${GN}✓${CL}"
- CROSS="${RD}✗${CL}"
+ UL=$(echo "\033[4m")
+ BOLD=$(echo "\033[1m")
BFR="\\r\\033[K"
HOLD=" "
+ TAB=" "
+
+ # Icons
+ CM="${TAB}✔️${TAB}${CL}"
+ CROSS="${TAB}✖️${TAB}${CL}"
+ INFO="${TAB}💡${TAB}${CL}"
+ OS="${TAB}🖥️${TAB}${CL}"
+ OSVERSION="${TAB}🌟${TAB}${CL}"
+ CONTAINERTYPE="${TAB}📦${TAB}${CL}"
+ DISKSIZE="${TAB}💾${TAB}${CL}"
+ CPUCORE="${TAB}🧠${TAB}${CL}"
+ RAMSIZE="${TAB}🛠️${TAB}${CL}"
+ SEARCH="${TAB}🔍${TAB}${CL}"
+ VERIFYPW="${TAB}🔐${TAB}${CL}"
+ CONTAINERID="${TAB}🆔${TAB}${CL}"
+ HOSTNAME="${TAB}🏠${TAB}${CL}"
+ BRIDGE="${TAB}🌉${TAB}${CL}"
+ NETWORK="${TAB}📡${TAB}${CL}"
+ GATEWAY="${TAB}🌐${TAB}${CL}"
+ DISABLEIPV6="${TAB}🚫${TAB}${CL}"
+ DEFAULT="${TAB}⚙️${TAB}${CL}"
+ MACADDRESS="${TAB}🔗${TAB}${CL}"
+ VLANTAG="${TAB}🏷️${TAB}${CL}"
+ ROOTSSH="${TAB}🔑${TAB}${CL}"
+ CREATING="${TAB}🚀${TAB}${CL}"
+ ADVANCED="${TAB}🧩${TAB}${CL}"
}
# This function enables error handling in the script by setting options and defining a trap for the ERR signal.
@@ -39,19 +74,24 @@ error_handler() {
# This function displays a spinner.
spinner() {
- local chars="/-\|"
- local spin_i=0
- printf "\e[?25l"
- while true; do
- printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}"
- sleep 0.1
- done
+ local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
+ local spin_i=0
+ local interval=0.1
+ printf "\e[?25l"
+
+ local color="${YWB}"
+
+ while true; do
+ printf "\r ${color}%s${CL}" "${frames[spin_i]}"
+ spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
+ sleep "$interval"
+ done
}
# This function displays an informational message with a yellow color.
msg_info() {
local msg="$1"
- echo -ne " ${HOLD} ${YW}${msg} "
+ echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}"
spinner &
SPINNER_PID=$!
}
@@ -61,7 +101,7 @@ msg_ok() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
+ echo -e "${BFR}${CM}${GN}${msg}${CL}"
}
# This function displays a error message with a red color.
@@ -69,7 +109,7 @@ msg_error() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
+ echo -e "${BFR}${CROSS}${RD}${msg}${CL}"
}
# Check if the shell is using bash
@@ -97,7 +137,7 @@ root_check() {
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
pve_check() {
if ! pveversion | grep -Eq "pve-manager/8.[1-3]"; then
- msg_error "This version of Proxmox Virtual Environment is not supported"
+ msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported"
echo -e "Requires Proxmox Virtual Environment Version 8.1 or later."
echo -e "Exiting..."
sleep 2
@@ -108,17 +148,27 @@ fi
# This function checks the system architecture and exits if it's not "amd64".
arch_check() {
if [ "$(dpkg --print-architecture)" != "amd64" ]; then
- echo -e "\n ${CROSS} This script will not work with PiMox! \n"
- echo -e "\n Visit https://github.com/asylumexp/Proxmox for ARM64 support. \n"
+ echo -e "\n ${INFO}${YWB}This script will not work with PiMox! \n"
+ echo -e "\n ${YWB}Visit https://github.com/asylumexp/Proxmox for ARM64 support. \n"
echo -e "Exiting..."
sleep 2
exit
fi
}
+# This function sets the APP-Name into an ASCII Header in Slant, figlet needed on proxmox main node.
+header_info() {
+ apt-get install -y figlet &> /dev/null
+ ascii_art=$(figlet -f slant "$APP")
+ clear
+ cat </dev/null 2>&1 && [ -n "${SSH_CLIENT:+x}" ]; then
+ if [ -n "${SSH_CLIENT:+x}" ]; then
if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH DETECTED" --yesno "It's advisable to utilize the Proxmox shell rather than SSH, as there may be potential complications with variable retrieval. Proceed using SSH?" 10 72; then
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Proceed using SSH" "You've chosen to proceed using SSH. If any issues arise, please run the script in the Proxmox shell before creating a repository issue." 10 72
else
@@ -129,36 +179,74 @@ ssh_check() {
fi
}
+base_settings() {
+ # Default Settings
+ CT_TYPE="1"
+ DISK_SIZE="4"
+ CORE_COUNT="1"
+ RAM_SIZE="1024"
+ VERBOSE="${1:-no}"
+ PW=""
+ CT_ID=$NEXTID
+ HN=$NSAPP
+ BRG="vmbr0"
+ NET="dhcp"
+ GATE=""
+ APT_CACHER=""
+ APT_CACHER_IP=""
+ DISABLEIP6="no"
+ MTU=""
+ SD=""
+ NS=""
+ MAC=""
+ VLAN=""
+ SSH="no"
+ TAGS="community-script;"
+
+ # Override default settings with variables from ct script
+ CT_TYPE=${var_privileged:-$CT_TYPE}
+ DISK_SIZE=${var_disk:-$DISK_SIZE}
+ CORE_COUNT=${var_cpu:-$CORE_COUNT}
+ RAM_SIZE=${var_ram:-$RAM_SIZE}
+ VERB=${var_verbose:-$VERBOSE}
+ TAGS="${TAGS}${var_tags:-}"
+
+ # Since these 2 are only defined outside of default_settings function, we add a temporary fallback. TODO: To align everything, we should add these as constant variables (e.g. OSTYPE and OSVERSION), but that would currently require updating the default_settings function for all existing scripts
+ if [ -z "$var_os" ]; then
+ var_os="debian"
+ fi
+ if [ -z "$var_version" ]; then
+ var_version="12"
+ fi
+}
+
# This function displays the default values for various settings.
echo_default() {
- echo -e "${DGN}Using Distribution: ${BGN}$var_os${CL}"
- echo -e "${DGN}Using $var_os Version: ${BGN}$var_version${CL}"
- echo -e "${DGN}Using Container Type: ${BGN}$CT_TYPE${CL}"
- echo -e "${DGN}Using Root Password: ${BGN}Automatic Login${CL}"
- echo -e "${DGN}Using Container ID: ${BGN}$NEXTID${CL}"
- echo -e "${DGN}Using Hostname: ${BGN}$NSAPP${CL}"
- echo -e "${DGN}Using Disk Size: ${BGN}$var_disk${CL}${DGN}GB${CL}"
- echo -e "${DGN}Allocated Cores ${BGN}$var_cpu${CL}"
- echo -e "${DGN}Allocated Ram ${BGN}$var_ram${CL}"
- echo -e "${DGN}Using Bridge: ${BGN}vmbr0${CL}"
- echo -e "${DGN}Using Static IP Address: ${BGN}dhcp${CL}"
- echo -e "${DGN}Using Gateway IP Address: ${BGN}Default${CL}"
- echo -e "${DGN}Using Apt-Cacher IP Address: ${BGN}Default${CL}"
- echo -e "${DGN}Disable IPv6: ${BGN}No${CL}"
- echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}"
- echo -e "${DGN}Using DNS Search Domain: ${BGN}Host${CL}"
- echo -e "${DGN}Using DNS Server Address: ${BGN}Host${CL}"
- echo -e "${DGN}Using MAC Address: ${BGN}Default${CL}"
- echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}"
- echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
- echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
- echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}"
+ # Convert CT_TYPE to description
+ CT_TYPE_DESC="Unprivileged"
+ if [ "$CT_TYPE" -eq 0 ]; then
+ CT_TYPE_DESC="Privileged"
+ fi
+
+ # Output the selected values with icons
+ echo -e "${OS}${BOLD}${DGN}Operating System: ${BGN}$var_os${CL}"
+ echo -e "${OSVERSION}${BOLD}${DGN}Version: ${BGN}$var_version${CL}"
+ echo -e "${CONTAINERTYPE}${BOLD}${DGN}Container Type: ${BGN}$CT_TYPE_DESC${CL}"
+ echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}GB${CL}"
+ echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}"
+ echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MB${CL}"
+ echo -e "${CONTAINERID}${BOLD}${DGN}Container ID: ${BGN}${CT_ID}${CL}"
+ if [ "$VERB" == "yes" ]; then
+ echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}Enabled${CL}"
+ fi
+ echo -e "${CREATING}${BOLD}${BL}Creating a ${APP} LXC using the above default settings${CL}"
+ echo -e " "
}
# This function is called when the user decides to exit the script. It clears the screen and displays an exit message.
-exit-script() {
+exit_script() {
clear
- echo -e "⚠ User exited script \n"
+ echo -e "\n${CROSS}${RD}User exited script${CL}\n"
exit
}
@@ -174,10 +262,10 @@ advanced_settings() {
"ubuntu" "" OFF \
3>&1 1>&2 2>&3); then
if [ -n "$var_os" ]; then
- echo -e "${DGN}Using Distribution: ${BGN}$var_os${CL}"
+ echo -e "${OS}${BOLD}${DGN}Operating System: ${BGN}$var_os${CL}"
fi
else
- exit-script
+ exit_script
fi
done
fi
@@ -190,10 +278,10 @@ advanced_settings() {
"12" "Bookworm" OFF \
3>&1 1>&2 2>&3); then
if [ -n "$var_version" ]; then
- echo -e "${DGN}Using $var_os Version: ${BGN}$var_version${CL}"
+ echo -e "${OSVERSION}${BOLD}${DGN}Version: ${BGN}$var_version${CL}"
fi
else
- exit-script
+ exit_script
fi
done
fi
@@ -201,20 +289,24 @@ advanced_settings() {
if [ "$var_os" == "ubuntu" ]; then
var_version=""
while [ -z "$var_version" ]; do
- if var_version=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UBUNTU VERSION" --radiolist "Choose Version" 10 58 3 \
+ if var_version=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UBUNTU VERSION" --radiolist "Choose Version" 10 58 4 \
"20.04" "Focal" OFF \
"22.04" "Jammy" OFF \
"24.04" "Noble" OFF \
- 3>&1 1>&2 2>&3); then
+ "24.10" "Oracular" OFF \
+ 3>&1 1>&2 2>&3); then
if [ -n "$var_version" ]; then
- echo -e "${DGN}Using $var_os Version: ${BGN}$var_version${CL}"
+ echo -e "${OSVERSION}${BOLD}${DGN}Version: ${BGN}$var_version${CL}"
fi
else
- exit-script
+ exit_script
fi
done
fi
+ # Setting Default Tag for Advanced Settings
+ TAGS="community-script;"
+
CT_TYPE=""
while [ -z "$CT_TYPE" ]; do
if CT_TYPE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CONTAINER TYPE" --radiolist "Choose Type" 10 58 2 \
@@ -222,10 +314,14 @@ advanced_settings() {
"0" "Privileged" OFF \
3>&1 1>&2 2>&3); then
if [ -n "$CT_TYPE" ]; then
- echo -e "${DGN}Using Container Type: ${BGN}$CT_TYPE${CL}"
+ CT_TYPE_DESC="Unprivileged"
+ if [ "$CT_TYPE" -eq 0 ]; then
+ CT_TYPE_DESC="Privileged"
+ fi
+ echo -e "${CONTAINERTYPE}${BOLD}${DGN}Container Type: ${BGN}$CT_TYPE_DESC${CL}"
fi
else
- exit-script
+ exit_script
fi
done
@@ -240,23 +336,23 @@ advanced_settings() {
if PW2=$(whiptail --backtitle "Proxmox VE Helper Scripts" --passwordbox "\nVerify Root Password" 9 58 --title "PASSWORD VERIFICATION" 3>&1 1>&2 2>&3); then
if [[ "$PW1" == "$PW2" ]]; then
PW="-password $PW1"
- echo -e "${DGN}Using Root Password: ${BGN}********${CL}"
+ echo -e "${VERIFYPW}${BOLD}${DGN}Root Password: ${BGN}********${CL}"
break
else
whiptail --msgbox "Passwords do not match. Please try again." 8 58
fi
else
- exit-script
+ exit_script
fi
fi
else
PW1="Automatic Login"
PW=""
- echo -e "${DGN}Using Root Password: ${BGN}$PW1${CL}"
+ echo -e "${VERIFYPW}${BOLD}${DGN}Root Password: ${BGN}$PW1${CL}"
break
fi
else
- exit-script
+ exit_script
fi
done
@@ -264,9 +360,9 @@ advanced_settings() {
if CT_ID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Container ID" 8 58 $NEXTID --title "CONTAINER ID" 3>&1 1>&2 2>&3); then
if [ -z "$CT_ID" ]; then
CT_ID="$NEXTID"
- echo -e "${DGN}Using Container ID: ${BGN}$CT_ID${CL}"
+ echo -e "${CONTAINERID}${BOLD}${DGN}Container ID: ${BGN}$CT_ID${CL}"
else
- echo -e "${DGN}Container ID: ${BGN}$CT_ID${CL}"
+ echo -e "${CONTAINERID}${BOLD}${DGN}Container ID: ${BGN}$CT_ID${CL}"
fi
else
exit
@@ -278,57 +374,57 @@ advanced_settings() {
else
HN=$(echo ${CT_NAME,,} | tr -d ' ')
fi
- echo -e "${DGN}Using Hostname: ${BGN}$HN${CL}"
+ echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}"
else
- exit-script
+ exit_script
fi
if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GB" 8 58 $var_disk --title "DISK SIZE" 3>&1 1>&2 2>&3); then
if [ -z "$DISK_SIZE" ]; then
DISK_SIZE="$var_disk"
- echo -e "${DGN}Using Disk Size: ${BGN}$DISK_SIZE${CL}"
+ echo -e "${DISKSIZE}${DGN}Disk Size: ${BGN}$DISK_SIZE${CL}"
else
if ! [[ $DISK_SIZE =~ $INTEGER ]]; then
- echo -e "${RD}⚠ DISK SIZE MUST BE AN INTEGER NUMBER!${CL}"
+ echo -e "{INFO}${HOLD}${RD} DISK SIZE MUST BE AN INTEGER NUMBER!${CL}"
advanced_settings
fi
- echo -e "${DGN}Using Disk Size: ${BGN}$DISK_SIZE${CL}"
+ echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}$DISK_SIZE${CL}"
fi
else
- exit-script
+ exit_script
fi
if CORE_COUNT=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate CPU Cores" 8 58 $var_cpu --title "CORE COUNT" 3>&1 1>&2 2>&3); then
if [ -z "$CORE_COUNT" ]; then
CORE_COUNT="$var_cpu"
- echo -e "${DGN}Allocated Cores: ${BGN}$CORE_COUNT${CL}"
+ echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}$CORE_COUNT${CL}"
else
- echo -e "${DGN}Allocated Cores: ${BGN}$CORE_COUNT${CL}"
+ echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}$CORE_COUNT${CL}"
fi
else
- exit-script
+ exit_script
fi
if RAM_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate RAM in MiB" 8 58 $var_ram --title "RAM" 3>&1 1>&2 2>&3); then
if [ -z "$RAM_SIZE" ]; then
RAM_SIZE="$var_ram"
- echo -e "${DGN}Allocated RAM: ${BGN}$RAM_SIZE${CL}"
+ echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}$RAM_SIZE${CL}"
else
- echo -e "${DGN}Allocated RAM: ${BGN}$RAM_SIZE${CL}"
+ echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}$RAM_SIZE${CL}"
fi
else
- exit-script
+ exit_script
fi
if BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Bridge" 8 58 vmbr0 --title "BRIDGE" 3>&1 1>&2 2>&3); then
if [ -z "$BRG" ]; then
BRG="vmbr0"
- echo -e "${DGN}Using Bridge: ${BGN}$BRG${CL}"
+ echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
else
- echo -e "${DGN}Using Bridge: ${BGN}$BRG${CL}"
+ echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
fi
else
- exit-script
+ exit_script
fi
while true; do
@@ -336,18 +432,18 @@ advanced_settings() {
exit_status=$?
if [ $exit_status -eq 0 ]; then
if [ "$NET" = "dhcp" ]; then
- echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
+ echo -e "${NETWORK}${BOLD}${DGN}IP Address: ${BGN}$NET${CL}"
break
else
if [[ "$NET" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}/([0-9]|[1-2][0-9]|3[0-2])$ ]]; then
- echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
+ echo -e "${NETWORK}${BOLD}${DGN}IP Address: ${BGN}$NET${CL}"
break
else
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox "$NET is an invalid IPv4 CIDR address. Please enter a valid IPv4 CIDR address or 'dhcp'" 8 58
fi
fi
else
- exit-script
+ exit_script
fi
done
@@ -360,13 +456,13 @@ advanced_settings() {
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox "Invalid IP address format" 8 58
else
GATE=",gw=$GATE1"
- echo -e "${DGN}Using Gateway IP Address: ${BGN}$GATE1${CL}"
+ echo -e "${GATEWAY}${BOLD}${DGN}Gateway IP Address: ${BGN}$GATE1${CL}"
break
fi
done
else
GATE=""
- echo -e "${DGN}Using Gateway IP Address: ${BGN}Default${CL}"
+ echo -e "${GATEWAY}${BOLD}${DGN}Gateway IP Address: ${BGN}Default${CL}"
fi
if [ "$var_os" == "alpine" ]; then
@@ -375,9 +471,9 @@ advanced_settings() {
else
if APT_CACHER_IP=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set APT-Cacher IP (leave blank for default)" 8 58 --title "APT-Cacher IP" 3>&1 1>&2 2>&3); then
APT_CACHER="${APT_CACHER_IP:+yes}"
- echo -e "${DGN}Using APT-Cacher IP Address: ${BGN}${APT_CACHER_IP:-Default}${CL}"
+ echo -e "${NETWORK}${BOLD}${DGN}APT-Cacher IP Address: ${BGN}${APT_CACHER_IP:-Default}${CL}"
else
- exit-script
+ exit_script
fi
fi
@@ -386,7 +482,7 @@ advanced_settings() {
else
DISABLEIP6="no"
fi
- echo -e "${DGN}Disable IPv6: ${BGN}$DISABLEIP6${CL}"
+ echo -e "${DISABLEIPV6}${BOLD}${DGN}Disable IPv6: ${BGN}$DISABLEIP6${CL}"
if MTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" 3>&1 1>&2 2>&3); then
if [ -z $MTU1 ]; then
@@ -395,9 +491,9 @@ advanced_settings() {
else
MTU=",mtu=$MTU1"
fi
- echo -e "${DGN}Using Interface MTU Size: ${BGN}$MTU1${CL}"
+ echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}$MTU1${CL}"
else
- exit-script
+ exit_script
fi
if SD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a DNS Search Domain (leave blank for HOST)" 8 58 --title "DNS Search Domain" 3>&1 1>&2 2>&3); then
@@ -408,9 +504,9 @@ advanced_settings() {
SX=$SD
SD="-searchdomain=$SD"
fi
- echo -e "${DGN}Using DNS Search Domain: ${BGN}$SX${CL}"
+ echo -e "${SEARCH}${BOLD}${DGN}DNS Search Domain: ${BGN}$SX${CL}"
else
- exit-script
+ exit_script
fi
if NX=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a DNS Server IP (leave blank for HOST)" 8 58 --title "DNS SERVER IP" 3>&1 1>&2 2>&3); then
@@ -420,9 +516,9 @@ advanced_settings() {
else
NS="-nameserver=$NX"
fi
- echo -e "${DGN}Using DNS Server IP Address: ${BGN}$NX${CL}"
+ echo -e "${NETWORK}${BOLD}${DGN}DNS Server IP Address: ${BGN}$NX${CL}"
else
- exit-script
+ exit_script
fi
if MAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address(leave blank for default)" 8 58 --title "MAC ADDRESS" 3>&1 1>&2 2>&3); then
@@ -431,10 +527,10 @@ advanced_settings() {
MAC=""
else
MAC=",hwaddr=$MAC1"
- echo -e "${DGN}Using MAC Address: ${BGN}$MAC1${CL}"
+ echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}$MAC1${CL}"
fi
else
- exit-script
+ exit_script
fi
if VLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" 3>&1 1>&2 2>&3); then
@@ -444,9 +540,9 @@ advanced_settings() {
else
VLAN=",tag=$VLAN1"
fi
- echo -e "${DGN}Using Vlan: ${BGN}$VLAN1${CL}"
+ echo -e "${VLANTAG}${BOLD}${DGN}Vlan: ${BGN}$VLAN1${CL}"
else
- exit-script
+ exit_script
fi
if [[ "$PW" == -password* ]]; then
@@ -455,10 +551,10 @@ advanced_settings() {
else
SSH="no"
fi
- echo -e "${DGN}Enable Root SSH Access: ${BGN}$SSH${CL}"
+ echo -e "${ROOTSSH}${BOLD}${DGN}Root SSH Access: ${BGN}$SSH${CL}"
else
SSH="no"
- echo -e "${DGN}Enable Root SSH Access: ${BGN}$SSH${CL}"
+ echo -e "${ROOTSSH}${BOLD}${DGN}Root SSH Access: ${BGN}$SSH${CL}"
fi
if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
@@ -466,14 +562,14 @@ advanced_settings() {
else
VERB="no"
fi
- echo -e "${DGN}Enable Verbose Mode: ${BGN}$VERB${CL}"
+ echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}$VERB${CL}"
if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create ${APP} LXC?" 10 58); then
- echo -e "${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
+ echo -e "${CREATING}${BOLD}${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
else
clear
header_info
- echo -e "${RD}Using Advanced Settings${CL}"
+ echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}"
advanced_settings
fi
}
@@ -491,15 +587,51 @@ install_script() {
NEXTID=$(pvesh get /cluster/nextid)
timezone=$(cat /etc/timezone)
header_info
- if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
- header_info
- echo -e "${BL}Using Default Settings${CL}"
- default_settings
- else
- header_info
- echo -e "${RD}Using Advanced Settings${CL}"
- advanced_settings
- fi
+ while true; do
+ CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --menu "Choose an option:" \
+ 12 50 4 \
+ "1" "Default Settings" \
+ "2" "Default Settings (with verbose)" \
+ "3" "Advanced Settings" \
+ "4" "Exit" --nocancel --default-item "1" 3>&1 1>&2 2>&3)
+
+ if [ $? -ne 0 ]; then
+ echo -e "${CROSS}${RD} Menu canceled. Exiting.${CL}"
+ exit 0
+ fi
+
+ case $CHOICE in
+ 1)
+ header_info
+ echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings${CL}"
+ VERB="no"
+ base_settings "$VERB"
+ echo_default
+ break
+ ;;
+ 2)
+ header_info
+ echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings (${SEARCH} Verbose)${CL}"
+ VERB="yes"
+ base_settings "$VERB"
+ echo_default
+ break
+ ;;
+ 3)
+ header_info
+ echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}"
+ advanced_settings
+ break
+ ;;
+ 4)
+ echo -e "${CROSS}${RD}Exiting.${CL}"
+ exit 0
+ ;;
+ *)
+ echo -e "${CROSS}${RD}Invalid option, please try again.${CL}"
+ ;;
+ esac
+ done
}
check_container_resources() {
@@ -509,9 +641,14 @@ check_container_resources() {
# Check whether the current RAM is less than the required RAM or the CPU cores are less than required
if [[ "$current_ram" -lt "$var_ram" ]] || [[ "$current_cpu" -lt "$var_cpu" ]]; then
- echo -e "\n⚠️${HOLD} ${GN}Required: ${var_cpu} CPU, ${var_ram}MB RAM ${CL}| ${RD}Current: ${current_cpu} CPU, ${current_ram}MB RAM${CL}"
+ echo -e "\n${INFO}${HOLD} ${GN}Required: ${var_cpu} CPU, ${var_ram}MB RAM ${CL}| ${RD}Current: ${current_cpu} CPU, ${current_ram}MB RAM${CL}"
echo -e "${YWB}Please ensure that the ${APP} LXC is configured with at least ${var_cpu} vCPU and ${var_ram} MB RAM for the build process.${CL}\n"
- exit 1
+ read -r -p "${INFO}${HOLD} May cause data loss! ${INFO} Continue update with under-provisioned LXC? " prompt
+ # Check if the input is 'yes', otherwise exit with status 1
+ if [[ ! ${prompt,,} =~ ^(yes)$ ]]; then
+ echo -e "${CROSS}${HOLD} ${YWB}Exiting based on user input.${CL}"
+ exit 1
+ fi
else
echo -e ""
fi
@@ -524,11 +661,11 @@ check_container_storage() {
usage=$(( 100 * used_size / total_size ))
if (( usage > 80 )); then
# Prompt the user for confirmation to continue
- echo -e "⚠️${HOLD} ${YWB}Warning: Storage is dangerously low (${usage}%).${CL}"
+ echo -e "${INFO}${HOLD} ${YWB}Warning: Storage is dangerously low (${usage}%).${CL}"
read -r -p "Continue anyway? " prompt
# Check if the input is 'y' or 'yes', otherwise exit with status 1
if [[ ! ${prompt,,} =~ ^(y|yes)$ ]]; then
- echo -e "❌${HOLD} ${YWB}Exiting based on user input.${CL}"
+ echo -e "${CROSS}${HOLD}${YWB}Exiting based on user input.${CL}"
exit 1
fi
fi
@@ -538,7 +675,7 @@ start() {
if command -v pveversion >/dev/null 2>&1; then
if ! (whiptail --backtitle "Proxmox VE Helper Scripts" --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
clear
- echo -e "⚠ User exited script \n"
+ exit_script
exit
fi
SPINNER_PID=""
@@ -548,7 +685,7 @@ start() {
if ! command -v pveversion >/dev/null 2>&1; then
if ! (whiptail --backtitle "Proxmox VE Helper Scripts" --title "${APP} LXC UPDATE" --yesno "Support/Update functions for ${APP} LXC. Proceed?" 10 58); then
clear
- echo -e "⚠ User exited script \n"
+ exit_script
exit
fi
SPINNER_PID=""
@@ -591,7 +728,7 @@ build_container() {
export PCT_OPTIONS="
-features $FEATURES
-hostname $HN
- -tags proxmox-helper-scripts
+ -tags $TAGS
$SD
$NS
-net0 name=eth0,bridge=$BRG$MAC,ip=$NET$GATE$VLAN$MTU
@@ -661,8 +798,6 @@ EOF
pct exec "$CTID" -- /bin/sh -c 'cat </etc/apk/repositories
http://dl-cdn.alpinelinux.org/alpine/latest-stable/main
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
-#http://dl-cdn.alpinelinux.org/alpine/v3.19/main
-#http://dl-cdn.alpinelinux.org/alpine/v3.19/community
EOF'
pct exec "$CTID" -- ash -c "apk add bash >/dev/null"
fi
diff --git a/misc/install.func b/misc/install.func
index 2a22e2ff9f7..d701fdfb341 100644
--- a/misc/install.func
+++ b/misc/install.func
@@ -1,18 +1,39 @@
+# Copyright (c) 2021-2024 tteck
+# Author: tteck (tteckster)
+# Co-Author: MickLesk
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
# This function sets color variables for formatting output in the terminal
color() {
+ # Colors
YW=$(echo "\033[33m")
+ YWB=$(echo "\033[93m")
BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m")
- BGN=$(echo "\033[4;92m")
GN=$(echo "\033[1;92m")
- DGN=$(echo "\033[32m")
+
+ # Formatting
CL=$(echo "\033[m")
- RETRY_NUM=10
- RETRY_EVERY=3
- CM="${GN}✓${CL}"
- CROSS="${RD}✗${CL}"
BFR="\\r\\033[K"
+ BOLD=$(echo "\033[1m")
HOLD=" "
+ TAB=" "
+
+ # System
+ RETRY_NUM=10
+ RETRY_EVERY=3
+
+ # Icons
+ CM="${TAB}✔️${TAB}${CL}"
+ CROSS="${TAB}✖️${TAB}${CL}"
+ INFO="${TAB}💡${TAB}${CL}"
+ NETWORK="${TAB}📡${TAB}${CL}"
+ OS="${TAB}🖥️${TAB}${CL}"
+ OSVERSION="${TAB}🌟${TAB}${CL}"
+ HOSTNAME="${TAB}🏠${TAB}${CL}"
+ GATEWAY="${TAB}🌐${TAB}${CL}"
+ DEFAULT="${TAB}⚙️${TAB}${CL}"
}
# This function enables IPv6 if it's not disabled and sets verbose mode if the global variable is set to "yes"
@@ -49,30 +70,34 @@ error_handler() {
# This function displays a spinner.
spinner() {
- local chars="/-\|"
- local spin_i=0
- printf "\e[?25l"
- while true; do
- printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}"
- sleep 0.1
- done
+ local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
+ local spin_i=0
+ local interval=0.1
+ printf "\e[?25l"
+
+ local color="${YWB}"
+
+ while true; do
+ printf "\r ${color}%s${CL}" "${frames[spin_i]}"
+ spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
+ sleep "$interval"
+ done
}
# This function displays an informational message with a yellow color.
msg_info() {
local msg="$1"
- echo -ne " ${HOLD} ${YW}${msg} "
+ echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}"
spinner &
SPINNER_PID=$!
}
-
# This function displays a success message with a green color.
msg_ok() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
+ echo -e "${BFR}${CM}${GN}${msg}${CL}"
}
# This function displays a error message with a red color.
@@ -80,7 +105,7 @@ msg_error() {
if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
+ echo -e "${BFR}${CROSS}${RD}${msg}${CL}"
}
# This function sets up the Container OS by generating the locale, setting the timezone, and checking the network connection
@@ -102,7 +127,7 @@ setting_up_container() {
done
if [ "$(hostname -I)" = "" ]; then
echo 1>&2 -e "\n${CROSS}${RD} No Network After $RETRY_NUM Tries${CL}"
- echo -e " 🖧 Check Network Settings"
+ echo -e "${NETWORK}Check Network Settings"
exit 1
fi
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
@@ -118,16 +143,16 @@ network_check() {
ipv4_connected=false
ipv6_connected=false
sleep 1
-# Check IPv4 connectivity
- if ping -c 1 -W 1 1.1.1.1 &>/dev/null; then
+# Check IPv4 connectivity to Google, Cloudflare & Quad9 DNS servers.
+ if ping -c 1 -W 1 1.1.1.1 &>/dev/null || ping -c 1 -W 1 8.8.8.8 &>/dev/null || ping -c 1 -W 1 9.9.9.9 &>/dev/null; then
msg_ok "IPv4 Internet Connected";
ipv4_connected=true
else
msg_error "IPv4 Internet Not Connected";
fi
-# Check IPv6 connectivity
- if ping6 -c 1 -W 1 2606:4700:4700::1111 &>/dev/null; then
+# Check IPv6 connectivity to Google, Cloudflare & Quad9 DNS servers.
+ if ping6 -c 1 -W 1 2606:4700:4700::1111 &>/dev/null || ping6 -c 1 -W 1 2001:4860:4860::8888 &>/dev/null || ping6 -c 1 -W 1 2620:fe::fe &>/dev/null; then
msg_ok "IPv6 Internet Connected";
ipv6_connected=true
else
@@ -138,9 +163,9 @@ network_check() {
if [[ $ipv4_connected == false && $ipv6_connected == false ]]; then
read -r -p "No Internet detected,would you like to continue anyway? " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
- echo -e " ⚠️ ${RD}Expect Issues Without Internet${CL}"
+ echo -e "${INFO}${RD}Expect Issues Without Internet${CL}"
else
- echo -e " 🖧 Check Network Settings"
+ echo -e "${NETWORK}Check Network Settings"
exit 1
fi
fi
@@ -174,13 +199,38 @@ EOF
# This function modifies the message of the day (motd) and SSH settings
motd_ssh() {
- echo "export TERM='xterm-256color'" >>/root/.bashrc
- echo -e "$APPLICATION LXC provided by https://helper-scripts.com/\n" >/etc/motd
- chmod -x /etc/update-motd.d/*
- if [[ "${SSH_ROOT}" == "yes" ]]; then
- sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
- systemctl restart sshd
+ # Set terminal to 256-color mode
+ grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >> /root/.bashrc
+
+ # Get the current private IP address
+ IP=$(hostname -I | awk '{print $1}') # Private IP
+
+ # Get OS information (Debian / Ubuntu)
+ if [ -f "/etc/os-release" ]; then
+ OS_NAME=$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '"')
+ OS_VERSION=$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '"')
+ elif [ -f "/etc/debian_version" ]; then
+ OS_NAME="Debian"
+ OS_VERSION=$(cat /etc/debian_version)
+ fi
+
+ # Set MOTD with application info, system details
+ MOTD_FILE="/etc/motd"
+ if [ -f "$MOTD_FILE" ]; then
+ # Start MOTD with application info and link
+ echo -e "\n${BOLD}${APPLICATION} LXC Container${CL}" > "$MOTD_FILE"
+ echo -e "${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\n" >> "$MOTD_FILE"
+
+ # Add system information with icons
+ echo -e "${TAB}${OS}${YW} OS: ${GN}${OS_NAME} - Version: ${OS_VERSION}${CL}" >> "$MOTD_FILE"
+ echo -e "${TAB}${HOSTNAME}${YW} Hostname: ${GN}$(hostname)${CL}" >> "$MOTD_FILE"
+ echo -e "${TAB}${INFO}${YW} IP Address: ${GN}${IP}${CL}" >> "$MOTD_FILE"
+ else
+ echo "MotD file does not exist!" >&2
fi
+
+ # Disable default MOTD scripts
+ chmod -x /etc/update-motd.d/*
}
# This function customizes the container by modifying the getty service and enabling auto-login for the root user
From f2a1cc7eef5693e4aa905a6d4652b118aa033700 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 16 Dec 2024 12:42:51 +0100
Subject: [PATCH 041/286] Update ALL CT's to new default (Part 2) (#710)
* Update ALL CT's to new default
* Minor Changes
* Merge Bookstack from main
* Indention Bookstack
* Merge Vikunja from Main
* Merge Komga from Main
* Merge Unifi from Main
---
ct/actualbudget.sh | 84 ++++++-----------
ct/adguard.sh | 76 +++++----------
ct/adventurelog.sh | 142 ++++++++++++----------------
ct/agentdvr.sh | 72 +++++---------
ct/alpine-docker.sh | 54 +++--------
ct/alpine-grafana.sh | 54 +++--------
ct/alpine-nextcloud.sh | 53 +++--------
ct/alpine-vaultwarden.sh | 56 +++--------
ct/alpine-zigbee2mqtt.sh | 52 +++-------
ct/alpine.sh | 68 ++++----------
ct/apache-cassandra.sh | 71 +++++---------
ct/apache-couchdb.sh | 74 +++++----------
ct/apt-cacher-ng.sh | 79 ++++++----------
ct/archivebox.sh | 100 ++++++++------------
ct/aria2.sh | 77 ++++++---------
ct/audiobookshelf.sh | 72 +++++---------
ct/autobrr.sh | 96 +++++++------------
ct/bazarr.sh | 73 +++++---------
ct/blocky.sh | 73 +++++---------
ct/bookstack.sh | 123 ++++++++++--------------
ct/bunkerweb.sh | 70 +++++---------
ct/caddy.sh | 76 ++++++---------
ct/calibre-web.sh | 141 ++++++++++++----------------
ct/casaos.sh | 78 ++++++---------
ct/changedetection.sh | 110 +++++++++-------------
ct/channels.sh | 72 +++++---------
ct/cloudflared.sh | 74 +++++----------
ct/cockpit.sh | 179 +++++++++++++++--------------------
ct/commafeed.sh | 108 +++++++++------------
ct/cronicle.sh | 180 +++++++++++++++--------------------
ct/daemonsync.sh | 78 ++++++---------
ct/dashy.sh | 142 ++++++++++++----------------
ct/debian.sh | 74 +++++----------
ct/deconz.sh | 78 ++++++---------
ct/deluge.sh | 79 ++++++----------
ct/docker.sh | 74 +++++----------
ct/dockge.sh | 80 ++++++----------
ct/emby.sh | 96 +++++++------------
ct/emqx.sh | 78 ++++++---------
ct/ersatztv.sh | 109 ++++++++-------------
ct/esphome.sh | 96 +++++++------------
ct/evcc.sh | 77 ++++++---------
ct/fenrus.sh | 123 ++++++++++--------------
ct/fhem.sh | 80 ++++++----------
ct/flaresolverr.sh | 65 ++++---------
ct/flowiseai.sh | 78 ++++++---------
ct/forgejo.sh | 107 ++++++++-------------
ct/frigate.sh | 67 ++++---------
ct/gitea.sh | 91 +++++++-----------
ct/glance.sh | 67 ++++---------
ct/go2rtc.sh | 87 ++++++-----------
ct/gokapi.sh | 72 +++++---------
ct/gotify.sh | 110 +++++++++-------------
ct/grafana.sh | 78 ++++++---------
ct/grocy.sh | 98 ++++++++-----------
ct/headscale.sh | 104 ++++++++------------
ct/heimdall-dashboard.sh | 153 ++++++++++++------------------
ct/hivemq.sh | 68 +++++---------
ct/hoarder.sh | 144 ++++++++++++----------------
ct/homarr.sh | 147 ++++++++++++-----------------
ct/homeassistant-core.sh | 59 ++++--------
ct/homeassistant.sh | 60 ++++--------
ct/homebox.sh | 113 +++++++++-------------
ct/homebridge.sh | 78 ++++++---------
ct/homepage.sh | 122 ++++++++++--------------
ct/homer.sh | 120 ++++++++++-------------
ct/hyperhdr.sh | 79 ++++++----------
ct/hyperion.sh | 79 ++++++----------
ct/influxdb.sh | 76 ++++++---------
ct/inspircd.sh | 64 ++++---------
ct/iobroker.sh | 78 ++++++---------
ct/iventoy.sh | 70 +++++---------
ct/jackett.sh | 98 ++++++++-----------
ct/jellyfin.sh | 81 ++++++----------
ct/jellyseerr.sh | 126 +++++++++++--------------
ct/kavita.sh | 88 +++++++----------
ct/keycloak.sh | 111 +++++++++-------------
ct/kimai.sh | 134 +++++++++++---------------
ct/komga.sh | 108 +++++++++------------
ct/kubo.sh | 100 ++++++++------------
ct/lazylibrarian.sh | 99 ++++++++-----------
ct/lidarr.sh | 78 ++++++---------
ct/linkwarden.sh | 133 +++++++++++---------------
ct/listmonk.sh | 124 ++++++++++--------------
ct/lldap.sh | 82 ++++++----------
ct/lubelogger.sh | 66 ++++---------
ct/mafl.sh | 62 ++++--------
ct/magicmirror.sh | 81 ++++++----------
ct/mariadb.sh | 76 ++++++---------
ct/matterbridge.sh | 72 +++++---------
ct/mediamtx.sh | 68 +++++---------
ct/medusa.sh | 101 ++++++++------------
ct/memos.sh | 109 ++++++++-------------
ct/meshcentral.sh | 78 ++++++---------
ct/metube.sh | 122 ++++++++++--------------
ct/mongodb.sh | 74 +++++----------
ct/motioneye.sh | 76 +++++----------
ct/mqtt.sh | 76 ++++++---------
ct/mylar3.sh | 87 ++++++-----------
ct/myspeed.sh | 124 ++++++++++--------------
ct/mysql.sh | 79 ++++++----------
ct/n8n.sh | 79 ++++++----------
ct/navidrome.sh | 96 +++++++------------
ct/neo4j.sh | 81 ++++++----------
ct/netbox.sh | 146 ++++++++++++----------------
ct/nextcloudpi.sh | 78 ++++++---------
ct/nextpvr.sh | 104 ++++++++------------
ct/nginxproxymanager.sh | 58 +++---------
ct/nocodb.sh | 86 ++++++-----------
ct/node-red.sh | 188 ++++++++++++++++---------------------
ct/notifiarr.sh | 78 ++++++---------
ct/ntfy.sh | 79 ++++++----------
ct/nzbget.sh | 81 ++++++----------
ct/octoprint.sh | 96 +++++++------------
ct/ollama.sh | 80 ++++++----------
ct/omada.sh | 90 +++++++-----------
ct/ombi.sh | 106 ++++++++-------------
ct/omv.sh | 80 ++++++----------
ct/onedev.sh | 63 ++++---------
ct/openhab.sh | 79 ++++++----------
ct/openobserve.sh | 84 ++++++-----------
ct/openwebui.sh | 103 ++++++++------------
ct/overseerr.sh | 95 +++++++------------
ct/owncast.sh | 79 ++++++----------
ct/pairdrop.sh | 84 ++++++-----------
ct/paperless-ngx.sh | 60 ++++--------
ct/pbs.sh | 61 +++++-------
ct/peanut.sh | 65 ++++---------
ct/petio.sh | 81 ++++++----------
ct/photoprism.sh | 60 ++++--------
ct/pialert.sh | 74 +++++----------
ct/pihole.sh | 78 ++++++---------
ct/pingvin.sh | 106 ++++++++-------------
ct/plex.sh | 100 ++++++++------------
ct/pocketbase.sh | 62 ++++--------
ct/podman-homeassistant.sh | 60 +++---------
ct/podman.sh | 74 +++++----------
ct/postgresql.sh | 76 ++++++---------
ct/prometheus.sh | 114 +++++++++-------------
ct/prowlarr.sh | 72 +++++---------
ct/qbittorrent.sh | 79 ++++++----------
ct/rabbitmq.sh | 98 +++++++------------
ct/radarr.sh | 72 +++++---------
ct/rdtclient.sh | 112 +++++++++-------------
ct/readarr.sh | 78 ++++++---------
ct/readeck.sh | 88 +++++++----------
ct/recyclarr.sh | 80 ++++++----------
ct/redis.sh | 71 +++++---------
ct/rockylinux.sh | 70 --------------
ct/rtsptoweb.sh | 78 ++++++---------
ct/runtipi.sh | 72 +++++---------
ct/sabnzbd.sh | 100 ++++++++------------
ct/sftpgo.sh | 78 ++++++---------
ct/shinobi.sh | 84 ++++++-----------
ct/smokeping.sh | 79 ++++++----------
ct/snipeit.sh | 133 +++++++++++---------------
ct/sonarr.sh | 88 +++++++----------
ct/spoolman.sh | 125 ++++++++++--------------
ct/stirling-pdf.sh | 108 +++++++++------------
ct/syncthing.sh | 79 ++++++----------
ct/tandoor.sh | 65 ++++---------
ct/tasmoadmin.sh | 78 ++++++---------
ct/tautulli.sh | 78 ++++++---------
ct/tdarr.sh | 78 ++++++---------
ct/technitiumdns.sh | 80 ++++++----------
ct/the-lounge.sh | 112 +++++++++-------------
ct/threadfin.sh | 82 ++++++----------
ct/tianji.sh | 149 ++++++++++++-----------------
ct/traccar.sh | 74 +++++----------
ct/traefik.sh | 96 +++++++------------
ct/transmission.sh | 78 ++++++---------
ct/trilium.sh | 108 +++++++++------------
ct/ubuntu.sh | 74 +++++----------
ct/umami.sh | 104 ++++++++------------
ct/umbrel.sh | 73 +++++---------
ct/unbound.sh | 78 ++++++---------
ct/unifi.sh | 78 ++++++---------
ct/unmanic.sh | 78 ++++++---------
ct/uptimekuma.sh | 105 ++++++++-------------
ct/vaultwarden.sh | 61 ++++--------
ct/vikunja.sh | 114 +++++++++-------------
ct/wallos.sh | 133 +++++++++++---------------
ct/wastebin.sh | 117 +++++++++--------------
ct/watchyourlan.sh | 92 +++++++-----------
ct/wavelog.sh | 148 ++++++++++++-----------------
ct/whisparr.sh | 79 ++++++----------
ct/whoogle.sh | 78 ++++++---------
ct/wikijs.sh | 115 +++++++++--------------
ct/wireguard.sh | 80 ++++++----------
ct/yunohost.sh | 78 ++++++---------
ct/zabbix.sh | 116 +++++++++--------------
ct/zigbee2mqtt.sh | 58 ++++--------
ct/zipline.sh | 127 ++++++++++---------------
ct/zoraxy.sh | 98 ++++++++-----------
ct/zwave-js-ui.sh | 66 ++++---------
195 files changed, 6308 insertions(+), 11176 deletions(-)
delete mode 100644 ct/rockylinux.sh
diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh
index 009fb9527f9..1980fe1bed7 100644
--- a/ct/actualbudget.sh
+++ b/ct/actualbudget.sh
@@ -2,69 +2,44 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://actualbudget.org/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ __ ____ __ __
- / | _____/ /___ ______ _/ / / __ )__ ______/ /___ ____ / /_
- / /| |/ ___/ __/ / / / __ `/ / / __ / / / / __ / __ `/ _ \/ __/
- / ___ / /__/ /_/ /_/ / /_/ / / / /_/ / /_/ / /_/ / /_/ / __/ /_
-/_/ |_\___/\__/\__,_/\__,_/_/ /_____/\__,_/\__,_/\__, /\___/\__/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Actual Budget"
-var_disk="4"
+TAGS="finance"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/actualbudget ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-systemctl stop actualbudget.service
-cd /opt/actualbudget
-git pull &>/dev/null
-yarn install &>/dev/null
-systemctl start actualbudget.service
-msg_ok "Successfully Updated ${APP}"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/actualbudget ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ systemctl stop actualbudget.service
+ cd /opt/actualbudget
+ git pull &>/dev/null
+ yarn install &>/dev/null
+ systemctl start actualbudget.service
+ msg_ok "Successfully Updated ${APP}"
+ exit
}
start
@@ -72,5 +47,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5006${CL} \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}:5006${CL}"
\ No newline at end of file
diff --git a/ct/adguard.sh b/ct/adguard.sh
index 165e6661015..1679d1e64d6 100644
--- a/ct/adguard.sh
+++ b/ct/adguard.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://adguard.com/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ __
- / | ____/ /___ ___ ______ __________/ /
- / /| |/ __ / __ / / / / __ / ___/ __ /
- / ___ / /_/ / /_/ / /_/ / /_/ / / / /_/ /
-/_/ |_\__,_/\__, /\__,_/\__,_/_/ \__,_/
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Adguard"
-var_disk="2"
-var_cpu="1"
-var_ram="512"
+TAGS="adblock"
+var_cpu="2"
+var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/AdGuardHome ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "Adguard Home should be updated via the user interface."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/AdGuardHome ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "Adguard Home should be updated via the user interface."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/adventurelog.sh b/ct/adventurelog.sh
index f7806968da9..fe7ccaad557 100644
--- a/ct/adventurelog.sh
+++ b/ct/adventurelog.sh
@@ -1,102 +1,77 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://adventurelog.app/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ __ __
- / | ____/ / _____ ____ / /___ __________ / / ____ ____ _
- / /| |/ __ / | / / _ \/ __ \/ __/ / / / ___/ _ \/ / / __ \/ __ `/
- / ___ / /_/ /| |/ / __/ / / / /_/ /_/ / / / __/ /___/ /_/ / /_/ /
-/_/ |_\__,_/ |___/\___/_/ /_/\__/\__,_/_/ \___/_____/\____/\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="AdventureLog"
+TAGS="traveling"
var_disk="7"
var_cpu="2"
var_ram="2048"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/adventurelog ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/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
- msg_info "Stopping Services"
- systemctl stop adventurelog-backend
- systemctl stop adventurelog-frontend
- msg_ok "Services Stopped"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/adventurelog ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/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
+ msg_info "Stopping Services"
+ systemctl stop adventurelog-backend
+ systemctl stop adventurelog-frontend
+ msg_ok "Services Stopped"
+
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cp /opt/adventurelog/backend/server/.env /opt/server.env
+ cp /opt/adventurelog/frontend/.env /opt/frontend.env
+ wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q v${RELEASE}.zip
+ mv AdventureLog-${RELEASE} /opt/adventurelog
+ mv /opt/server.env /opt/adventurelog/backend/server/.env
+ cd /opt/adventurelog/backend/server
+ pip install --upgrade pip &>/dev/null
+ pip install -r requirements.txt &>/dev/null
+ python3 manage.py collectstatic --noinput &>/dev/null
+ python3 manage.py migrate &>/dev/null
- msg_info "Updating ${APP} to ${RELEASE}"
- cp /opt/adventurelog/backend/server/.env /opt/server.env
- cp /opt/adventurelog/frontend/.env /opt/frontend.env
- wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
- unzip -q v${RELEASE}.zip
- mv AdventureLog-${RELEASE} /opt/adventurelog
- mv /opt/server.env /opt/adventurelog/backend/server/.env
- cd /opt/adventurelog/backend/server
- pip install --upgrade pip &>/dev/null
- pip install -r requirements.txt &>/dev/null
- python3 manage.py collectstatic --noinput &>/dev/null
- python3 manage.py migrate &>/dev/null
-
- mv /opt/frontend.env /opt/adventurelog/frontend/.env
- cd /opt/adventurelog/frontend
- pnpm install &>/dev/null
- pnpm run build &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ mv /opt/frontend.env /opt/adventurelog/frontend/.env
+ cd /opt/adventurelog/frontend
+ pnpm install &>/dev/null
+ pnpm run build &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP}"
- msg_info "Starting Services"
- systemctl start adventurelog-backend
- systemctl start adventurelog-frontend
- msg_ok "Started Services"
+ msg_info "Starting Services"
+ systemctl start adventurelog-backend
+ systemctl start adventurelog-frontend
+ msg_ok "Started Services"
- msg_info "Cleaning Up"
- rm -rf v${RELEASE}.zip
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Cleaning Up"
+ rm -rf v${RELEASE}.zip
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -104,5 +79,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/agentdvr.sh b/ct/agentdvr.sh
index 82cab2430a9..f28dbcba7d5 100644
--- a/ct/agentdvr.sh
+++ b/ct/agentdvr.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.ispyconnect.com/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ ____ _ ______
- / | ____ ____ ____ / /_/ __ \ | / / __ \
- / /| |/ __ `/ _ \/ __ \/ __/ / / / | / / /_/ /
- / ___ / /_/ / __/ / / / /_/ /_/ /| |/ / _, _/
-/_/ |_\__, /\___/_/ /_/\__/_____/ |___/_/ |_|
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="AgentDVR"
-var_disk="8"
+TAGS="dvr"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="ubuntu"
var_version="22.04"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/agentdvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/agentdvr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP}${CL} should be reachable by going to the following URL.
- ${BL}http://${IP}:8090${CL} \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}:8090${CL}"
\ No newline at end of file
diff --git a/ct/alpine-docker.sh b/ct/alpine-docker.sh
index 69d28456baf..a629f0d856d 100644
--- a/ct/alpine-docker.sh
+++ b/ct/alpine-docker.sh
@@ -2,57 +2,27 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
- clear
- cat <<"EOF"
- ____ __
- / __ \____ _____/ /_ __ _____
- / / / / __ \/ ___/ //_/ _ \/ ___/
- / /_/ / /_/ / /__/ ,< / __/ /
-/_____/\____/\___/_/|_|\___/_/
- Alpine
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Alpine-Docker"
-var_disk="2"
+TAGS="docker;alpine"
var_cpu="1"
var_ram="1024"
+var_disk="2"
var_os="alpine"
-var_version="3.19"
+var_version="3.20"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt
diff --git a/ct/alpine-grafana.sh b/ct/alpine-grafana.sh
index 177e6b64822..2ba68ca7d01 100644
--- a/ct/alpine-grafana.sh
+++ b/ct/alpine-grafana.sh
@@ -2,57 +2,27 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
- clear
- cat <<"EOF"
- ______ ____
- / ____/________ _/ __/___ _____ ____ _
- / / __/ ___/ __ / /_/ __ / __ \/ __ /
-/ /_/ / / / /_/ / __/ /_/ / / / / /_/ /
-\____/_/ \__,_/_/ \__,_/_/ /_/\__,_/
- Alpine
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Alpine-Grafana"
-var_disk="1"
+TAGS="alpine;monitoring"
var_cpu="1"
var_ram="256"
+var_disk="1"
var_os="alpine"
-var_version="3.19"
+var_version="3.20"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt
diff --git a/ct/alpine-nextcloud.sh b/ct/alpine-nextcloud.sh
index f27cde24158..20dfbe159e5 100644
--- a/ct/alpine-nextcloud.sh
+++ b/ct/alpine-nextcloud.sh
@@ -2,56 +2,27 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
- clear
- cat <<"EOF"
- _ __ __ __ __ __ __ __
- / | / /__ _ __/ /______/ /___ __ ______/ / / / / /_ __/ /_
- / |/ / _ \| |/_/ __/ ___/ / __ \/ / / / __ / / /_/ / / / / __ \
- / /| / __/> /_/ /__/ / /_/ / /_/ / /_/ / / __ / /_/ / /_/ /
-/_/ |_/\___/_/|_|\__/\___/_/\____/\__,_/\__,_/ /_/ /_/\__,_/_.___/
-Alpine
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Alpine-Nextcloud"
-var_disk="2"
+TAGS="alpine;cloud"
var_cpu="2"
var_ram="1024"
+var_disk="2"
var_os="alpine"
-var_version="3.19"
+var_version="3.20"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
if [[ ! -d /usr/share/webapps/nextcloud ]]; then
msg_error "No ${APP} Installation Found!"
diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh
index b700a9522e0..f6b9cd4e9e8 100644
--- a/ct/alpine-vaultwarden.sh
+++ b/ct/alpine-vaultwarden.sh
@@ -2,57 +2,27 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
- clear
- cat <<"EOF"
- _ __ ____ __
-| | / /___ ___ __/ / /__ ______ __________/ /__ ____
-| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __ / _ \/ __ \
-| |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / / / /_/ / __/ / / /
-|___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/ \__,_/\___/_/ /_/
- Alpine
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Alpine-Vaultwarden"
-var_disk="0.3"
+TAGS="alpine;vault"
var_cpu="1"
var_ram="256"
+var_disk="0.3"
var_os="alpine"
-var_version="3.19"
+var_version="3.20"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt
@@ -85,7 +55,7 @@ function update_script() {
sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json
fi
rc-service vaultwarden restart -q
- fi
+ fi
clear
exit
;;
diff --git a/ct/alpine-zigbee2mqtt.sh b/ct/alpine-zigbee2mqtt.sh
index 39d2137584b..d52b7c96a10 100644
--- a/ct/alpine-zigbee2mqtt.sh
+++ b/ct/alpine-zigbee2mqtt.sh
@@ -2,57 +2,27 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
- clear
- cat <<"EOF"
- _____ _ __ ___ __ _______ ____________
-/__ / (_)___ _/ /_ ___ ___ |__ \ / |/ / __ \/_ __/_ __/
- / / / / __ / __ \/ _ \/ _ \__/ // /|_/ / / / / / / / /
- / /__/ / /_/ / /_/ / __/ __/ __// / / / /_/ / / / / /
-/____/_/\__, /_.___/\___/\___/____/_/ /_/\___\_\/_/ /_/
- /____/ Alpine
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Alpine-Zigbee2MQTT"
+TAGS="alpine;zigbee;mqtt;smarthome"
var_disk="0.3"
var_cpu="1"
var_ram="256"
var_os="alpine"
-var_version="3.19"
+var_version="3.20"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
if ! apk -e info newt >/dev/null 2>&1; then
apk add -q newt
diff --git a/ct/alpine.sh b/ct/alpine.sh
index 5d8fab53054..5ce8f9999df 100644
--- a/ct/alpine.sh
+++ b/ct/alpine.sh
@@ -2,67 +2,37 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
-clear
-cat <<"EOF"
- ___ __ _
- / | / /___ (_)___ ___
- / /| | / / __ \/ / __ \/ _ \
- / ___ |/ / /_/ / / / / / __/
-/_/ |_/_/ .___/_/_/ /_/\___/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Alpine"
-var_disk="0.1"
+TAGS="os;alpine"
var_cpu="1"
var_ram="512"
+var_disk="0.1"
var_os="alpine"
var_version="3.20"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW="-password alpine"
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
- "1" "Check for Alpine Updates" ON \
- 3>&1 1>&2 2>&3)
+ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
+ "1" "Check for Alpine Updates" ON \
+ 3>&1 1>&2 2>&3)
-header_info
-if [ "$UPD" == "1" ]; then
-apk update && apk upgrade
-exit;
-fi
+ header_info
+ if [ "$UPD" == "1" ]; then
+ apk update && apk upgrade
+ exit
+ fi
}
start
diff --git a/ct/apache-cassandra.sh b/ct/apache-cassandra.sh
index 81486eff718..dcb09a05415 100644
--- a/ct/apache-cassandra.sh
+++ b/ct/apache-cassandra.sh
@@ -2,65 +2,39 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://cassandra.apache.org/_/index.html
-function header_info {
-clear
-cat <<"EOF"
- ___ __ ______ __
- / | ____ ____ ______/ /_ ___ / ____/___ _______________ _____ ____/ /________ _
- / /| | / __ \/ __ `/ ___/ __ \/ _ \ / / / __ `/ ___/ ___/ __ `/ __ \/ __ / ___/ __ `/
- / ___ |/ /_/ / /_/ / /__/ / / / __/ / /___/ /_/ (__ |__ ) /_/ / / / / /_/ / / / /_/ /
-/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\__,_/____/____/\__,_/_/ /_/\__,_/_/ \__,_/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Apache-Cassandra"
-var_disk="4"
+TAGS="database;NoSQL"
var_cpu="1"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
-VERBOSE="yes"
+var_unprivileged="1"
+
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/cassandra.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/cassandra.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -68,3 +42,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/apache-couchdb.sh b/ct/apache-couchdb.sh
index 4aab856a627..4dcc38b10d0 100644
--- a/ct/apache-couchdb.sh
+++ b/ct/apache-couchdb.sh
@@ -2,65 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://couchdb.apache.org/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ ______ __ ____ ____
- / | ____ ____ ______/ /_ ___ / ____/___ __ _______/ /_ / __ \/ __ )
- / /| | / __ \/ __ `/ ___/ __ \/ _ \ / / / __ \/ / / / ___/ __ \/ / / / __ |
- / ___ |/ /_/ / /_/ / /__/ / / / __/ / /___/ /_/ / /_/ / /__/ / / / /_/ / /_/ /
-/_/ |_/ .___/\__,_/\___/_/ /_/\___/ \____/\____/\__,_/\___/_/ /_/_____/_____/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Apache-CouchDB"
-var_disk="10"
+TAGS="database"
var_cpu="2"
var_ram="4096"
+var_disk="10"
var_os="debian"
var_version="12"
-VERBOSE="yes"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/couchdb.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/couchdb.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -68,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5984/_utils/${CL} \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}:5984/_utils/${CL}"
diff --git a/ct/apt-cacher-ng.sh b/ct/apt-cacher-ng.sh
index f363b0e3772..18ee4f26dc4 100644
--- a/ct/apt-cacher-ng.sh
+++ b/ct/apt-cacher-ng.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://wiki.debian.org/AptCacherNg
-function header_info {
-clear
-cat <<"EOF"
- ___ __ ______ __ _ ________
- / | ____ / /_ / ____/___ ______/ /_ ___ _____ / | / / ____/
- / /| | / __ \/ __/__/ / / __ `/ ___/ __ \/ _ \/ ___/__/ |/ / / __
- / ___ |/ /_/ / /_/__/ /___/ /_/ / /__/ / / / __/ / /__/ /| / /_/ /
-/_/ |_/ .___/\__/ \____/\__,_/\___/_/ /_/\___/_/ /_/ |_/\____/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Apt-Cacher-NG"
-var_disk="2"
+TAGS="caching"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} maintenance page should be reachable by going to the following URL.
- ${BL}http://${IP}:3142/acng-report.html${CL} \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}:3142/acng-report.html{CL}"
diff --git a/ct/archivebox.sh b/ct/archivebox.sh
index 7569b9dcc55..81063ba8991 100644
--- a/ct/archivebox.sh
+++ b/ct/archivebox.sh
@@ -2,77 +2,52 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://archivebox.io/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ _ ____
- / | __________/ /_ (_) _____ / __ )____ _ __
- / /| | / ___/ ___/ __ \/ / | / / _ \/ __ / __ \| |/_/
- / ___ |/ / / /__/ / / / /| |/ / __/ /_/ / /_/ /> <
-/_/ |_/_/ \___/_/ /_/_/ |___/\___/_____/\____/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="ArchiveBox"
-var_disk="8"
+TAGS="archive;bookmark"
var_cpu="2"
var_ram="1024"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/archivebox ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP}"
-systemctl stop archivebox
-msg_ok "Stopped ${APP}"
-
-msg_info "Updating ${APP}"
-cd /opt/archivebox/data
-pip install --upgrade --ignore-installed archivebox
-sudo -u archivebox archivebox init
-msg_ok "Updated ${APP}"
-
-msg_info "Starting ${APP}"
-systemctl start archivebox
-msg_ok "Started ${APP}"
-
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/archivebox ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop archivebox
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Updating ${APP}"
+ cd /opt/archivebox/data
+ pip install --upgrade --ignore-installed archivebox
+ sudo -u archivebox archivebox init
+ msg_ok "Updated ${APP}"
+
+ msg_info "Starting ${APP}"
+ systemctl start archivebox
+ msg_ok "Started ${APP}"
+
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -80,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8000/admin/login${CL} \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}:8080/admin/login${CL}"
\ No newline at end of file
diff --git a/ct/aria2.sh b/ct/aria2.sh
index 8393b4ea385..1bb5b5d9281 100644
--- a/ct/aria2.sh
+++ b/ct/aria2.sh
@@ -2,65 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://aria2.github.io/
-function header_info {
-clear
-cat <<"EOF"
- ___ _ ___
- / | _____(_)___ |__ \
- / /| | / ___/ / __ `/_/ /
- / ___ |/ / / / /_/ / __/
-/_/ |_/_/ /_/\__,_/____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Aria2"
-var_disk="8"
+TAGS="download-utility"
var_cpu="2"
var_ram="1024"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -68,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:6880${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 "${TAB}${GATEWAY}${BGN}http://${IP}:6880${CL}"
diff --git a/ct/audiobookshelf.sh b/ct/audiobookshelf.sh
index 8edc13bf72d..9c63c1f7c3b 100644
--- a/ct/audiobookshelf.sh
+++ b/ct/audiobookshelf.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.audiobookshelf.org/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ __ __ ______
- ____ ___ ______/ (_)___ / /_ ____ ____ / /_______/ /_ ___ / / __/
- / __ `/ / / / __ / / __ \/ __ \/ __ \/ __ \/ //_/ ___/ __ \/ _ \/ / /_
-/ /_/ / /_/ / /_/ / / /_/ / /_/ / /_/ / /_/ / ,< (__ ) / / / __/ / __/
-\__,_/\__,_/\__,_/_/\____/_.___/\____/\____/_/|_/____/_/ /_/\___/_/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="audiobookshelf"
-var_disk="4"
+TAGS="podcast;audiobook"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-echo "This application receives updates through the APT package manager."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ echo "This application receives updates through the APT package manager."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:13378${CL} \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}:13378${CL}"
diff --git a/ct/autobrr.sh b/ct/autobrr.sh
index d4d98a11764..b3bef31b278 100644
--- a/ct/autobrr.sh
+++ b/ct/autobrr.sh
@@ -2,77 +2,52 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://autobrr.com/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ __
- / | __ __/ /_____ / /_ __________
- / /| |/ / / / __/ __ \/ __ \/ ___/ ___/
- / ___ / /_/ / /_/ /_/ / /_/ / / / /
-/_/ |_\__,_/\__/\____/_.___/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Autobrr"
-var_disk="8"
+TAGS="*arr;"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /root/.config/autobrr/config.toml ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP} LXC"
-systemctl stop autobrr.service
-msg_ok "Stopped ${APP} LXC"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /root/.config/autobrr/config.toml ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP} LXC"
+ systemctl stop autobrr.service
+ msg_ok "Stopped ${APP} LXC"
-msg_info "Updating ${APP} LXC"
-rm -rf /usr/local/bin/*
-wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)
-tar -C /usr/local/bin -xzf autobrr*.tar.gz
-rm -rf autobrr*.tar.gz
-msg_ok "Updated ${APP} LXC"
+ msg_info "Updating ${APP} LXC"
+ rm -rf /usr/local/bin/*
+ wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)
+ tar -C /usr/local/bin -xzf autobrr*.tar.gz
+ rm -rf autobrr*.tar.gz
+ msg_ok "Updated ${APP} LXC"
-msg_info "Starting ${APP} LXC"
-systemctl start autobrr.service
-msg_ok "Started ${APP} LXC"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ${APP} LXC"
+ systemctl start autobrr.service
+ msg_ok "Started ${APP} LXC"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -80,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:7474${CL} \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}:7474${CL}"
\ No newline at end of file
diff --git a/ct/bazarr.sh b/ct/bazarr.sh
index f6118d9920b..bbbb4ed95ca 100755
--- a/ct/bazarr.sh
+++ b/ct/bazarr.sh
@@ -2,65 +2,37 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.bazarr.media/
-function header_info {
-clear
-cat <<"EOF"
- ____
- / __ )____ _____ ____ ___________
- / __ / __ `/_ / / __ `/ ___/ ___/
- / /_/ / /_/ / / /_/ /_/ / / / /
-/_____/\__,_/ /___/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Bazarr"
-var_disk="4"
+TAGS="*arr"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var/lib/bazarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/bazarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
exit
}
@@ -69,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:6767${CL} \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}:6767${CL}"
\ No newline at end of file
diff --git a/ct/blocky.sh b/ct/blocky.sh
index 3bd6ed7b01a..27548c893bd 100644
--- a/ct/blocky.sh
+++ b/ct/blocky.sh
@@ -2,66 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://0xerr0r.github.io/blocky/latest/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __
- / __ )/ /___ _____/ /____ __
- / __ / / __ \/ ___/ //_/ / / /
- / /_/ / / /_/ / /__/ ,< / /_/ /
-/_____/_/\____/\___/_/|_|\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Blocky"
-var_disk="2"
+TAGS="adblock"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,3 +41,6 @@ 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}:4000${CL}"
\ No newline at end of file
diff --git a/ct/bookstack.sh b/ct/bookstack.sh
index 09e623a77e2..bc76c6d4555 100644
--- a/ct/bookstack.sh
+++ b/ct/bookstack.sh
@@ -2,98 +2,73 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/BookStackApp/BookStack
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __ __
- / __ )____ ____ / /_______/ /_____ ______/ /__
- / __ / __ \/ __ \/ //_/ ___/ __/ __ `/ ___/ //_/
- / /_/ / /_/ / /_/ / ,< (__ ) /_/ /_/ / /__/ ,<
-/_____/\____/\____/_/|_/____/\__/\__,_/\___/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Bookstack"
-var_disk="4"
+TAGS="organizer"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/bookstack ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/BookStackApp/BookStack/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
- msg_info "Stopping Apache2"
- systemctl stop apache2
- msg_ok "Services Stopped"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/bookstack ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/BookStackApp/BookStack/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
+ msg_info "Stopping Apache2"
+ systemctl stop apache2
+ msg_ok "Services Stopped"
- msg_info "Updating ${APP} to ${RELEASE}"
- cp /opt/bookstack/.env /opt/.env
- wget -q "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip"
- unzip -q v${RELEASE}.zip
- mv BookStack-${RELEASE} /opt/bookstack
- mv /opt/.env /opt/bookstack/.env
- cd /opt/bookstack
- COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
- php artisan key:generate --force &>/dev/null
- php artisan migrate --force &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cp /opt/bookstack/.env /opt/.env
+ wget -q "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q v${RELEASE}.zip
+ mv BookStack-${RELEASE} /opt/bookstack
+ mv /opt/.env /opt/bookstack/.env
+ cd /opt/bookstack
+ COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
+ php artisan key:generate --force &>/dev/null
+ php artisan migrate --force &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP}"
- msg_info "Starting Apache2"
- systemctl start apache2
- msg_ok "Started Apache2"
+ msg_info "Starting Apache2"
+ systemctl start apache2
+ msg_ok "Started Apache2"
- msg_info "Cleaning Up"
- rm -rf v${RELEASE}.zip
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Cleaning Up"
+ rm -rf v${RELEASE}.zip
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}${CL} \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}"
diff --git a/ct/bunkerweb.sh b/ct/bunkerweb.sh
index 2a9c2b2869c..6ed24e22b8d 100644
--- a/ct/bunkerweb.sh
+++ b/ct/bunkerweb.sh
@@ -2,64 +2,35 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.bunkerweb.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ _ __ __
- / __ )__ ______ / /_____ ____| | / /__ / /_
- / __ / / / / __ \/ //_/ _ \/ ___/ | /| / / _ \/ __ \
- / /_/ / /_/ / / / / ,< / __/ / | |/ |/ / __/ /_/ /
-/_____/\__,_/_/ /_/_/|_|\___/_/ |__/|__/\___/_.___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="BunkerWeb"
-var_disk="4"
+TAGS="webserver"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-
-RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/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
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/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
msg_info "Updating ${APP} to ${RELEASE}"
cat </etc/apt/preferences.d/bunkerweb
@@ -84,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} setup should be reachable by going to the following URL.
- ${BL}http://${IP}/setup${CL} \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}/setup${CL}"
\ No newline at end of file
diff --git a/ct/caddy.sh b/ct/caddy.sh
index 0945c298cc6..72869d45289 100644
--- a/ct/caddy.sh
+++ b/ct/caddy.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://caddyserver.com/
-function header_info {
-clear
-cat <<"EOF"
- ______ __ __
- / ____/___ _____/ /___/ /_ __
- / / / __ `/ __ / __ / / / /
-/ /___/ /_/ / /_/ / /_/ / /_/ /
-\____/\__,_/\__,_/\__,_/\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Caddy"
-var_disk="2"
+TAGS="webserver"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/caddy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/caddy ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,3 +44,6 @@ 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}:80${CL}"
\ No newline at end of file
diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh
index 4907781530b..2a033ff7e92 100644
--- a/ct/calibre-web.sh
+++ b/ct/calibre-web.sh
@@ -1,58 +1,29 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: remz1337
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: remz1337
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/janeczku/calibre-web
-function header_info {
-clear
-cat <<"EOF"
- ______ ___ __ _ __ __
- / ____/___ _/ (_) /_ ________ | | / /__ / /_
- / / / __ `/ / / __ \/ ___/ _ \___| | /| / / _ \/ __ \
-/ /___/ /_/ / / / /_/ / / / __/___/ |/ |/ / __/ /_/ /
-\____/\__,_/_/_/_.___/_/ \___/ |__/|__/\___/_.___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Calibre-Web"
-var_disk="4"
+TAGS="eBook"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -70,40 +41,40 @@ function update_script() {
rm -rf kepubify-linux-64bit
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit
chmod +x kepubify-linux-64bit
- menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \
- "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \
- "3" "Enables displaying of additional author infos on the authors page" OFF \
- "4" "Enables login via LDAP server" OFF \
- "5" "Enables login via google or github oauth" OFF \
- "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \
- "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \
- "8" "Enables syncing with your kobo reader" OFF )
+ menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF
+ "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF
+ "3" "Enables displaying of additional author infos on the authors page" OFF
+ "4" "Enables login via LDAP server" OFF
+ "5" "Enables login via google or github oauth" OFF
+ "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF
+ "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF
+ "8" "Enables syncing with your kobo reader" OFF)
if [ -f "/opt/calibre-web/options.txt" ]; then
cps_options="$(cat /opt/calibre-web/options.txt)"
- IFS=',' read -ra ADDR <<< "$cps_options"
+ IFS=',' read -ra ADDR <<<"$cps_options"
for i in "${ADDR[@]}"; do
- if [ $i == "gdrive" ]; then
- line=0
- elif [ $i == "gmail" ]; then
- line=1
- elif [ $i == "goodreads" ]; then
- line=2
- elif [ $i == "ldap" ]; then
- line=3
- elif [ $i == "oauth" ]; then
- line=4
- elif [ $i == "metadata" ]; then
- line=5
- elif [ $i == "comics" ]; then
- line=6
- elif [ $i == "kobo" ]; then
- line=7
- fi
- array_index=$(( 3*line + 2 ))
+ if [ $i == "gdrive" ]; then
+ line=0
+ elif [ $i == "gmail" ]; then
+ line=1
+ elif [ $i == "goodreads" ]; then
+ line=2
+ elif [ $i == "ldap" ]; then
+ line=3
+ elif [ $i == "oauth" ]; then
+ line=4
+ elif [ $i == "metadata" ]; then
+ line=5
+ elif [ $i == "comics" ]; then
+ line=6
+ elif [ $i == "kobo" ]; then
+ line=7
+ fi
+ array_index=$((3 * line + 2))
menu_array[$array_index]=ON
done
fi
- if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
+ if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
CHOICES=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CALIBRE-WEB OPTIONS" --separate-output --checklist "Choose Additional Options" 15 125 8 "${menu_array[@]}" 3>&1 1>&2 2>&3)
spinner &
SPINNER_PID=$!
@@ -112,29 +83,29 @@ function update_script() {
for CHOICE in $CHOICES; do
case "$CHOICE" in
"1")
- options+=( gdrive )
+ options+=(gdrive)
;;
"2")
- options+=( gmail )
+ options+=(gmail)
;;
"3")
- options+=( goodreads )
+ options+=(goodreads)
;;
"4")
- options+=( ldap )
+ options+=(ldap)
apt-get install -qqy libldap2-dev libsasl2-dev
;;
"5")
- options+=( oauth )
+ options+=(oauth)
;;
"6")
- options+=( metadata )
+ options+=(metadata)
;;
"7")
- options+=( comics )
+ options+=(comics)
;;
"8")
- options+=( kobo )
+ options+=(kobo)
;;
*)
echo "Unsupported item $CHOICE!" >&2
@@ -144,14 +115,17 @@ function update_script() {
done
fi
if [ ${#options[@]} -gt 0 ]; then
- cps_options=$(IFS=, ; echo "${options[*]}")
- echo $cps_options > /opt/calibre-web/options.txt
+ cps_options=$(
+ IFS=,
+ echo "${options[*]}"
+ )
+ echo $cps_options >/opt/calibre-web/options.txt
pip install --upgrade calibreweb[$cps_options] &>/dev/null
else
rm -rf /opt/calibre-web/options.txt
pip install --upgrade calibreweb &>/dev/null
fi
-
+
msg_info "Starting ${APP}"
systemctl start cps
msg_ok "Started ${APP}"
@@ -164,5 +138,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8083${CL} \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}:8083${CL}"
\ No newline at end of file
diff --git a/ct/casaos.sh b/ct/casaos.sh
index ebd0050c39f..118de1e56ed 100644
--- a/ct/casaos.sh
+++ b/ct/casaos.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://casaos.io/
-function header_info {
-clear
-cat <<"EOF"
- ______ ____ _____
- / ____/___ __________ _/ __ \/ ___/
- / / / __ `/ ___/ __ `/ / / /\__ \
-/ /___/ /_/ (__ ) /_/ / /_/ /___/ /
-\____/\__,_/____/\__,_/\____//____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="CasaOS"
-var_disk="8"
+TAGS="cloud"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP} ${CL} \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}"
\ No newline at end of file
diff --git a/ct/changedetection.sh b/ct/changedetection.sh
index 817862c1997..62c060f74f5 100644
--- a/ct/changedetection.sh
+++ b/ct/changedetection.sh
@@ -2,82 +2,57 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://changedetection.io/
-function header_info {
-clear
-cat <<"EOF"
- ________ ____ __ __ _
- / ____/ /_ ____ _____ ____ ____ / __ \___ / /____ _____/ /_(_)___ ____
- / / / __ \/ __ `/ __ \/ __ `/ _ \ / / / / _ \/ __/ _ \/ ___/ __/ / __ \/ __ \
-/ /___/ / / / /_/ / / / / /_/ / __/ / /_/ / __/ /_/ __/ /__/ /_/ / /_/ / / / /
-\____/_/ /_/\__,_/_/ /_/\__, /\___/ /_____/\___/\__/\___/\___/\__/_/\____/_/ /_/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Change Detection"
-var_disk="8"
+TAGS="monitoring;crawler"
var_cpu="2"
var_ram="1024"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/changedetection.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
- apt-get update
- apt-get install -y libjpeg-dev
-fi
-pip3 install changedetection.io --upgrade &>/dev/null
-pip3 install playwright --upgrade &>/dev/null
-if [[ -f /etc/systemd/system/browserless.service ]]; then
- git -C /opt/browserless/ fetch --all &>/dev/null
- git -C /opt/browserless/ reset --hard origin/main &>/dev/null
- npm update --prefix /opt/browserless &>/dev/null
- npm run build --prefix /opt/browserless &>/dev/null
- npm run build:function --prefix /opt/browserless &>/dev/null
- npm prune production --prefix /opt/browserless &>/dev/null
- systemctl restart browserless
-else
- msg_error "No Browserless Installation Found!"
-fi
-systemctl restart changedetection
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/changedetection.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
+ apt-get update
+ apt-get install -y libjpeg-dev
+ fi
+ pip3 install changedetection.io --upgrade &>/dev/null
+ pip3 install playwright --upgrade &>/dev/null
+ if [[ -f /etc/systemd/system/browserless.service ]]; then
+ git -C /opt/browserless/ fetch --all &>/dev/null
+ git -C /opt/browserless/ reset --hard origin/main &>/dev/null
+ npm update --prefix /opt/browserless &>/dev/null
+ npm run build --prefix /opt/browserless &>/dev/null
+ npm run build:function --prefix /opt/browserless &>/dev/null
+ npm prune production --prefix /opt/browserless &>/dev/null
+ systemctl restart browserless
+ else
+ msg_error "No Browserless Installation Found!"
+ fi
+ systemctl restart changedetection
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -85,5 +60,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \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}:5000${CL}"
\ No newline at end of file
diff --git a/ct/channels.sh b/ct/channels.sh
index dad211a5658..223a626f753 100644
--- a/ct/channels.sh
+++ b/ct/channels.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://getchannels.com/dvr-server/
-function header_info {
-clear
-cat <<"EOF"
- ________ __ ____ _ ______ _____
- / ____/ /_ ____ _____ ____ ___ / /____ / __ \ | / / __ \ / ___/___ ______ _____ _____
- / / / __ \/ __ `/ __ \/ __ \/ _ \/ / ___/ / / / / | / / /_/ / \__ \/ _ \/ ___/ | / / _ \/ ___/
-/ /___/ / / / /_/ / / / / / / / __/ (__ ) / /_/ /| |/ / _, _/ ___/ / __/ / | |/ / __/ /
-\____/_/ /_/\__,_/_/ /_/_/ /_/\___/_/____/ /_____/ |___/_/ |_| /____/\___/_/ |___/\___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Channels"
-var_disk="8"
+TAGS="dvr"
var_cpu="2"
var_ram="1024"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/channels-dvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/channels-dvr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8089 ${CL} \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}:8089${CL}"
\ No newline at end of file
diff --git a/ct/cloudflared.sh b/ct/cloudflared.sh
index cc6d1e8214f..e4b8a3a4b12 100644
--- a/ct/cloudflared.sh
+++ b/ct/cloudflared.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.cloudflare.com/
-function header_info {
-clear
-cat <<"EOF"
- ________ ________ __
- / ____/ /___ __ ______/ / __/ /___ _________ ____/ /
- / / / / __ \/ / / / __ / /_/ / __ `/ ___/ _ \/ __ /
-/ /___/ / /_/ / /_/ / /_/ / __/ / /_/ / / / __/ /_/ /
-\____/_/\____/\__,_/\__,_/_/ /_/\__,_/_/ \___/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Cloudflared"
-var_disk="2"
+TAGS="network;cloudflare"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,3 +44,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/cockpit.sh b/ct/cockpit.sh
index 213817e7a87..4126c39c27b 100644
--- a/ct/cockpit.sh
+++ b/ct/cockpit.sh
@@ -1,118 +1,92 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: havardthom
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: havardthom
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://cockpit-project.org/
-function header_info {
-clear
-cat <<"EOF"
- ______ __ _ __
- / ____/___ _____/ /______ (_) /_
- / / / __ \/ ___/ //_/ __ \/ / __/
-/ /___/ /_/ / /__/ ,< / /_/ / / /_
-\____/\____/\___/_/|_/ .___/_/\__/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Cockpit"
-var_disk="4"
+TAGS="monitoring;network"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/cockpit ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
- "1" "Update LXC" ON \
- "2" "Install cockpit-file-sharing" OFF \
- "3" "Install cockpit-identities" OFF \
- "4" "Install cockpit-navigator" OFF \
- 3>&1 1>&2 2>&3)
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/cockpit ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
+ "1" "Update LXC" ON \
+ "2" "Install cockpit-file-sharing" OFF \
+ "3" "Install cockpit-identities" OFF \
+ "4" "Install cockpit-navigator" OFF \
+ 3>&1 1>&2 2>&3)
-if [ "$UPD" == "1" ]; then
- msg_info "Updating ${APP} LXC"
- apt-get update &>/dev/null
- apt-get -y upgrade &>/dev/null
- msg_ok "Updated ${APP} LXC"
- exit
-fi
-if [ "$UPD" == "2" ]; then
- msg_info "Installing dependencies (patience)"
- apt-get install -y attr &>/dev/null
- apt-get install -y nfs-kernel-server &>/dev/null
- apt-get install -y samba &>/dev/null
- apt-get install -y samba-common-bin &>/dev/null
- apt-get install -y winbind &>/dev/null
- apt-get install -y gawk &>/dev/null
- msg_ok "Installed dependencies"
- msg_info "Installing Cockpit file sharing"
- wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
- dpkg -i cockpit-file-sharing_*focal_all.deb &>/dev/null
- rm cockpit-file-sharing_*focal_all.deb
- msg_ok "Installed Cockpit file sharing"
- exit
-fi
-if [ "$UPD" == "3" ]; then
- msg_info "Installing dependencies (patience)"
- apt-get install -y psmisc &>/dev/null
- apt-get install -y samba &>/dev/null
- apt-get install -y samba-common-bin &>/dev/null
- msg_ok "Installed dependencies"
- msg_info "Installing Cockpit identities"
- wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
- dpkg -i cockpit-identities_*focal_all.deb &>/dev/null
- rm cockpit-identities_*focal_all.deb
- msg_ok "Installed Cockpit identities"
- exit
-fi
-if [ "$UPD" == "4" ]; then
- msg_info "Installing dependencies"
- apt-get install -y rsync &>/dev/null
- apt-get install -y zip &>/dev/null
- msg_ok "Installed dependencies"
- msg_info "Installing Cockpit navigator"
- wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
- dpkg -i cockpit-navigator_*focal_all.deb &>/dev/null
- rm cockpit-navigator_*focal_all.deb
- msg_ok "Installed Cockpit navigator"
- exit
-fi
+ if [ "$UPD" == "1" ]; then
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
+ fi
+ if [ "$UPD" == "2" ]; then
+ msg_info "Installing dependencies (patience)"
+ apt-get install -y attr &>/dev/null
+ apt-get install -y nfs-kernel-server &>/dev/null
+ apt-get install -y samba &>/dev/null
+ apt-get install -y samba-common-bin &>/dev/null
+ apt-get install -y winbind &>/dev/null
+ apt-get install -y gawk &>/dev/null
+ msg_ok "Installed dependencies"
+ msg_info "Installing Cockpit file sharing"
+ wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
+ dpkg -i cockpit-file-sharing_*focal_all.deb &>/dev/null
+ rm cockpit-file-sharing_*focal_all.deb
+ msg_ok "Installed Cockpit file sharing"
+ exit
+ fi
+ if [ "$UPD" == "3" ]; then
+ msg_info "Installing dependencies (patience)"
+ apt-get install -y psmisc &>/dev/null
+ apt-get install -y samba &>/dev/null
+ apt-get install -y samba-common-bin &>/dev/null
+ msg_ok "Installed dependencies"
+ msg_info "Installing Cockpit identities"
+ wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
+ dpkg -i cockpit-identities_*focal_all.deb &>/dev/null
+ rm cockpit-identities_*focal_all.deb
+ msg_ok "Installed Cockpit identities"
+ exit
+ fi
+ if [ "$UPD" == "4" ]; then
+ msg_info "Installing dependencies"
+ apt-get install -y rsync &>/dev/null
+ apt-get install -y zip &>/dev/null
+ msg_ok "Installed dependencies"
+ msg_info "Installing Cockpit navigator"
+ wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
+ dpkg -i cockpit-navigator_*focal_all.deb &>/dev/null
+ rm cockpit-navigator_*focal_all.deb
+ msg_ok "Installed Cockpit navigator"
+ exit
+ fi
}
start
@@ -120,5 +94,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9090${CL} \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}:9090${CL}"
\ No newline at end of file
diff --git a/ct/commafeed.sh b/ct/commafeed.sh
index 0f47d12c67a..b3f72d87741 100644
--- a/ct/commafeed.sh
+++ b/ct/commafeed.sh
@@ -2,83 +2,58 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.commafeed.com/#/welcome
-function header_info {
-clear
-cat <<"EOF"
- ______ ______ __
- / ____/___ ____ ___ ____ ___ ____ _/ ____/__ ___ ____/ /
- / / / __ \/ __ `__ \/ __ `__ \/ __ `/ /_ / _ \/ _ \/ __ /
-/ /___/ /_/ / / / / / / / / / / / /_/ / __/ / __/ __/ /_/ /
-\____/\____/_/ /_/ /_/_/ /_/ /_/\__,_/_/ \___/\___/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="CommaFeed"
-var_disk="4"
+TAGS="rss-reader"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/commafeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop commafeed
- msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/commafeed ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop commafeed
+ msg_ok "Stopped ${APP}"
- msg_info "Updating ${APP} to ${RELEASE}"
- wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
- unzip -q commafeed-${RELEASE}-h2-jvm.zip
- rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/
- rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
+ unzip -q commafeed-${RELEASE}-h2-jvm.zip
+ rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/
+ rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start commafeed
- msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Starting ${APP}"
+ systemctl start commafeed
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -86,5 +61,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8082${CL} \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}:8082${CL}"
diff --git a/ct/cronicle.sh b/ct/cronicle.sh
index 0915c4f9859..99abc78b035 100644
--- a/ct/cronicle.sh
+++ b/ct/cronicle.sh
@@ -2,125 +2,100 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://cronicle.net/
-function header_info {
-clear
-cat <<"EOF"
- ______ _ __
- / ____/________ ____ (_)____/ /__
- / / / ___/ __ \/ __ \/ / ___/ / _ \
-/ /___/ / / /_/ / / / / / /__/ / __/
-\____/_/ \____/_/ /_/_/\___/_/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Cronicle"
-var_disk="2"
+TAGS="task-scheduler"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
- "1" "Update ${APP}" ON \
- "2" "Install ${APP} Worker" OFF \
- 3>&1 1>&2 2>&3)
+ header_info
+ check_container_storage
+ check_container_resources
+ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
+ "1" "Update ${APP}" ON \
+ "2" "Install ${APP} Worker" OFF \
+ 3>&1 1>&2 2>&3)
-if [ "$UPD" == "1" ]; then
-if [[ ! -d /opt/cronicle ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
- if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
- if ! command -v npm >/dev/null 2>&1; then
- echo "Installing NPM..."
- apt-get install -y npm >/dev/null 2>&1
- echo "Installed NPM..."
+ if [ "$UPD" == "1" ]; then
+ if [[ ! -d /opt/cronicle ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
fi
- fi
-msg_info "Updating ${APP}"
-/opt/cronicle/bin/control.sh upgrade &>/dev/null
-msg_ok "Updated ${APP}"
-exit
-fi
-if [ "$UPD" == "2" ]; then
- if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
- if ! command -v npm >/dev/null 2>&1; then
- echo "Installing NPM..."
- apt-get install -y npm >/dev/null 2>&1
- echo "Installed NPM..."
+ if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
+ if ! command -v npm >/dev/null 2>&1; then
+ echo "Installing NPM..."
+ apt-get install -y npm >/dev/null 2>&1
+ echo "Installed NPM..."
+ fi
fi
+ msg_info "Updating ${APP}"
+ /opt/cronicle/bin/control.sh upgrade &>/dev/null
+ msg_ok "Updated ${APP}"
+ exit
fi
-LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
-IP=$(hostname -I | awk '{print $1}')
-msg_info "Installing Dependencies"
+ if [ "$UPD" == "2" ]; then
+ if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
+ if ! command -v npm >/dev/null 2>&1; then
+ echo "Installing NPM..."
+ apt-get install -y npm >/dev/null 2>&1
+ echo "Installed NPM..."
+ fi
+ fi
+ LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+ IP=$(hostname -I | awk '{print $1}')
+ msg_info "Installing Dependencies"
-apt-get install -y git &>/dev/null
-apt-get install -y make &>/dev/null
-apt-get install -y g++ &>/dev/null
-apt-get install -y gcc &>/dev/null
-apt-get install -y ca-certificates &>/dev/null
-apt-get install -y gnupg &>/dev/null
-msg_ok "Installed Dependencies"
+ apt-get install -y git &>/dev/null
+ apt-get install -y make &>/dev/null
+ apt-get install -y g++ &>/dev/null
+ apt-get install -y gcc &>/dev/null
+ apt-get install -y ca-certificates &>/dev/null
+ apt-get install -y gnupg &>/dev/null
+ msg_ok "Installed Dependencies"
-msg_info "Setting up Node.js Repository"
-mkdir -p /etc/apt/keyrings
-curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
-echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
-msg_ok "Set up Node.js Repository"
+ msg_info "Setting up Node.js Repository"
+ mkdir -p /etc/apt/keyrings
+ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
+ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
+ msg_ok "Set up Node.js Repository"
-msg_info "Installing Node.js"
-apt-get update &>/dev/null
-apt-get install -y nodejs &>/dev/null
-msg_ok "Installed Node.js"
+ msg_info "Installing Node.js"
+ apt-get update &>/dev/null
+ apt-get install -y nodejs &>/dev/null
+ msg_ok "Installed Node.js"
-msg_info "Installing Cronicle Worker"
-mkdir -p /opt/cronicle
-cd /opt/cronicle
-tar zxvf <(curl -fsSL https://github.com/jhuckaby/Cronicle/archive/${LATEST}.tar.gz) --strip-components 1 &>/dev/null
-npm install &>/dev/null
-node bin/build.js dist &>/dev/null
-sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
-/opt/cronicle/bin/control.sh start &>/dev/null
-cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled &>/dev/null
-chmod 775 /etc/init.d/cronicled
-update-rc.d cronicled defaults &>/dev/null
-msg_ok "Installed Cronicle Worker"
-echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
-exit
-fi
+ msg_info "Installing Cronicle Worker"
+ mkdir -p /opt/cronicle
+ cd /opt/cronicle
+ tar zxvf <(curl -fsSL https://github.com/jhuckaby/Cronicle/archive/${LATEST}.tar.gz) --strip-components 1 &>/dev/null
+ npm install &>/dev/null
+ node bin/build.js dist &>/dev/null
+ sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
+ /opt/cronicle/bin/control.sh start &>/dev/null
+ cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled &>/dev/null
+ chmod 775 /etc/init.d/cronicled
+ update-rc.d cronicled defaults &>/dev/null
+ msg_ok "Installed Cronicle Worker"
+ echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
+ exit
+ fi
}
start
@@ -128,5 +103,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Primary should be reachable by going to the following URL.
- ${BL}http://${IP}:3012${CL} \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}:3012${CL}"
\ No newline at end of file
diff --git a/ct/daemonsync.sh b/ct/daemonsync.sh
index 07183226001..a58a187b7df 100644
--- a/ct/daemonsync.sh
+++ b/ct/daemonsync.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://daemonsync.me/
-function header_info {
-clear
-cat <<"EOF"
- ____ _____
- / __ \____ ____ ____ ___ ____ ____ / ___/__ ______ _____
- / / / / __ / _ \/ __ __ \/ __ \/ __ \ \__ \/ / / / __ \/ ___/
- / /_/ / /_/ / __/ / / / / / /_/ / / / / ___/ / /_/ / / / / /__
-/_____/\__,_/\___/_/ /_/ /_/\____/_/ /_/ /____/\__, /_/ /_/\___/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Daemon Sync"
-var_disk="8"
+TAGS="sync"
var_cpu="1"
var_ram="512"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8084${CL} \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}:8084${CL}"
\ No newline at end of file
diff --git a/ct/dashy.sh b/ct/dashy.sh
index 6bcacc35ff6..18404b6990b 100644
--- a/ct/dashy.sh
+++ b/ct/dashy.sh
@@ -2,104 +2,79 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://dashy.to/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \____ ______/ /_ __ __
- / / / / __ / ___/ __ \/ / / /
- / /_/ / /_/ (__ ) / / / /_/ /
-/_____/\__,_/____/_/ /_/\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Dashy"
-var_disk="6"
+TAGS="dashboard"
var_cpu="2"
var_ram="2048"
+var_disk="6"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/dashy/public/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
-RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop dashy
- msg_ok "Stopped ${APP}"
+ RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop dashy
+ msg_ok "Stopped ${APP}"
- msg_info "Backing up conf.yml"
- cd ~
- if [[ -f /opt/dashy/public/conf.yml ]]; then
- cp -R /opt/dashy/public/conf.yml conf.yml
- else
- cp -R /opt/dashy/user-data/conf.yml conf.yml
- fi
- msg_ok "Backed up conf.yml"
+ msg_info "Backing up conf.yml"
+ cd ~
+ if [[ -f /opt/dashy/public/conf.yml ]]; then
+ cp -R /opt/dashy/public/conf.yml conf.yml
+ else
+ cp -R /opt/dashy/user-data/conf.yml conf.yml
+ fi
+ msg_ok "Backed up conf.yml"
- msg_info "Updating ${APP} to ${RELEASE}"
- rm -rf /opt/dashy
- mkdir -p /opt/dashy
- wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
- cd /opt/dashy
- npm install
- npm run build
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ rm -rf /opt/dashy
+ mkdir -p /opt/dashy
+ wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
+ cd /opt/dashy
+ npm install
+ npm run build
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Restoring conf.yml"
- cd ~
- cp -R conf.yml /opt/dashy/user-data
- msg_ok "Restored conf.yml"
+ msg_info "Restoring conf.yml"
+ cd ~
+ cp -R conf.yml /opt/dashy/user-data
+ msg_ok "Restored conf.yml"
- msg_info "Cleaning"
- rm -rf conf.yml /opt/dashy/public/conf.yml
- msg_ok "Cleaned"
+ msg_info "Cleaning"
+ rm -rf conf.yml /opt/dashy/public/conf.yml
+ msg_ok "Cleaned"
- msg_info "Starting Dashy"
- systemctl start dashy
- msg_ok "Started Dashy"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Starting Dashy"
+ systemctl start dashy
+ msg_ok "Started Dashy"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -107,5 +82,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:4000${CL} \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}:4000${CL}"
\ No newline at end of file
diff --git a/ct/debian.sh b/ct/debian.sh
index 6120d5ab5f0..a914f673011 100644
--- a/ct/debian.sh
+++ b/ct/debian.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.debian.org/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ _
- / __ \___ / /_ (_)___ ____
- / / / / _ \/ __ \/ / __ `/ __ \
- / /_/ / __/ /_/ / / /_/ / / / /
-/_____/\___/_.___/_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Debian"
-var_disk="2"
+TAGS="os"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,3 +44,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/deconz.sh b/ct/deconz.sh
index c994a8abf34..27c6bccbb4c 100644
--- a/ct/deconz.sh
+++ b/ct/deconz.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.phoscon.de/en/conbee2/software#deconz
-function header_info {
-clear
-cat <<"EOF"
- __ __________ _ _______
- ____/ /__ / ____/ __ \/ | / /__ /
- / __ / _ \/ / / / / / |/ / / /
-/ /_/ / __/ /___/ /_/ / /| / / /__
-\__,_/\___/\____/\____/_/ |_/ /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="deCONZ"
-var_disk="4"
+TAGS="zigbee"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/deconz.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/deconz.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}${CL}\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}"
\ No newline at end of file
diff --git a/ct/deluge.sh b/ct/deluge.sh
index 88a0ccd55fe..e8971ed382f 100644
--- a/ct/deluge.sh
+++ b/ct/deluge.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.deluge-torrent.org/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \___ / /_ ______ ____
- / / / / _ \/ / / / / __ `/ _ \
- / /_/ / __/ / /_/ / /_/ / __/
-/_____/\___/_/\__,_/\__, /\___/
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Deluge"
-var_disk="4"
+TAGS="torrent"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/deluged.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-pip3 install deluge[all] --upgrade
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/deluged.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ pip3 install deluge[all] --upgrade
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8112${CL} \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}:8112${CL}"
\ No newline at end of file
diff --git a/ct/docker.sh b/ct/docker.sh
index b45ba06213e..7b15a87bcff 100644
--- a/ct/docker.sh
+++ b/ct/docker.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.docker.com/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \____ _____/ /_ __ _____
- / / / / __ \/ ___/ //_/ _ \/ ___/
- / /_/ / /_/ / /__/ ,< / __/ /
-/_____/\____/\___/_/|_|\___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Docker"
-var_disk="4"
+TAGS="docker"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
}
start
@@ -69,3 +44,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/dockge.sh b/ct/dockge.sh
index d05023c0eb1..b1d6823cd7e 100644
--- a/ct/dockge.sh
+++ b/ct/dockge.sh
@@ -2,67 +2,42 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://dockge.kuma.pet/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \____ _____/ /______ ____
- / / / / __ \/ ___/ //_/ __ `/ _ \
- / /_/ / /_/ / /__/ ,< / /_/ / __/
-/_____/\____/\___/_/|_|\__, /\___/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Dockge"
-var_disk="18"
+TAGS="docker"
var_cpu="2"
var_ram="2048"
+var_disk="18"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/dockge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-cd /opt/dockge
-docker compose pull
-docker compose up -d
-msg_ok "Updated ${APP}"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/dockge ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ cd /opt/dockge
+ docker compose pull
+ docker compose up -d
+ msg_ok "Updated ${APP}"
+ exit
}
start
@@ -70,5 +45,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5001${CL} \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}:5001${CL}"
\ No newline at end of file
diff --git a/ct/emby.sh b/ct/emby.sh
index a6c913b40e9..ce938f9220c 100644
--- a/ct/emby.sh
+++ b/ct/emby.sh
@@ -2,77 +2,52 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://emby.media/
-function header_info {
-clear
-cat <<"EOF"
- ______ __
- / ____/___ ___ / /_ __ __
- / __/ / __ __ \/ __ \/ / / /
- / /___/ / / / / / /_/ / /_/ /
-/_____/_/ /_/ /_/_.___/\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Emby"
-var_disk="8"
+TAGS="media"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="ubuntu"
var_version="22.04"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/emby-server ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
-msg_info "Stopping ${APP}"
-systemctl stop emby-server
-msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/emby-server ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+ msg_info "Stopping ${APP}"
+ systemctl stop emby-server
+ msg_ok "Stopped ${APP}"
-msg_info "Updating ${APP}"
-wget https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb &>/dev/null
-dpkg -i emby-server-deb_${LATEST}_amd64.deb &>/dev/null
-rm emby-server-deb_${LATEST}_amd64.deb
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ wget https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb &>/dev/null
+ dpkg -i emby-server-deb_${LATEST}_amd64.deb &>/dev/null
+ rm emby-server-deb_${LATEST}_amd64.deb
+ msg_ok "Updated ${APP}"
-msg_info "Starting ${APP}"
-systemctl start emby-server
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ${APP}"
+ systemctl start emby-server
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -80,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8096${CL}\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}:8086${CL}"
\ No newline at end of file
diff --git a/ct/emqx.sh b/ct/emqx.sh
index 070e38ff9c4..fe1d274f9bc 100644
--- a/ct/emqx.sh
+++ b/ct/emqx.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.emqx.com/en
-function header_info {
-clear
-cat <<"EOF"
- ________ _______ _ __
- / ____/ |/ / __ \ | |/ /
- / __/ / /|_/ / / / / | /
- / /___/ / / / /_/ / / |
-/_____/_/ /_/\___\_\/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="EMQX"
-var_disk="4"
+TAGS="mqtt"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:18083${CL} \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}:18083${CL}"
diff --git a/ct/ersatztv.sh b/ct/ersatztv.sh
index 75ff27579a2..a15129a5c10 100644
--- a/ct/ersatztv.sh
+++ b/ct/ersatztv.sh
@@ -1,85 +1,57 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-# Source: https://github.com/ErsatzTV/ErsatzTV/
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://ersatztv.org/
-
-function header_info {
-clear
-cat <<"EOF"
- ______ __ _______ __
- / ____/_____________ _/ /_____/_ __/ | / /
- / __/ / ___/ ___/ __ `/ __/_ / / / | | / /
- / /___/ / (__ ) /_/ / /_ / /_/ / | |/ /
-/_____/_/ /____/\__,_/\__/ /___/_/ |___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="ErsatzTV"
-var_disk="5"
+TAGS="iptv"
var_cpu="1"
var_ram="1024"
+var_disk="5"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/ErsatzTV ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
-msg_info "Stopping ErsatzTV"
-systemctl stop ersatzTV
-msg_ok "Stopped ErsatzTV"
+ msg_info "Stopping ErsatzTV"
+ systemctl stop ersatzTV
+ msg_ok "Stopped ErsatzTV"
-msg_info "Updating ErsatzTV"
-RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
-cp -R /opt/ErsatzTV/ ErsatzTV-backup
-rm ErsatzTV-backup/ErsatzTV
-rm -rf /opt/ErsatzTV
-wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
-mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
-cp -R ErsatzTV-backup/* /opt/ErsatzTV/
-rm -rf ErsatzTV-backup
-msg_ok "Updated ErsatzTV"
+ msg_info "Updating ErsatzTV"
+ RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
+ cp -R /opt/ErsatzTV/ ErsatzTV-backup
+ rm ErsatzTV-backup/ErsatzTV
+ rm -rf /opt/ErsatzTV
+ wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
+ mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
+ cp -R ErsatzTV-backup/* /opt/ErsatzTV/
+ rm -rf ErsatzTV-backup
+ msg_ok "Updated ErsatzTV"
-msg_info "Starting ErsatzTV"
-systemctl start ersatzTV
-msg_ok "Started ErsatzTV"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ErsatzTV"
+ systemctl start ersatzTV
+ msg_ok "Started ErsatzTV"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -87,5 +59,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8409${CL} \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}:8409${CL}"
\ No newline at end of file
diff --git a/ct/esphome.sh b/ct/esphome.sh
index ee091265225..d1a18faedb7 100644
--- a/ct/esphome.sh
+++ b/ct/esphome.sh
@@ -2,77 +2,52 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://esphome.io/
-function header_info {
-clear
-cat <<"EOF"
- ___________ ____ __ __
- / ____/ ___// __ \/ / / /___ ____ ___ ___
- / __/ \__ \/ /_/ / /_/ / __ \/ __ `__ \/ _ \
- / /___ ___/ / ____/ __ / /_/ / / / / / / __/
-/_____//____/_/ /_/ /_/\____/_/ /_/ /_/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="ESPHome"
-var_disk="4"
+TAGS="automation"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ESPHome"
-systemctl stop esphomeDashboard
-msg_ok "Stopped ESPHome"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ESPHome"
+ systemctl stop esphomeDashboard
+ msg_ok "Stopped ESPHome"
-msg_info "Updating ESPHome"
-if [[ -d /srv/esphome ]]; then
- source /srv/esphome/bin/activate &>/dev/null
-fi
-pip3 install -U esphome &>/dev/null
-msg_ok "Updated ESPHome"
+ msg_info "Updating ESPHome"
+ if [[ -d /srv/esphome ]]; then
+ source /srv/esphome/bin/activate &>/dev/null
+ fi
+ pip3 install -U esphome &>/dev/null
+ msg_ok "Updated ESPHome"
-msg_info "Starting ESPHome"
-systemctl start esphomeDashboard
-msg_ok "Started ESPHome"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ESPHome"
+ systemctl start esphomeDashboard
+ msg_ok "Started ESPHome"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -80,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:6052${CL} \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}:6052${CL}"
\ No newline at end of file
diff --git a/ct/evcc.sh b/ct/evcc.sh
index 003409e1f4a..7df1109afdb 100644
--- a/ct/evcc.sh
+++ b/ct/evcc.sh
@@ -2,65 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://evcc.io/en/
-function header_info {
-clear
-cat <<"EOF"
- ___ _ ____________
- / _ \ | / / ___/ ___/
-/ __/ |/ / /__/ /__
-\___/|___/\___/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="evcc"
-var_disk="4"
+TAGS="solar;ev;automation"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/evcc-stable.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating evcc LXC"
-apt update &>/dev/null
-apt --only-upgrade install -y evcc &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/evcc-stable.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating evcc LXC"
+ apt update &>/dev/null
+ apt --only-upgrade install -y evcc &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -68,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:7070${CL} \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}:7070${CL}"
\ No newline at end of file
diff --git a/ct/fenrus.sh b/ct/fenrus.sh
index 0138a9ce724..c5e5f03a032 100644
--- a/ct/fenrus.sh
+++ b/ct/fenrus.sh
@@ -1,89 +1,67 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: Scorpoon
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: Scorpoon
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/revenz/Fenrus
-function header_info {
-clear
-cat <<"EOF"
- ______
- / ____/__ ____ _______ _______
- / /_ / _ \/ __ \/ ___/ / / / ___/
- / __/ / __/ / / / / / /_/ (__ )
-/_/ \___/_/ /_/_/ \__,_/____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Fenrus"
-var_disk="4"
+TAGS="dashboard"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/${APP} ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
-msg_info "Updating ${APP}"
-systemctl stop ${APP}
-git clone https://github.com/revenz/Fenrus.git
-cd Fenrus || exit
-gitVersionNumber=$(git rev-parse HEAD)
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/${APP} ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
+ msg_info "Updating ${APP}"
+ systemctl stop ${APP}
+ git clone https://github.com/revenz/Fenrus.git
+ cd Fenrus || exit
+ gitVersionNumber=$(git rev-parse HEAD)
-if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- mkdir /opt/fenrus-data-backup
- cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
- if [[ ! -d /opt/fenrus-data-backup/data ]]; then msg_error "Backup of data folder failed! exiting..."; rm -r /opt/fenrus-data-backup/; exit; fi
- export DOTNET_CLI_TELEMETRY_OPTOUT=1
- dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
- cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
- echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
- rm -r /opt/fenrus-data-backup/
- msg_ok "Updated $APP"
-else
- msg_ok "No update required. ${APP} is already up to date"
-fi
-cd ..
-rm -r Fenrus/
+ if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ mkdir /opt/fenrus-data-backup
+ cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
+ if [[ ! -d /opt/fenrus-data-backup/data ]]; then
+ msg_error "Backup of data folder failed! exiting..."
+ rm -r /opt/fenrus-data-backup/
+ exit
+ fi
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
+ cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
+ echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
+ rm -r /opt/fenrus-data-backup/
+ msg_ok "Updated $APP"
+ else
+ msg_ok "No update required. ${APP} is already up to date"
+ fi
+ cd ..
+ rm -r Fenrus/
-systemctl start ${APP}
-exit
+ systemctl start ${APP}
+ exit
}
start
@@ -91,5 +69,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \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}:5000${CL}"
diff --git a/ct/fhem.sh b/ct/fhem.sh
index 6ffd51ad72a..520f4b925ed 100644
--- a/ct/fhem.sh
+++ b/ct/fhem.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://fhem.de/
-function header_info {
-clear
-cat <<"EOF"
- ________
- / ____/ /_ ___ ____ ___
- / /_ / __ \/ _ \/ __ `__ \
- / __/ / / / / __/ / / / / /
-/_/ /_/ /_/\___/_/ /_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
-APP="Fhem"
-var_disk="8"
+# App Default Values
+APP="FHEM"
+TAGS="automation"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/fhem.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/fhem.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8083${CL} \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}:8083${CL}"
\ No newline at end of file
diff --git a/ct/flaresolverr.sh b/ct/flaresolverr.sh
index 1946c93297d..43f48d044d2 100644
--- a/ct/flaresolverr.sh
+++ b/ct/flaresolverr.sh
@@ -1,63 +1,37 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: remz1337
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: remz1337
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/FlareSolverr/FlareSolverr
-function header_info {
-clear
-cat <<"EOF"
- ________ _____ __
- / ____/ /___ _________ / ___/____ / / _____ __________
- / /_ / / __ `/ ___/ _ \\__ \/ __ \/ / | / / _ \/ ___/ ___/
- / __/ / / /_/ / / / __/__/ / /_/ / /| |/ / __/ / / /
-/_/ /_/\__,_/_/ \___/____/\____/_/ |___/\___/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="FlareSolverr"
-var_disk="4"
+TAGS="proxy"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -f /etc/systemd/system/flaresolverr.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ if [[ ! -f /etc/systemd/system/flaresolverr.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating $APP LXC"
@@ -79,5 +53,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8191${CL} \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}:8191${CL}"
\ No newline at end of file
diff --git a/ct/flowiseai.sh b/ct/flowiseai.sh
index 2b58a7399d5..979f5e5077f 100644
--- a/ct/flowiseai.sh
+++ b/ct/flowiseai.sh
@@ -2,67 +2,42 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://flowiseai.com/
-function header_info {
-clear
-cat <<"EOF"
- ________ _ ___ ____
- / ____/ /___ _ __(_)_______ / | / _/
- / /_ / / __ \ | /| / / / ___/ _ \/ /| | / /
- / __/ / / /_/ / |/ |/ / (__ ) __/ ___ |_/ /
-/_/ /_/\____/|__/|__/_/____/\___/_/ |_/___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="FlowiseAI"
+TAGS="low-code"
var_disk="10"
var_cpu="4"
var_ram="4096"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/flowise.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-systemctl stop flowise
-npm install -g flowise --upgrade
-systemctl start flowise
-msg_ok "Updated ${APP}"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/flowise.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ systemctl stop flowise
+ npm install -g flowise --upgrade
+ systemctl start flowise
+ msg_ok "Updated ${APP}"
+ exit
}
start
@@ -70,5 +45,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/forgejo.sh b/ct/forgejo.sh
index 8199ec57844..0d43ff19747 100644
--- a/ct/forgejo.sh
+++ b/ct/forgejo.sh
@@ -2,84 +2,58 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://forgejo.org/
-function header_info {
- clear
- cat <<"EOF"
- ______ _
- / ____/___ _________ ___ (_)___
- / /_ / __ \/ ___/ __ `/ _ \ / / __ \
- / __/ / /_/ / / / /_/ / __/ / / /_/ /
-/_/ \____/_/ \__, /\___/_/ /\____/
- /____/ /___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Forgejo"
-var_disk="10"
+TAGS="git"
var_cpu="2"
var_ram="2048"
+var_disk="10"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/forgejo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP}"
-systemctl stop forgejo
-msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/forgejo ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop forgejo
+ msg_ok "Stopped ${APP}"
-msg_info "Updating ${APP}"
-RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
-wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64"
-rm -rf /opt/forgejo/*
-cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
-chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
-ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
+ wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64"
+ rm -rf /opt/forgejo/*
+ cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
+ chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
+ ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
+ msg_ok "Updated ${APP}"
-msg_info "Cleaning"
-rm -rf forgejo-$RELEASE-linux-amd64
-msg_ok "Cleaned"
+ msg_info "Cleaning"
+ rm -rf forgejo-$RELEASE-linux-amd64
+ msg_ok "Cleaned"
-msg_info "Starting ${APP}"
-systemctl start forgejo
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ${APP}"
+ systemctl start forgejo
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -87,5 +61,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/frigate.sh b/ct/frigate.sh
index ca0104f8235..a68b4e9a07e 100644
--- a/ct/frigate.sh
+++ b/ct/frigate.sh
@@ -2,64 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Authors: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://frigate.video/
-function header_info {
- clear
- cat <<"EOF"
- ______ _ __
- / ____/____(_)___ _____ _/ /____
- / /_ / ___/ / __ `/ __ `/ __/ _ \
- / __/ / / / / /_/ / /_/ / /_/ __/
-/_/ /_/ /_/\__, /\__,_/\__/\___/
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Frigate"
-var_disk="20"
+TAGS="nvr"
var_cpu="4"
var_ram="4096"
+var_disk="20"
var_os="debian"
var_version="11"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -f /etc/systemd/system/frigate.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ if [[ ! -f /etc/systemd/system/frigate.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
msg_error "To update Frigate, create a new container and transfer your configuration."
- exit
+ exit
}
start
@@ -67,7 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \n"
-echo -e "go2rtc should be reachable by going to the following URL.
- ${BL}http://${IP}:1984${CL} \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}:5000${CL}"
\ No newline at end of file
diff --git a/ct/gitea.sh b/ct/gitea.sh
index 0779cc8d37e..2afcf220e28 100644
--- a/ct/gitea.sh
+++ b/ct/gitea.sh
@@ -1,73 +1,47 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-author: Rogue-King
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: Rogue-King
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://about.gitea.com/
-function header_info {
-clear
-cat <<"EOF"
- ______ _ __
- / ____/(_)/ /____ ____ _
- / / __// // __/ _ \/ __ /
-/ /_/ // // /_/ __/ /_/ /
-\____//_/ \__/\___/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Gitea"
-var_disk="8"
+TAGS="git"
var_cpu="1"
var_ram="1024"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /usr/local/bin/gitea ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
-msg_info "Updating $APP to ${RELEASE}"
-wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
-systemctl stop gitea
-rm -rf /usr/local/bin/gitea
-mv gitea* /usr/local/bin/gitea
-chmod +x /usr/local/bin/gitea
-systemctl start gitea
-msg_ok "Updated $APP Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /usr/local/bin/gitea ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
+ msg_info "Updating $APP to ${RELEASE}"
+ wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
+ systemctl stop gitea
+ rm -rf /usr/local/bin/gitea
+ mv gitea* /usr/local/bin/gitea
+ chmod +x /usr/local/bin/gitea
+ systemctl start gitea
+ msg_ok "Updated $APP Successfully"
+ exit
}
start
@@ -75,5 +49,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/glance.sh b/ct/glance.sh
index eb08f85fe50..22e59ef1eca 100644
--- a/ct/glance.sh
+++ b/ct/glance.sh
@@ -2,67 +2,39 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: kristocopani
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/glanceapp/glance
-function header_info {
-clear
-cat <<"EOF"
- ________
- / ____/ /___ _____ ________
- / / __/ / __ `/ __ \/ ___/ _ \
-/ /_/ / / /_/ / / / / /__/ __/
-\____/_/\__,_/_/ /_/\___/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Glance"
-var_disk="2"
+TAGS="dashboard"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
+ header_info
+ check_container_storage
+ check_container_resources
if [[ ! -f /etc/systemd/system/glance.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
- RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/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
msg_info "Stopping Service"
systemctl stop glance
@@ -70,7 +42,7 @@ check_container_resources
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
- wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz
+ wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz
rm -rf /opt/glance/glance
tar -xzf glance-linux-amd64.tar.gz -C /opt/glance
echo "${RELEASE}" >"/opt/${APP}_version.txt"
@@ -95,5 +67,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080${CL} \n"
\ No newline at end of file
+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}:8080${CL}"
\ No newline at end of file
diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh
index 741ee0d221b..a4508796167 100644
--- a/ct/go2rtc.sh
+++ b/ct/go2rtc.sh
@@ -2,71 +2,45 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/AlexxIT/go2rtc
-function header_info {
-clear
-cat <<"EOF"
- ___ __
- ____ _____ |__ \ _____/ /______
- / __ `/ __ \__/ // ___/ __/ ___/
- / /_/ / /_/ / __// / / /_/ /__
- \__, /\____/____/_/ \__/\___/
-/____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="go2rtc"
-var_disk="4"
+TAGS="recorder;video"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/go2rtc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-systemctl stop go2rtc
-cd /opt/go2rtc
-rm go2rtc_linux_amd64
-wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64
-chmod +x go2rtc_linux_amd64
-systemctl start go2rtc
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/go2rtc ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ systemctl stop go2rtc
+ cd /opt/go2rtc
+ rm go2rtc_linux_amd64
+ wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64
+ chmod +x go2rtc_linux_amd64
+ systemctl start go2rtc
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -74,5 +48,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:1984${CL} \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}:1984${CL}"
\ No newline at end of file
diff --git a/ct/gokapi.sh b/ct/gokapi.sh
index 79814f5fa6c..f0df0568d6b 100644
--- a/ct/gokapi.sh
+++ b/ct/gokapi.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/Forceu/Gokapi
-function header_info {
-clear
-cat <<"EOF"
- ______ __ _
- / ____/___ / /______ _____ (_)
- / / __/ __ \/ //_/ __ `/ __ \/ /
-/ /_/ / /_/ / ,< / /_/ / /_/ / /
-\____/\____/_/|_|\__,_/ .___/_/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Gokapi"
-var_disk="4"
+TAGS="file;sharing"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/gokapi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/gokapi ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:53842/setup${CL} \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}:53842/setup${CL}"
\ No newline at end of file
diff --git a/ct/gotify.sh b/ct/gotify.sh
index c80fb9efba9..059f89494c1 100644
--- a/ct/gotify.sh
+++ b/ct/gotify.sh
@@ -2,85 +2,60 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://gotify.net/
-function header_info {
-clear
-cat <<"EOF"
- ______ __ _ ____
- / ____/___ / /_(_) __/_ __
- / / __/ __ \/ __/ / /_/ / / /
-/ /_/ / /_/ / /_/ / __/ /_/ /
-\____/\____/\__/_/_/ \__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Gotify"
-var_disk="2"
+TAGS="notification"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/gotify ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/gotify ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
-RELEASE=$(curl -s https://api.github.com/repos/gotify/server/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
- msg_info "Stopping ${APP}"
- systemctl stop gotify
- msg_ok "Stopped ${APP}"
+ RELEASE=$(curl -s https://api.github.com/repos/gotify/server/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
+ msg_info "Stopping ${APP}"
+ systemctl stop gotify
+ msg_ok "Stopped ${APP}"
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt/gotify
- wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip
- unzip -oq gotify-linux-amd64.zip
- rm -rf gotify-linux-amd64.zip
- chmod +x gotify-linux-amd64
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt/gotify
+ wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip
+ unzip -oq gotify-linux-amd64.zip
+ rm -rf gotify-linux-amd64.zip
+ chmod +x gotify-linux-amd64
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start gotify
- msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Starting ${APP}"
+ systemctl start gotify
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -88,5 +63,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP} ${CL} \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}"
diff --git a/ct/grafana.sh b/ct/grafana.sh
index 7042a2fe5b4..1f052654336 100644
--- a/ct/grafana.sh
+++ b/ct/grafana.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://grafana.com/
-function header_info {
-clear
-cat <<"EOF"
- ______ ____
- / ____/________ _/ __/___ _____ ____ _
- / / __/ ___/ __ / /_/ __ / __ \/ __ /
-/ /_/ / / / /_/ / __/ /_/ / / / / /_/ /
-\____/_/ \__,_/_/ \__,_/_/ /_/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Grafana"
-var_disk="2"
+TAGS="monitoring;visualization"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/grocy.sh b/ct/grocy.sh
index 945c7aea01a..257b0e76bc2 100644
--- a/ct/grocy.sh
+++ b/ct/grocy.sh
@@ -2,76 +2,51 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://grocy.info/
-function header_info {
-clear
-cat <<"EOF"
- ____ __________ _______ __
- / __ / ___/ __ \/ ___/ / / /
- / /_/ / / / /_/ / /__/ /_/ /
- \__, /_/ \____/\___/\__, /
-/____/ /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="grocy"
-var_disk="2"
+TAGS="grocery;household"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-php_version=$(php -v | head -n 1 | awk '{print $2}')
-if [[ ! $php_version == "8.3"* ]]; then
- msg_info "Updating PHP"
- curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
- echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
- apt-get update
- apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml}
- systemctl reload apache2
- apt autoremove
- msg_ok "Updated PHP"
-fi
-msg_info "Updating ${APP}"
-bash /var/www/html/update.sh
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ php_version=$(php -v | head -n 1 | awk '{print $2}')
+ if [[ ! $php_version == "8.3"* ]]; then
+ msg_info "Updating PHP"
+ curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
+ echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
+ apt-get update
+ apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml}
+ systemctl reload apache2
+ apt autoremove
+ msg_ok "Updated PHP"
+ fi
+ msg_info "Updating ${APP}"
+ bash /var/www/html/update.sh
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -79,5 +54,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}${CL} \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}"
\ No newline at end of file
diff --git a/ct/headscale.sh b/ct/headscale.sh
index 5138b81121b..53e37c38c7e 100644
--- a/ct/headscale.sh
+++ b/ct/headscale.sh
@@ -2,82 +2,57 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/juanfont/headscale
-function header_info {
-clear
-cat <<"EOF"
- __ __ __ __
- / / / /__ ____ _____/ /_____________ _/ /__
- / /_/ / _ \/ __ `/ __ / ___/ ___/ __ `/ / _ \
- / __ / __/ /_/ / /_/ (__ ) /__/ /_/ / / __/
-/_/ /_/\___/\__,_/\__,_/____/\___/\__,_/_/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Headscale"
-var_disk="2"
+TAGS="tailscale"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/headscale ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop headscale
- msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/headscale ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop headscale
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Updating $APP to v${RELEASE}"
+ wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb
+ dpkg -i headscale_${RELEASE}_linux_amd64.deb
+ rm headscale_${RELEASE}_linux_amd64.deb
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated $APP to ${RELEASE}"
- msg_info "Updating $APP to v${RELEASE}"
- wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb
- dpkg -i headscale_${RELEASE}_linux_amd64.deb
- rm headscale_${RELEASE}_linux_amd64.deb
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated $APP to ${RELEASE}"
-
- msg_info "Starting ${APP}"
- systemctl start headscale
- msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Starting ${APP}"
+ systemctl start headscale
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -85,3 +60,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/heimdall-dashboard.sh b/ct/heimdall-dashboard.sh
index 265acb0b595..6bf533417cd 100644
--- a/ct/heimdall-dashboard.sh
+++ b/ct/heimdall-dashboard.sh
@@ -2,106 +2,76 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://heimdall.site/
-function header_info {
-clear
-cat <<"EOF"
- _ _ _ _ ___ _ _ _
- /\ /\___(_)_ __ ___ __| | __ _| | | / \__ _ ___| |__ | |__ ___ __ _ _ __ __| |
- / /_/ / _ \ | '_ ` _ \ / _` |/ _` | | | / /\ / _` / __| '_ \| '_ \ / _ \ / _` | '__/ _` |
-/ __ / __/ | | | | | | (_| | (_| | | | / /_// (_| \__ \ | | | |_) | (_) | (_| | | | (_| |
-\/ /_/ \___|_|_| |_| |_|\__,_|\__,_|_|_| /___,' \__,_|___/_| |_|_.__/ \___/ \__,_|_| \__,_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Heimdall-Dashboard"
-var_disk="2"
+TAGS="dashboard"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/Heimdall ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop heimdall
- sleep 1
- msg_ok "Stopped ${APP}"
-
- msg_info "Backing up Data"
- cp -R /opt/Heimdall/database database-backup
- cp -R /opt/Heimdall/public public-backup
- sleep 1
- msg_ok "Backed up Data"
-
- msg_info "Updating Heimdall Dashboard to ${RELEASE}"
- wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz
- tar xzf ${RELEASE}.tar.gz
- VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
- cp -R Heimdall-${VER}/* /opt/Heimdall
- cd /opt/Heimdall
- apt-get install -y composer &>/dev/null
- COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated Heimdall Dashboard to ${RELEASE}"
-
- msg_info "Restoring Data"
- cd ~
- cp -R database-backup/* /opt/Heimdall/database
- cp -R public-backup/* /opt/Heimdall/public
- sleep 1
- msg_ok "Restored Data"
-
- msg_info "Cleanup"
- rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall}
- sleep 1
- msg_ok "Cleaned"
-
- msg_info "Starting ${APP}"
- systemctl start heimdall.service
- sleep 2
- msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}."
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/Heimdall ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop heimdall
+ sleep 1
+ msg_ok "Stopped ${APP}"
+ msg_info "Backing up Data"
+ cp -R /opt/Heimdall/database database-backup
+ cp -R /opt/Heimdall/public public-backup
+ sleep 1
+ msg_ok "Backed up Data"
+ msg_info "Updating Heimdall Dashboard to ${RELEASE}"
+ wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz
+ tar xzf ${RELEASE}.tar.gz
+ VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ cp -R Heimdall-${VER}/* /opt/Heimdall
+ cd /opt/Heimdall
+ apt-get install -y composer &>/dev/null
+ COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated Heimdall Dashboard to ${RELEASE}"
+ msg_info "Restoring Data"
+ cd ~
+ cp -R database-backup/* /opt/Heimdall/database
+ cp -R public-backup/* /opt/Heimdall/public
+ sleep 1
+ msg_ok "Restored Data"
+ msg_info "Cleanup"
+ rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall}
+ sleep 1
+ msg_ok "Cleaned"
+ msg_info "Starting ${APP}"
+ systemctl start heimdall.service
+ sleep 2
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}."
+ fi
+ exit
}
start
@@ -109,5 +79,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:7990${CL} \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}:7990${CL}"
\ No newline at end of file
diff --git a/ct/hivemq.sh b/ct/hivemq.sh
index 9356ad90471..d423db62dbd 100644
--- a/ct/hivemq.sh
+++ b/ct/hivemq.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.hivemq.com/
-function header_info {
-clear
-cat <<"EOF"
- __ ___ __ _______ ____________
- / / / (_) _____ / |/ / __ \ / ____/ ____/
- / /_/ / / | / / _ \/ /|_/ / / / / / / / __/
- / __ / /| |/ / __/ / / / /_/ / / /___/ /___
-/_/ /_/_/ |___/\___/_/ /_/\___\_\ \____/_____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="HiveMQ"
-var_disk="4"
+TAGS="mqtt"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -66,3 +41,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/hoarder.sh b/ct/hoarder.sh
index b28a52a831b..22238e0efe2 100644
--- a/ct/hoarder.sh
+++ b/ct/hoarder.sh
@@ -2,99 +2,74 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz) & vhsdream
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://hoarder.app/
-function header_info {
-clear
-cat <<"EOF"
- __ __ __
- / / / /___ ____ __________/ /__ _____
- / /_/ / __ \/ __ `/ ___/ __ / _ \/ ___/
- / __ / /_/ / /_/ / / / /_/ / __/ /
-/_/ /_/\____/\__,_/_/ \__,_/\___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Hoarder"
-var_disk="8"
+TAGS="bookmark"
var_cpu="2"
var_ram="4096"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/hoarder ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
-PREV_RELEASE=$(cat /opt/${APP}_version.txt)
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
- msg_info "Stopping Services"
- systemctl stop hoarder-web hoarder-workers hoarder-browser
- msg_ok "Stopped Services"
- msg_info "Updating ${APP} to v${RELEASE}"
- cd /opt
- mv /opt/hoarder/.env /opt/.env
- rm -rf /opt/hoarder
- wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip"
- unzip -q v${RELEASE}.zip
- mv hoarder-${RELEASE} /opt/hoarder
- cd /opt/hoarder/apps/web
- pnpm install --frozen-lockfile &>/dev/null
- pnpm exec next build --experimental-build-mode compile &>/dev/null
- cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
- cd /opt/hoarder/apps/workers
- pnpm install --frozen-lockfile &>/dev/null
- export DATA_DIR=/opt/hoarder_data
- cd /opt/hoarder/packages/db
- pnpm migrate &>/dev/null
- mv /opt/.env /opt/hoarder/.env
- sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /opt/hoarder/.env
- msg_ok "Updated ${APP} to v${RELEASE}"
-
- msg_info "Starting Services"
- systemctl start hoarder-browser hoarder-workers hoarder-web
- msg_ok "Started Services"
- msg_info "Cleaning up"
- rm -R /opt/v${RELEASE}.zip
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}."
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/hoarder ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ PREV_RELEASE=$(cat /opt/${APP}_version.txt)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
+ msg_info "Stopping Services"
+ systemctl stop hoarder-web hoarder-workers hoarder-browser
+ msg_ok "Stopped Services"
+ msg_info "Updating ${APP} to v${RELEASE}"
+ cd /opt
+ mv /opt/hoarder/.env /opt/.env
+ rm -rf /opt/hoarder
+ wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q v${RELEASE}.zip
+ mv hoarder-${RELEASE} /opt/hoarder
+ cd /opt/hoarder/apps/web
+ pnpm install --frozen-lockfile &>/dev/null
+ pnpm exec next build --experimental-build-mode compile &>/dev/null
+ cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
+ cd /opt/hoarder/apps/workers
+ pnpm install --frozen-lockfile &>/dev/null
+ export DATA_DIR=/opt/hoarder_data
+ cd /opt/hoarder/packages/db
+ pnpm migrate &>/dev/null
+ mv /opt/.env /opt/hoarder/.env
+ sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /opt/hoarder/.env
+ msg_ok "Updated ${APP} to v${RELEASE}"
+
+ msg_info "Starting Services"
+ systemctl start hoarder-browser hoarder-workers hoarder-web
+ msg_ok "Started Services"
+ msg_info "Cleaning up"
+ rm -R /opt/v${RELEASE}.zip
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}."
+ fi
+ exit
}
start
@@ -102,5 +77,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/homarr.sh b/ct/homarr.sh
index 1e7210b3c66..5423976f892 100644
--- a/ct/homarr.sh
+++ b/ct/homarr.sh
@@ -1,105 +1,79 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://homarr.dev/
-function header_info {
-clear
-cat <<"EOF"
- __ __
- / / / /___ ____ ___ ____ ___________
- / /_/ / __ \/ __ `__ \/ __ `/ ___/ ___/
- / __ / /_/ / / / / / / /_/ / / / /
-/_/ /_/\____/_/ /_/ /_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Homarr"
-var_disk="8"
+TAGS="*arr;dashboard"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/homarr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/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
- msg_info "Stopping Services"
- systemctl stop homarr
- msg_ok "Services Stopped"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/homarr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/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
+ msg_info "Stopping Services"
+ systemctl stop homarr
+ msg_ok "Services Stopped"
- msg_info "Backing up Data"
- mkdir -p /opt/homarr-data-backup
- cp /opt/homarr/.env /opt/homarr-data-backup/.env
- cp /opt/homarr/database/db.sqlite /opt/homarr-data-backup/db.sqlite
- cp -r /opt/homarr/data/configs /opt/homarr-data-backup/configs
- msg_ok "Backed up Data"
+ msg_info "Backing up Data"
+ mkdir -p /opt/homarr-data-backup
+ cp /opt/homarr/.env /opt/homarr-data-backup/.env
+ cp /opt/homarr/database/db.sqlite /opt/homarr-data-backup/db.sqlite
+ cp -r /opt/homarr/data/configs /opt/homarr-data-backup/configs
+ msg_ok "Backed up Data"
- msg_info "Updating ${APP} to ${RELEASE}"
- wget -q "https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.zip"
- unzip -q v${RELEASE}.zip
- rm -rf v${RELEASE}.zip
- rm -rf /opt/homarr
- mv homarr-${RELEASE} /opt/homarr
- mv /opt/homarr-data-backup/.env /opt/homarr/.env
- cd /opt/homarr
- yarn install &>/dev/null
- yarn build &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ wget -q "https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q v${RELEASE}.zip
+ rm -rf v${RELEASE}.zip
+ rm -rf /opt/homarr
+ mv homarr-${RELEASE} /opt/homarr
+ mv /opt/homarr-data-backup/.env /opt/homarr/.env
+ cd /opt/homarr
+ yarn install &>/dev/null
+ yarn build &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP}"
- msg_info "Restoring Data"
- rm -rf /opt/homarr/data/configs
- mv /opt/homarr-data-backup/configs /opt/homarr/data/configs
- mv /opt/homarr-data-backup/db.sqlite /opt/homarr/database/db.sqlite
- yarn db:migrate &>/dev/null
- rm -rf /opt/homarr-data-backup
- msg_ok "Restored Data"
+ msg_info "Restoring Data"
+ rm -rf /opt/homarr/data/configs
+ mv /opt/homarr-data-backup/configs /opt/homarr/data/configs
+ mv /opt/homarr-data-backup/db.sqlite /opt/homarr/database/db.sqlite
+ yarn db:migrate &>/dev/null
+ rm -rf /opt/homarr-data-backup
+ msg_ok "Restored Data"
- msg_info "Starting Services"
- systemctl start homarr
- msg_ok "Started Services"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Starting Services"
+ systemctl start homarr
+ msg_ok "Started Services"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -107,5 +81,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/homeassistant-core.sh b/ct/homeassistant-core.sh
index 001f98f18d8..5b905badd1d 100644
--- a/ct/homeassistant-core.sh
+++ b/ct/homeassistant-core.sh
@@ -2,56 +2,28 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.home-assistant.io/
-function header_info {
- clear
- cat <<"EOF"
- _ _ _ _ ___
- /\ /\___ _ __ ___ ___ /_\ ___ ___(_)___| |_ __ _ _ __ | |_ / __\___ _ __ ___
- / /_/ / _ \| '_ ` _ \ / _ \ //_\\/ __/ __| / __| __/ _` | '_ \| __| / / / _ \| '__/ _ \
-/ __ / (_) | | | | | | __/ / _ \__ \__ \ \__ \ || (_| | | | | |_ / /__| (_) | | | __/
-\/ /_/ \___/|_| |_| |_|\___| \_/ \_/___/___/_|___/\__\__,_|_| |_|\__| \____/\___/|_| \___|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Home Assistant-Core"
-var_disk="8"
+TAGS="automation;smarthome"
var_cpu="2"
var_ram="1024"
+var_disk="8"
var_os="ubuntu"
var_version="24.04"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -119,7 +91,7 @@ function update_script() {
filebrowser config init -a '0.0.0.0' &>/dev/null
filebrowser config set -a '0.0.0.0' &>/dev/null
filebrowser config set --auth.method=noauth &>/dev/null
- filebrowser users add ID 1 --perm.admin &>/dev/null
+ filebrowser users add ID 1 --perm.admin &>/dev/null
else
filebrowser config init -a '0.0.0.0' &>/dev/null
filebrowser config set -a '0.0.0.0' &>/dev/null
@@ -154,5 +126,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8123${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 "${TAB}${GATEWAY}${BGN}http://${IP}:8132${CL}"
\ No newline at end of file
diff --git a/ct/homeassistant.sh b/ct/homeassistant.sh
index bb0a325a04b..2ac678b8f7d 100644
--- a/ct/homeassistant.sh
+++ b/ct/homeassistant.sh
@@ -2,56 +2,28 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.home-assistant.io/
-function header_info {
- clear
- cat <<"EOF"
- __ __ ___ _ __ __
- / / / /___ ____ ___ ___ / | __________(_)____/ /_____ _____ / /_
- / /_/ / __ \/ __ __ \/ _ \ / /| | / ___/ ___/ / ___/ __/ __ / __ \/ __/
- / __ / /_/ / / / / / / __/ / ___ |(__ |__ ) (__ ) /_/ /_/ / / / / /_
-/_/ /_/\____/_/ /_/ /_/\___/ /_/ |_/____/____/_/____/\__/\__,_/_/ /_/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Home Assistant"
-var_disk="16"
+TAGS="automation;smarthome"
var_cpu="2"
var_ram="2048"
+var_disk="16"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -138,7 +110,7 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8123${CL}
-Portainer should be reachable by going to the following URL.
- ${BL}https://${IP}:9443${CL}\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}HA: http://${IP}:8123${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}Portainer: http://${IP}:9443${CL}"
\ No newline at end of file
diff --git a/ct/homebox.sh b/ct/homebox.sh
index 2441bc0b766..121952f485c 100644
--- a/ct/homebox.sh
+++ b/ct/homebox.sh
@@ -1,86 +1,60 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://homebox.software/en/
-function header_info {
-clear
-cat <<"EOF"
- __ __ ____
- / / / /___ ____ ___ ___ / __ )____ _ __
- / /_/ / __ \/ __ `__ \/ _ \/ __ / __ \| |/_/
- / __ / /_/ / / / / / / __/ /_/ / /_/ /> <
-/_/ /_/\____/_/ /_/ /_/\___/_____/\____/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="HomeBox"
-var_disk="4"
+TAGS="inventory;household"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /opt/homebox ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop homebox
- msg_ok "${APP} Stopped"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /opt/homebox ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop homebox
+ msg_ok "${APP} Stopped"
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt
- rm -rf homebox_bak
- mv homebox homebox_bak
- wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt
- chmod +x /opt/homebox
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated Homebox"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt
+ rm -rf homebox_bak
+ mv homebox homebox_bak
+ wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt
+ chmod +x /opt/homebox
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated Homebox"
- msg_info "Starting ${APP}"
- systemctl start homebox
- msg_ok "Started ${APP}"
+ msg_info "Starting ${APP}"
+ systemctl start homebox
+ msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -88,5 +62,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:7745${CL} \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}:7745${CL}"
\ No newline at end of file
diff --git a/ct/homebridge.sh b/ct/homebridge.sh
index b371d9c0ce4..a17c9f3cbd5 100644
--- a/ct/homebridge.sh
+++ b/ct/homebridge.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://homebridge.io/
-function header_info {
-clear
-cat <<"EOF"
- __ ______ __ _____________ ____ ________ ____________
- / / / / __ \/ |/ / ____/ __ )/ __ \/ _/ __ \/ ____/ ____/
- / /_/ / / / / /|_/ / __/ / __ / /_/ // // / / / / __/ __/
- / __ / /_/ / / / / /___/ /_/ / _, _// // /_/ / /_/ / /___
-/_/ /_/\____/_/ /_/_____/_____/_/ |_/___/_____/\____/_____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Homebridge"
-var_disk="4"
+TAGS="smarthome;homekit"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/homebridge.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get install -y homebridge &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/homebridge.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get install -y homebridge &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8581${CL} \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}:8581${CL}"
\ No newline at end of file
diff --git a/ct/homepage.sh b/ct/homepage.sh
index ddce1e8a33b..ce4106614ce 100644
--- a/ct/homepage.sh
+++ b/ct/homepage.sh
@@ -2,89 +2,64 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://gethomepage.dev/
-function header_info {
-clear
-cat <<"EOF"
- __ __
- / / / /___ ____ ___ ___ ____ ____ _____ ____
- / /_/ / __ \/ __ `__ \/ _ \/ __ \/ __ `/ __ `/ _ \
- / __ / /_/ / / / / / / __/ /_/ / /_/ / /_/ / __/
-/_/ /_/\____/_/ /_/ /_/\___/ .___/\__,_/\__, /\___/
- /_/ /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Homepage"
-var_disk="3"
+TAGS="dashboard"
var_cpu="2"
var_ram="1024"
+var_disk="3"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
- if ! command -v npm >/dev/null 2>&1; then
- echo "Installing NPM..."
- apt-get install -y npm >/dev/null 2>&1
- npm install -g pnpm >/dev/null 2>&1
- echo "Installed NPM..."
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/homepage ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
+ if ! command -v npm >/dev/null 2>&1; then
+ echo "Installing NPM..."
+ apt-get install -y npm >/dev/null 2>&1
+ npm install -g pnpm >/dev/null 2>&1
+ echo "Installed NPM..."
+ fi
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Updating Homepage to v${RELEASE} (Patience)"
+ systemctl stop homepage
+ wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
+ tar -xzf v${RELEASE}.tar.gz
+ rm -rf v${RELEASE}.tar.gz
+ cp -r homepage-${RELEASE}/* /opt/homepage/
+ rm -rf homepage-${RELEASE}
+ cd /opt/homepage
+ npx update-browserslist-db@latest
+ pnpm install
+ pnpm build
+ systemctl start homepage
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated Homepage to v${RELEASE}"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
-fi
-RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- msg_info "Updating Homepage to v${RELEASE} (Patience)"
- systemctl stop homepage
- wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
- tar -xzf v${RELEASE}.tar.gz
- rm -rf v${RELEASE}.tar.gz
- cp -r homepage-${RELEASE}/* /opt/homepage/
- rm -rf homepage-${RELEASE}
- cd /opt/homepage
- npx update-browserslist-db@latest
- pnpm install
- pnpm build
- systemctl start homepage
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated Homepage to v${RELEASE}"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ exit
}
start
@@ -92,5 +67,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/homer.sh b/ct/homer.sh
index bb2695d7628..1d222e180dc 100644
--- a/ct/homer.sh
+++ b/ct/homer.sh
@@ -2,92 +2,67 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/bastienwirtz/homer
-function header_info {
-clear
-cat <<"EOF"
- __ __
- / / / /___ ____ ___ ___ _____
- / /_/ / __ \/ __ `__ \/ _ \/ ___/
- / __ / /_/ / / / / / / __/ /
-/_/ /_/\____/_/ /_/ /_/\___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Homer"
-var_disk="2"
+TAGS="dashboard"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/homer ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP}"
-systemctl stop homer
-msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/homer ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop homer
+ msg_ok "Stopped ${APP}"
-msg_info "Backing up assets directory"
-cd ~
-mkdir -p assets-backup
-cp -R /opt/homer/assets/. assets-backup
-msg_ok "Backed up assets directory"
+ msg_info "Backing up assets directory"
+ cd ~
+ mkdir -p assets-backup
+ cp -R /opt/homer/assets/. assets-backup
+ msg_ok "Backed up assets directory"
-msg_info "Updating ${APP}"
-rm -rf /opt/homer/*
-cd /opt/homer
-wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
-unzip homer.zip &>/dev/null
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ rm -rf /opt/homer/*
+ cd /opt/homer
+ wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
+ unzip homer.zip &>/dev/null
+ msg_ok "Updated ${APP}"
-msg_info "Restoring assets directory"
-cd ~
-cp -Rf assets-backup/. /opt/homer/assets/
-msg_ok "Restored assets directory"
+ msg_info "Restoring assets directory"
+ cd ~
+ cp -Rf assets-backup/. /opt/homer/assets/
+ msg_ok "Restored assets directory"
-msg_info "Cleaning"
-rm -rf assets-backup /opt/homer/homer.zip
-msg_ok "Cleaned"
+ msg_info "Cleaning"
+ rm -rf assets-backup /opt/homer/homer.zip
+ msg_ok "Cleaned"
-msg_info "Starting ${APP}"
-systemctl start homer
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ${APP}"
+ systemctl start homer
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -95,5 +70,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8010${CL} \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}:8010${CL}"
\ No newline at end of file
diff --git a/ct/hyperhdr.sh b/ct/hyperhdr.sh
index 023a326fdf8..bdb79134bde 100644
--- a/ct/hyperhdr.sh
+++ b/ct/hyperhdr.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.hyperhdr.eu/
-function header_info {
-clear
-cat <<"EOF"
- __ __ __ ______ ____
- / / / /_ ______ ___ _____/ / / / __ \/ __ \
- / /_/ / / / / __ \/ _ \/ ___/ /_/ / / / / /_/ /
- / __ / /_/ / /_/ / __/ / / __ / /_/ / _, _/
-/_/ /_/\__, / .___/\___/_/ /_/ /_/_____/_/ |_|
- /____/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="HyperHDR"
-var_disk="4"
+TAGS="ambient lightning"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8090${CL} \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}:8090${CL}"
\ No newline at end of file
diff --git a/ct/hyperion.sh b/ct/hyperion.sh
index f9134e69e81..8034cf1e1db 100644
--- a/ct/hyperion.sh
+++ b/ct/hyperion.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://hyperion-project.org/forum/
-function header_info {
-clear
-cat <<"EOF"
- __ __ _
- / / / /_ ______ ___ _____(_)___ ____
- / /_/ / / / / __ \/ _ \/ ___/ / __ \/ __ \
- / __ / /_/ / /_/ / __/ / / / /_/ / / / /
-/_/ /_/\__, / .___/\___/_/ /_/\____/_/ /_/
- /____/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Hyperion"
-var_disk="2"
+TAGS="ambient lightning"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/hyperion.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get install -y hyperion &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/hyperion.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get install -y hyperion &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8090${CL} \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}:8090${CL}"
\ No newline at end of file
diff --git a/ct/influxdb.sh b/ct/influxdb.sh
index 6e4f683cff6..11f5002fada 100644
--- a/ct/influxdb.sh
+++ b/ct/influxdb.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.influxdata.com/
-function header_info {
-clear
-cat <<"EOF"
- ____ ______ ____ ____
- / _/___ / __/ /_ ___ __/ __ \/ __ )
- / // __ \/ /_/ / / / / |/_/ / / / __ |
- _/ // / / / __/ / /_/ /> /_/ / /_/ /
-/___/_/ /_/_/ /_/\__,_/_/|_/_____/_____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="InfluxDB"
-var_disk="8"
+TAGS="database"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,3 +44,6 @@ 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}:8086${CL}"
\ No newline at end of file
diff --git a/ct/inspircd.sh b/ct/inspircd.sh
index 6194c31c437..4f9c3d310cb 100644
--- a/ct/inspircd.sh
+++ b/ct/inspircd.sh
@@ -2,60 +2,31 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: kristocopani
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.inspircd.org/
-function header_info {
-clear
-cat <<"EOF"
- ____ ________ ______ __
- / _/___ _________ / _/ __ \/ ____/___/ /
- / // __ \/ ___/ __ \ / // /_/ / / / __ /
- _/ // / / (__ ) /_/ // // _, _/ /___/ /_/ /
-/___/_/ /_/____/ .___/___/_/ |_|\____/\__,_/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="InspIRCd"
-var_disk="2"
+TAGS="IRC"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
+ header_info
+ check_container_storage
+ check_container_resources
if [[ ! -f /lib/systemd/system/inspircd.service ]]; then
msg_error "No ${APP} Installation Found!"
@@ -93,5 +64,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} server should be reachable by connecting to the following server.
- ${BL}Server Name:${IP} Port:6667${CL} \n"
\ No newline at end of file
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+echo -e "${INFO}${YW} Server-Acces it using the following URL:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}${IP}:6667${CL}"
\ No newline at end of file
diff --git a/ct/iobroker.sh b/ct/iobroker.sh
index eb5a1f80498..9b602e9d25d 100644
--- a/ct/iobroker.sh
+++ b/ct/iobroker.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.iobroker.net/#en/intro
-function header_info {
-clear
-cat <<"EOF"
- _ ____ __
- (_)___ / __ )_________ / /_____ _____
- / / __ \/ __ / ___/ __ \/ //_/ _ \/ ___/
- / / /_/ / /_/ / / / /_/ / ,< / __/ /
-/_/\____/_____/_/ \____/_/|_|\___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="ioBroker"
-var_disk="8"
+TAGS="automtation"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/iobroker ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/iobroker ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8081${CL} \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}:8081${CL}"
\ No newline at end of file
diff --git a/ct/iventoy.sh b/ct/iventoy.sh
index 5e38f05f598..69ce6797ce1 100644
--- a/ct/iventoy.sh
+++ b/ct/iventoy.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.iventoy.com/en/index.html
-function header_info {
-clear
-cat <<"EOF"
- _ _ __ __
- (_) | / /__ ____ / /_____ __ __
- / /| | / / _ \/ __ \/ __/ __ \/ / / /
- / / | |/ / __/ / / / /_/ /_/ / /_/ /
-/_/ |___/\___/_/ /_/\__/\____/\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="iVentoy"
+TAGS="pxe-tool"
var_disk="2"
var_cpu="1"
var_ram="512"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/iventoy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/iventoy ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:26000/ ${CL} \n"
\ No newline at end of file
+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}:26000${CL}"
\ No newline at end of file
diff --git a/ct/jackett.sh b/ct/jackett.sh
index 7f336510f7c..d35a7042225 100644
--- a/ct/jackett.sh
+++ b/ct/jackett.sh
@@ -2,76 +2,51 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/Jackett/Jackett
-function header_info {
-clear
-cat <<"EOF"
- __ __ __ __
- / /___ ______/ /_____ / /_/ /_
- __ / / __ `/ ___/ //_/ _ \/ __/ __/
-/ /_/ / /_/ / /__/ ,< / __/ /_/ /_
-\____/\__,_/\___/_/|_|\___/\__/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Jackett"
-var_disk="2"
+TAGS="torrent"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/jackett.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Updating ${APP}"
- wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz
- systemctl stop jackett
- rm -rf /opt/Jackett
- tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
- rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
- systemctl start jackett
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/jackett.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Updating ${APP}"
+ wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz
+ systemctl stop jackett
+ rm -rf /opt/Jackett
+ tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
+ rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
+ systemctl start jackett
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -79,5 +54,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9117${CL}\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}:9117${CL}"
diff --git a/ct/jellyfin.sh b/ct/jellyfin.sh
index 813200d3af4..e39fe8f05cf 100644
--- a/ct/jellyfin.sh
+++ b/ct/jellyfin.sh
@@ -2,68 +2,42 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://jellyfin.org/
-function header_info {
-clear
-cat <<"EOF"
- __ ____ _____
- / /__ / / /_ __/ __(_)___
- __ / / _ \/ / / / / / /_/ / __ \
-/ /_/ / __/ / / /_/ / __/ / / / /
-\____/\___/_/_/\__, /_/ /_/_/ /_/
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Jellyfin"
-var_disk="8"
+TAGS="media"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="ubuntu"
var_version="22.04"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /usr/lib/jellyfin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /usr/lib/jellyfin ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ apt-get --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
}
start
@@ -71,5 +45,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8096${CL}\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}:8086${CL}"
\ No newline at end of file
diff --git a/ct/jellyseerr.sh b/ct/jellyseerr.sh
index 602ebad03de..94d2fddefbb 100644
--- a/ct/jellyseerr.sh
+++ b/ct/jellyseerr.sh
@@ -2,84 +2,62 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://docs.jellyseerr.dev/
-function header_info {
-clear
-cat <<"EOF"
- __ ____
- / /__ / / /_ __________ ___ __________
- __ / / _ \/ / / / / / ___/ _ \/ _ \/ ___/ ___/
-/ /_/ / __/ / / /_/ (__ ) __/ __/ / / /
-\____/\___/_/_/\__, /____/\___/\___/_/ /_/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Jellyseerr"
-var_disk="8"
+TAGS="media"
var_cpu="4"
var_ram="4096"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/jellyseerr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-if ! command -v pnpm &> /dev/null; then
- msg_error "pnpm not found. Installing..."
- npm install -g pnpm &>/dev/null
-else
- msg_ok "pnpm is already installed."
-fi
-msg_info "Updating $APP"
-cd /opt/jellyseerr
-output=$(git pull --no-rebase)
-if echo "$output" | grep -q "Already up to date."
-then
- msg_ok "$APP is already up to date."
- exit
-fi
-systemctl stop jellyseerr
-rm -rf dist
-rm -rf .next
-rm -rf node_modules
-export CYPRESS_INSTALL_BINARY=0
-pnpm install --frozen-lockfile &>/dev/null
-export NODE_OPTIONS="--max-old-space-size=3072"
-pnpm build &>/dev/null
-cat </etc/systemd/system/jellyseerr.service
+ header_info
+ check_container_storage
+ check_container_resources
+
+ if [[ ! -d /opt/jellyseerr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+
+ if ! command -v pnpm &> /dev/null; then
+ msg_error "pnpm not found. Installing..."
+ npm install -g pnpm &>/dev/null
+ else
+ msg_ok "pnpm is already installed."
+ fi
+
+ msg_info "Updating $APP"
+ cd /opt/jellyseerr
+ output=$(git pull --no-rebase)
+
+ if echo "$output" | grep -q "Already up to date."; then
+ msg_ok "$APP is already up to date."
+ exit
+ fi
+
+ systemctl stop jellyseerr
+ rm -rf dist .next node_modules
+ export CYPRESS_INSTALL_BINARY=0
+ pnpm install --frozen-lockfile &>/dev/null
+ export NODE_OPTIONS="--max-old-space-size=3072"
+ pnpm build &>/dev/null
+
+ cat </etc/systemd/system/jellyseerr.service
[Unit]
Description=jellyseerr Service
After=network.target
@@ -94,10 +72,11 @@ ExecStart=/usr/bin/node dist/index.js
[Install]
WantedBy=multi-user.target
EOF
-systemctl daemon-reload
-systemctl start jellyseerr
-msg_ok "Updated $APP"
-exit
+
+ systemctl daemon-reload
+ systemctl start jellyseerr
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -105,5 +84,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5055${CL} \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}:5055${CL}"
\ No newline at end of file
diff --git a/ct/kavita.sh b/ct/kavita.sh
index e80d64631de..33c65071676 100644
--- a/ct/kavita.sh
+++ b/ct/kavita.sh
@@ -2,71 +2,46 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.kavitareader.com/
-function header_info {
-clear
-cat <<"EOF"
- __ __ _ __
- / //_/___ __ __(_) /_____ _
- / ,< / __ `/ | / / / __/ __ `/
- / /| / /_/ /| |/ / / /_/ /_/ /
-/_/ |_\__,_/ |___/_/\__/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Kavita"
-var_disk="8"
+TAGS="reader"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/Kavita ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-systemctl stop kavita
-RELEASE=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner &>/dev/null
-rm -rf Kavita/config
-cp -r Kavita/* /opt/Kavita
-rm -rf Kavita
-systemctl start kavita
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/Kavita ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ systemctl stop kavita
+ RELEASE=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner &>/dev/null
+ rm -rf Kavita/config
+ cp -r Kavita/* /opt/Kavita
+ rm -rf Kavita
+ systemctl start kavita
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -74,5 +49,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \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}:5000${CL}"
\ No newline at end of file
diff --git a/ct/keycloak.sh b/ct/keycloak.sh
index 4b6a9b2399b..9d4b742b799 100644
--- a/ct/keycloak.sh
+++ b/ct/keycloak.sh
@@ -2,87 +2,61 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.keycloak.org/
-function header_info {
-clear
-cat <<"EOF"
- __ __ __ __
- / //_/__ __ _______/ /___ ____ _/ /__
- / ,< / _ \/ / / / ___/ / __ \/ __ / //_/
- / /| / __/ /_/ / /__/ / /_/ / /_/ / ,<
-/_/ |_\___/\__, /\___/_/\____/\__,_/_/|_|
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Keycloak"
-var_disk="4"
+TAGS="access management"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/keycloak.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/keycloak.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
-msg_info "Updating packages"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
+ msg_info "Updating packages"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
-RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-msg_info "Updating Keycloak to v$RELEASE"
-cd /opt
-wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
-mv keycloak keycloak.old
-tar -xzf keycloak-$RELEASE.tar.gz
-cp -r keycloak.old/conf keycloak-$RELEASE
-cp -r keycloak.old/providers keycloak-$RELEASE
-cp -r keycloak.old/themes keycloak-$RELEASE
-mv keycloak-$RELEASE keycloak
+ RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ msg_info "Updating Keycloak to v$RELEASE"
+ cd /opt
+ wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
+ mv keycloak keycloak.old
+ tar -xzf keycloak-$RELEASE.tar.gz
+ cp -r keycloak.old/conf keycloak-$RELEASE
+ cp -r keycloak.old/providers keycloak-$RELEASE
+ cp -r keycloak.old/themes keycloak-$RELEASE
+ mv keycloak-$RELEASE keycloak
-msg_info "Delete temporary installation files"
-rm keycloak-$RELEASE.tar.gz
-rm -rf keycloak.old
+ msg_info "Delete temporary installation files"
+ rm keycloak-$RELEASE.tar.gz
+ rm -rf keycloak.old
-msg_info "Restating Keycloak"
-systemctl restart keycloak
-msg_ok "Updated Successfully"
-exit
+ msg_info "Restating Keycloak"
+ systemctl restart keycloak
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -90,5 +64,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080/admin${CL} \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}:8080/admin${CL}"
diff --git a/ct/kimai.sh b/ct/kimai.sh
index 70d9b189859..517be7520dc 100644
--- a/ct/kimai.sh
+++ b/ct/kimai.sh
@@ -2,97 +2,72 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.kimai.org/
-function header_info {
-clear
-cat <<"EOF"
- __ __ _ _
- / //_/(_)___ ___ ____ _(_)
- / ,< / / __ `__ \/ __ `/ /
- / /| |/ / / / / / / /_/ / /
-/_/ |_/_/_/ /_/ /_/\__,_/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Kimai"
-var_disk="7"
+TAGS="time tracking"
var_cpu="2"
var_ram="2048"
+var_disk="7"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/kimai ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping Apache2"
- systemctl stop apache2
- msg_ok "Stopped Apache2"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/kimai ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping Apache2"
+ systemctl stop apache2
+ msg_ok "Stopped Apache2"
- msg_info "Updating ${APP} to ${RELEASE}"
- cp /opt/kimai/.env /opt/.env
- rm -rf /opt/kimai
- wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip"
- unzip -q ${RELEASE}.zip
- mv kimai-${RELEASE} /opt/kimai
- mv /opt/.env /opt/kimai/.env
- cd /opt/kimai
- composer install --no-dev --optimize-autoloader &>/dev/null
- bin/console kimai:update &>/dev/null
- chown -R :www-data .
- chmod -R g+r .
- chmod -R g+rw var/
- sudo chown -R www-data:www-data /opt/kimai
- sudo chmod -R 755 /opt/kimai
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cp /opt/kimai/.env /opt/.env
+ rm -rf /opt/kimai
+ wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip"
+ unzip -q ${RELEASE}.zip
+ mv kimai-${RELEASE} /opt/kimai
+ mv /opt/.env /opt/kimai/.env
+ cd /opt/kimai
+ composer install --no-dev --optimize-autoloader &>/dev/null
+ bin/console kimai:update &>/dev/null
+ chown -R :www-data .
+ chmod -R g+r .
+ chmod -R g+rw var/
+ sudo chown -R www-data:www-data /opt/kimai
+ sudo chmod -R 755 /opt/kimai
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting Apache2"
- systemctl start apache2
- msg_ok "Started Apache2"
+ msg_info "Starting Apache2"
+ systemctl start apache2
+ msg_ok "Started Apache2"
- msg_info "Cleaning Up"
- rm -rf ${RELEASE}.zip
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Cleaning Up"
+ rm -rf ${RELEASE}.zip
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -100,5 +75,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}${CL} \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}"
\ No newline at end of file
diff --git a/ct/komga.sh b/ct/komga.sh
index d47320a8bb2..2f2691c1997 100644
--- a/ct/komga.sh
+++ b/ct/komga.sh
@@ -2,83 +2,58 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: madelyn (DysfunctionalProgramming)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://komga.org/
-function header_info {
-clear
-cat <<"EOF"
- __ __
- / //_/___ ____ ___ ____ _____ _
- / ,< / __ \/ __ `__ \/ __ `/ __ `/
- / /| / /_/ / / / / / / /_/ / /_/ /
-/_/ |_\____/_/ /_/ /_/\__, /\__,_/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Komga"
-var_disk="4"
+TAGS="media;eBook;comic"
var_cpu="1"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /opt/komga/komga.jar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop komga
- msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /opt/komga/komga.jar ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop komga
+ msg_ok "Stopped ${APP}"
- msg_info "Updating ${APP} to ${RELEASE}"
- wget -q "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar"
- rm -rf /opt/komga/komga.jar
- mv -f komga-${RELEASE}.jar /opt/komga/komga.jar
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ wget -q "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar"
+ rm -rf /opt/komga/komga.jar
+ mv -f komga-${RELEASE}.jar /opt/komga/komga.jar
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start komga
- msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}."
-fi
-exit
+ msg_info "Starting ${APP}"
+ systemctl start komga
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}."
+ fi
+ exit
}
start
@@ -86,5 +61,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:25600 ${CL} \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}:25600${CL}"
diff --git a/ct/kubo.sh b/ct/kubo.sh
index 335690f2054..a02dd98193d 100644
--- a/ct/kubo.sh
+++ b/ct/kubo.sh
@@ -1,77 +1,52 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: ulmentflam
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: ulmentflam
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/ipfs/kubo
-function header_info {
-clear
-cat <<"EOF"
- __ __ __
- / //_/_ __/ /_ ____
- / ,< / / / / __ \/ __ \
- / /| / /_/ / /_/ / /_/ /
-/_/ |_\__,_/_.___/\____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Kubo"
-var_disk="4"
+TAGS="sharing"
var_cpu="2"
var_ram="4096"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /usr/local/kubo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- msg_info "Updating $APP LXC"
- apt-get update &>/dev/null
- apt-get -y upgrade &>/dev/null
- wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz"
- tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local
- systemctl restart ipfs.service
- echo "${RELEASE}" >/opt/${APP}_version.txt
- rm "kubo_${RELEASE}_linux-amd64.tar.gz"
- msg_ok "Updated $APP LXC"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /usr/local/kubo ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz"
+ tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local
+ systemctl restart ipfs.service
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ rm "kubo_${RELEASE}_linux-amd64.tar.gz"
+ msg_ok "Updated $APP LXC"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -79,5 +54,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5001/webui ${CL} \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}:5001/webui${CL}"
\ No newline at end of file
diff --git a/ct/lazylibrarian.sh b/ct/lazylibrarian.sh
index f6e1d1a6076..21c4a88b02b 100644
--- a/ct/lazylibrarian.sh
+++ b/ct/lazylibrarian.sh
@@ -1,77 +1,51 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MountyMapleSyrup (MountyMapleSyrup)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: MountyMapleSyrup (MountyMapleSyrup)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://gitlab.com/LazyLibrarian/LazyLibrarian
-function header_info {
-clear
-cat <<"EOF"
- __ __ _ __ _
- / / ____ _____ __ __/ / (_) /_ _________ ______(_)___ _____
- / / / __ `/_ / / / / / / / / __ \/ ___/ __ `/ ___/ / __ `/ __ \
- / /___/ /_/ / / /_/ /_/ / /___/ / /_/ / / / /_/ / / / / /_/ / / / /
-/_____/\__,_/ /___/\__, /_____/_/_.___/_/ \__,_/_/ /_/\__,_/_/ /_/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="LazyLibrarian"
-var_disk="4"
+TAGS="eBook"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/LazyLibrarian/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping LazyLibrarian"
-systemctl stop lazylibrarian
-msg_ok "LazyLibrarian Stopped"
-
-msg_info "Updating $APP LXC"
-git -C /opt/LazyLibrarian pull origin master &>/dev/null
-msg_ok "Updated $APP LXC"
-
-msg_info "Starting LazyLibrarian"
-systemctl start lazylibrarian
-msg_ok "Started LazyLibrarian"
-
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/LazyLibrarian/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping LazyLibrarian"
+ systemctl stop lazylibrarian
+ msg_ok "LazyLibrarian Stopped"
+
+ msg_info "Updating $APP LXC"
+ git -C /opt/LazyLibrarian pull origin master &>/dev/null
+ msg_ok "Updated $APP LXC"
+
+ msg_info "Starting LazyLibrarian"
+ systemctl start lazylibrarian
+ msg_ok "Started LazyLibrarian"
+
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -79,5 +53,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5299${CL} \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}:5299${CL}"
\ No newline at end of file
diff --git a/ct/lidarr.sh b/ct/lidarr.sh
index 11e3359b4a6..a9f290b6552 100644
--- a/ct/lidarr.sh
+++ b/ct/lidarr.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://lidarr.audio/
-function header_info {
-clear
-cat <<"EOF"
- __ _ __
- / / (_)___/ /___ __________
- / / / / __ / __ `/ ___/ ___/
- / /___/ / /_/ / /_/ / / / /
-/_____/_/\__,_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Lidarr"
-var_disk="4"
+TAGS="*arr;torrent;usenet"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var/lib/lidarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/lidarr/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8686${CL} \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}:8686${CL}"
\ No newline at end of file
diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh
index 1ba50c52aa7..169e157c2d2 100644
--- a/ct/linkwarden.sh
+++ b/ct/linkwarden.sh
@@ -2,96 +2,70 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://linkwarden.app/
-function header_info {
-clear
-cat <<"EOF"
- __ _ __ __
- / / (_)___ / /___ ______ __________/ /__ ____
- / / / / __ \/ //_/ | /| / / __ `/ ___/ __ / _ \/ __ \
- / /___/ / / / / ,< | |/ |/ / /_/ / / / /_/ / __/ / / /
-/_____/_/_/ /_/_/|_| |__/|__/\__,_/_/ \__,_/\___/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Linkwarden"
-var_disk="12"
+TAGS="bookmark"
var_cpu="2"
var_ram="2048"
+var_disk="12"
var_os="ubuntu"
var_version="22.04"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/linkwarden ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop linkwarden
- msg_ok "Stopped ${APP}"
-
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt
- mv /opt/linkwarden/.env /opt/.env
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/linkwarden ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
- wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip"
- unzip -q ${RELEASE}.zip
- mv linkwarden-${RELEASE:1} /opt/linkwarden
- cd /opt/linkwarden
- yarn &>/dev/null
- npx playwright install-deps &>/dev/null
- yarn playwright install &>/dev/null
- cp /opt/.env /opt/linkwarden/.env
- yarn build &>/dev/null
- yarn prisma migrate deploy &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop linkwarden
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt
+ mv /opt/linkwarden/.env /opt/.env
+ RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip"
+ unzip -q ${RELEASE}.zip
+ mv linkwarden-${RELEASE:1} /opt/linkwarden
+ cd /opt/linkwarden
+ yarn &>/dev/null
+ npx playwright install-deps &>/dev/null
+ yarn playwright install &>/dev/null
+ cp /opt/.env /opt/linkwarden/.env
+ yarn build &>/dev/null
+ yarn prisma migrate deploy &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start linkwarden
- msg_ok "Started ${APP}"
- msg_info "Cleaning up"
- rm -rf /opt/${RELEASE}.zip
- rm -rf /opt/linkwarden_bak
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}."
-fi
-exit
+ msg_info "Starting ${APP}"
+ systemctl start linkwarden
+ msg_ok "Started ${APP}"
+ msg_info "Cleaning up"
+ rm -rf /opt/${RELEASE}.zip
+ rm -rf /opt/linkwarden_bak
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}."
+ fi
+ exit
}
start
@@ -99,5 +73,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP}${CL} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/listmonk.sh b/ct/listmonk.sh
index 24ebbbf936f..0ccc39803ca 100644
--- a/ct/listmonk.sh
+++ b/ct/listmonk.sh
@@ -2,94 +2,69 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: bvdberg01
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://listmonk.app/
-function header_info {
-clear
-cat <<"EOF"
- ___ __ __
- / (_)____/ /_____ ___ ____ ____ / /__
- / / / ___/ __/ __ `__ \/ __ \/ __ \/ //_/
- / / (__ ) /_/ / / / / / /_/ / / / / ,<
-/_/_/____/\__/_/ /_/ /_/\____/_/ /_/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="listmonk"
-var_disk="4"
+TAGS="newsletter"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/listmonk.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/listmonk.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
-RELEASE=$(curl -s https://api.github.com/repos/knadh/listmonk/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
- msg_info "Stopping ${APP}"
- systemctl stop listmonk
- msg_ok "Stopped ${APP}"
+ RELEASE=$(curl -s https://api.github.com/repos/knadh/listmonk/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
+ msg_info "Stopping ${APP}"
+ systemctl stop listmonk
+ msg_ok "Stopped ${APP}"
- msg_info "Updating ${APP} to v${RELEASE}"
- cd /opt
- mv /opt/listmonk/ /opt/listmonk-backup
- mkdir /opt/listmonk/
- wget -q "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz"
- tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk
- mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml
- mv /opt/listmonk-backup/uploads /opt/listmonk/uploads
- /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated $APP to v${RELEASE}"
+ msg_info "Updating ${APP} to v${RELEASE}"
+ cd /opt
+ mv /opt/listmonk/ /opt/listmonk-backup
+ mkdir /opt/listmonk/
+ wget -q "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz"
+ tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk
+ mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml
+ mv /opt/listmonk-backup/uploads /opt/listmonk/uploads
+ /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated $APP to v${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start listmonk
- msg_ok "Started ${APP}"
+ msg_info "Starting ${APP}"
+ systemctl start listmonk
+ msg_ok "Started ${APP}"
- msg_info "Cleaning up"
- rm -rf "/opt/listmonk_${RELEASE}_linux_amd64.tar.gz"
- rm -rf /opt/listmonk-backup/
- msg_ok "Cleaned"
+ msg_info "Cleaning up"
+ rm -rf "/opt/listmonk_${RELEASE}_linux_amd64.tar.gz"
+ rm -rf /opt/listmonk-backup/
+ msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at v${RELEASE}"
-fi
-exit
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}"
+ fi
+ exit
}
start
@@ -97,5 +72,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9000${CL} \n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+echo -e "${INFO}${YW} Access it using the following URL:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}"
\ No newline at end of file
diff --git a/ct/lldap.sh b/ct/lldap.sh
index a31ef14f57d..bf7de386434 100644
--- a/ct/lldap.sh
+++ b/ct/lldap.sh
@@ -1,69 +1,42 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: remz1337
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: remz1337
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/lldap/lldap
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / / /___/ /___ _____
- / / / __ / __ `/ __ \
- / / / /_/ / /_/ / /_/ /
-/_/_/\__,_/\__,_/ .___/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="lldap"
-var_disk="4"
+TAGS="ldap"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/lldap.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-apt update
-apt upgrade -y lldap
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/lldap.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ apt update
+ apt upgrade -y lldap
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -71,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:17170${CL} \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}:17170${CL}"
\ No newline at end of file
diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh
index 4bb2a27d343..33a22913b2e 100644
--- a/ct/lubelogger.sh
+++ b/ct/lubelogger.sh
@@ -2,67 +2,36 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: kristocopani
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://lubelogger.com/
-function header_info {
-clear
-cat <<"EOF"
- __ __ __
- / / __ __/ /_ ___ / / ____ ____ _____ ____ _____
- / / / / / / __ \/ _ \/ / / __ \/ __ `/ __ `/ _ \/ ___/
- / /___/ /_/ / /_/ / __/ /___/ /_/ / /_/ / /_/ / __/ /
-/_____/\__,_/_.___/\___/_____/\____/\__, /\__, /\___/_/
- /____//____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="LubeLogger"
-var_disk="2"
+TAGS="verhicle;car"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-
+ header_info
+ check_container_storage
+ check_container_resources
if [[ ! -f /etc/systemd/system/lubelogger.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
-
RELEASE=$(curl -s https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".")
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
@@ -100,5 +69,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \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}:5000${CL}"
\ No newline at end of file
diff --git a/ct/mafl.sh b/ct/mafl.sh
index 730671d55c0..bfe79d3b620 100644
--- a/ct/mafl.sh
+++ b/ct/mafl.sh
@@ -2,61 +2,36 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://mafl.hywax.space/
-function header_info {
- clear
- cat <<"EOF"
- __ ___ ______
- / |/ /___ _/ __/ /
- / /|_/ / __ `/ /_/ /
- / / / / /_/ / __/ /
-/_/ /_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Mafl"
-var_disk="6"
+TAGS="dashboard"
var_cpu="2"
var_ram="2048"
+var_disk="6"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -d /opt/mafl ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ if [[ ! -d /opt/mafl ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
RELEASE=$(curl -s https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Updating Mafl to v${RELEASE} (Patience)"
systemctl stop mafl
@@ -77,5 +52,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/magicmirror.sh b/ct/magicmirror.sh
index 6a92747f638..a31dd39a61c 100644
--- a/ct/magicmirror.sh
+++ b/ct/magicmirror.sh
@@ -2,62 +2,36 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://magicmirror.builders/
-function header_info {
-clear
-cat <<"EOF"
- __ ___ _ __ ____
- / |/ /___ _____ _(_)____/ |/ (_)_____________ _____
- / /|_/ / __ / __ / / ___/ /|_/ / / ___/ ___/ __ \/ ___/
- / / / / /_/ / /_/ / / /__/ / / / / / / / / /_/ / /
-/_/ /_/\__,_/\__, /_/\___/_/ /_/_/_/ /_/ \____/_/
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MagicMirror"
-var_disk="3"
+TAGS="smarthome"
var_cpu="1"
var_ram="512"
+var_disk="3"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/magicmirror ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/magicmirror ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
@@ -65,12 +39,12 @@ if [[ ! -d /opt/magicmirror ]]; then msg_error "No ${APP} Installation Found!";
echo "Installed NPM..."
fi
fi
-msg_info "Updating ${APP} LXC"
-cd /opt/magicmirror
-git pull &>/dev/null
-npm install --only=prod --omit=dev &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ msg_info "Updating ${APP} LXC"
+ cd /opt/magicmirror
+ git pull &>/dev/null
+ npm install --only=prod --omit=dev &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -78,5 +52,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080${CL} \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}:8080${CL}"
\ No newline at end of file
diff --git a/ct/mariadb.sh b/ct/mariadb.sh
index 526231095d3..956e105bc55 100644
--- a/ct/mariadb.sh
+++ b/ct/mariadb.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://mariadb.org/
-function header_info {
-clear
-cat <<"EOF"
- __ ___ _ ____ ____
- / |/ /___ ______(_)___ _/ __ \/ __ )
- / /|_/ / __ / ___/ / __ / / / / __ |
- / / / / /_/ / / / / /_/ / /_/ / /_/ /
-/_/ /_/\__,_/_/ /_/\__,_/_____/_____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MariaDB"
-var_disk="4"
+TAGS="database"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/mariadb.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/mariadb.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,3 +44,6 @@ 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 IP:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}${IP}:3306${CL}"
\ No newline at end of file
diff --git a/ct/matterbridge.sh b/ct/matterbridge.sh
index 8cac08a8e41..3b68c7e19b5 100644
--- a/ct/matterbridge.sh
+++ b/ct/matterbridge.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/Luligu/matterbridge
-function header_info {
-clear
-cat <<"EOF"
- __ ___ __ __ __ _ __
- / |/ /___ _/ /_/ /____ _____/ /_ _____(_)___/ /___ ____
- / /|_/ / __ `/ __/ __/ _ \/ ___/ __ \/ ___/ / __ / __ `/ _ \
- / / / / /_/ / /_/ /_/ __/ / / /_/ / / / / /_/ / /_/ / __/
-/_/ /_/\__,_/\__/\__/\___/_/ /_.___/_/ /_/\__,_/\__, /\___/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Matterbridge"
-var_disk="4"
+TAGS="matter;smarthome"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /root/Matterbridge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "Update via the Matterbridge UI"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /root/Matterbridge ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "Update via the Matterbridge UI"
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8283${CL} \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}:8283${CL}"
\ No newline at end of file
diff --git a/ct/mediamtx.sh b/ct/mediamtx.sh
index f6acb4d6fbf..b062ef4dd36 100644
--- a/ct/mediamtx.sh
+++ b/ct/mediamtx.sh
@@ -3,63 +3,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/bluenviron/mediamtx
-function header_info {
-clear
-cat <<"EOF"
- __ ___ ___ __ __________ __
- / |/ /__ ____/ (_)___ _/ |/ /_ __/ |/ /
- / /|_/ / _ \/ __ / / __ `/ /|_/ / / / | /
- / / / / __/ /_/ / / /_/ / / / / / / / |
-/_/ /_/\___/\__,_/_/\__,_/_/ /_/ /_/ /_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MediaMTX"
-var_disk="4"
+TAGS="media"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/mediamtx/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/mediamtx/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -67,3 +42,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/medusa.sh b/ct/medusa.sh
index e9e494135ee..a77958a2633 100644
--- a/ct/medusa.sh
+++ b/ct/medusa.sh
@@ -2,79 +2,53 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/pymedusa/Medusa.git
-function header_info {
-clear
-cat <<"EOF"
- __ ___ __
- / |/ /__ ____/ /_ ___________ _
- / /|_/ / _ \/ __ / / / / ___/ __ `/
- / / / / __/ /_/ / /_/ (__ ) /_/ /
-/_/ /_/\___/\__,_/\__,_/____/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Medusa"
-var_disk="6"
+TAGS="media"
var_cpu="2"
var_ram="1024"
+var_disk="6"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/medusa ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP}"
-systemctl stop medusa
-msg_ok "Stopped ${APP}"
-
-msg_info "Updating ${APP}"
-cd /opt/medusa
-output=$(git pull --no-rebase)
-if echo "$output" | grep -q "Already up to date."
-then
- msg_ok "$APP is already up to date."
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/medusa ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop medusa
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Updating ${APP}"
+ cd /opt/medusa
+ output=$(git pull --no-rebase)
+ if echo "$output" | grep -q "Already up to date."; then
+ msg_ok "$APP is already up to date."
+ exit
+ fi
+ msg_ok "Updated Successfully"
+
+ msg_info "Starting ${APP}"
+ systemctl start medusa
+ msg_ok "Started ${APP}"
exit
-fi
-msg_ok "Updated Successfully"
-
-msg_info "Starting ${APP}"
-systemctl start medusa
-msg_ok "Started ${APP}"
-exit
}
start
@@ -82,5 +56,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8081${CL} \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}:8081${CL}"
\ No newline at end of file
diff --git a/ct/memos.sh b/ct/memos.sh
index ab7017dd06c..2df208be0cf 100644
--- a/ct/memos.sh
+++ b/ct/memos.sh
@@ -1,90 +1,63 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.usememos.com/
-function header_info {
-clear
-cat <<"EOF"
- __ ___
- / |/ /__ ____ ___ ____ _____
- / /|_/ / _ \/ __ `__ \/ __ \/ ___/
- / / / / __/ / / / / / /_/ (__ )
-/_/ /_/\___/_/ /_/ /_/\____/____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Memos"
-var_disk="7"
+TAGS="notes"
var_cpu="2"
var_ram="2048"
+var_disk="7"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/memos ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP (Patience)"
-cd /opt/memos
-output=$(git pull --no-rebase)
-if echo "$output" | grep -q "Already up to date."
-then
- msg_ok "$APP is already up to date."
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/memos ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP (Patience)"
+ cd /opt/memos
+ output=$(git pull --no-rebase)
+ if echo "$output" | grep -q "Already up to date."; then
+ msg_ok "$APP is already up to date."
+ exit
+ fi
+ systemctl stop memos
+ cd /opt/memos/web
+ pnpm i --frozen-lockfile &>/dev/null
+ pnpm build &>/dev/null
+ cd /opt/memos
+ mkdir -p /opt/memos/server/dist
+ cp -r web/dist/* /opt/memos/server/dist/
+ cp -r web/dist/* /opt/memos/server/router/frontend/dist/
+ go build -o /opt/memos/memos -tags=embed bin/memos/main.go &>/dev/null
+ systemctl start memos
+ msg_ok "Updated $APP"
exit
-fi
-systemctl stop memos
-cd /opt/memos/web
-pnpm i --frozen-lockfile &>/dev/null
-pnpm build &>/dev/null
-cd /opt/memos
-mkdir -p /opt/memos/server/dist
-cp -r web/dist/* /opt/memos/server/dist/
-cp -r web/dist/* /opt/memos/server/router/frontend/dist/
-go build -o /opt/memos/memos -tags=embed bin/memos/main.go &>/dev/null
-systemctl start memos
-msg_ok "Updated $APP"
-exit
}
-
start
build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9030${CL} \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}:9030${CL}"
\ No newline at end of file
diff --git a/ct/meshcentral.sh b/ct/meshcentral.sh
index 6f2ebe7c5ef..07a3953a52b 100644
--- a/ct/meshcentral.sh
+++ b/ct/meshcentral.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://meshcentral.com/
-function header_info {
-clear
-cat <<"EOF"
- __ ___ __ ______ __ __
- / |/ /__ _____/ /_ / ____/__ ____ / /__________ _/ /
- / /|_/ / _ \/ ___/ __ \/ / / _ \/ __ \/ __/ ___/ __ / /
- / / / / __(__ ) / / / /___/ __/ / / / /_/ / / /_/ / /
-/_/ /_/\___/____/_/ /_/\____/\___/_/ /_/\__/_/ \__,_/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MeshCentral"
-var_disk="2"
+TAGS="remote management"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/meshcentral ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/meshcentral ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}${CL} \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}"
\ No newline at end of file
diff --git a/ct/metube.sh b/ct/metube.sh
index ff09ace487a..9a2ea57755b 100644
--- a/ct/metube.sh
+++ b/ct/metube.sh
@@ -2,91 +2,66 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/alexta69/metube
-function header_info {
-clear
-cat <<"EOF"
- __ ___ ______ __
- / |/ /__/_ __/_ __/ /_ ___
- / /|_/ / _ \/ / / / / / __ \/ _ \
- / / / / __/ / / /_/ / /_/ / __/
-/_/ /_/\___/_/ \__,_/_.___/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MeTube"
-var_disk="10"
+TAGS="media;youtube"
var_cpu="1"
var_ram="1024"
+var_disk="10"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/metube ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP} Service"
-systemctl stop metube
-msg_ok "Stopped ${APP} Service"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/metube ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP} Service"
+ systemctl stop metube
+ msg_ok "Stopped ${APP} Service"
-msg_info "Updating ${APP} to latest Git"
-cd /opt
-if [ -d metube_bak ]; then
- rm -rf metube_bak
-fi
-mv metube metube_bak
-git clone https://github.com/alexta69/metube /opt/metube >/dev/null 2>&1
-cd /opt/metube/ui
-npm install >/dev/null 2>&1
-node_modules/.bin/ng build >/dev/null 2>&1
-cd /opt/metube
-cp /opt/metube_bak/.env /opt/metube/
-pip3 install pipenv >/dev/null 2>&1
-pipenv install >/dev/null 2>&1
+ msg_info "Updating ${APP} to latest Git"
+ cd /opt
+ if [ -d metube_bak ]; then
+ rm -rf metube_bak
+ fi
+ mv metube metube_bak
+ git clone https://github.com/alexta69/metube /opt/metube >/dev/null 2>&1
+ cd /opt/metube/ui
+ npm install >/dev/null 2>&1
+ node_modules/.bin/ng build >/dev/null 2>&1
+ cd /opt/metube
+ cp /opt/metube_bak/.env /opt/metube/
+ pip3 install pipenv >/dev/null 2>&1
+ pipenv install >/dev/null 2>&1
-if [ -d "/opt/metube_bak" ]; then
-rm -rf /opt/metube_bak
-fi
-msg_ok "Updated ${APP} to latest Git"
+ if [ -d "/opt/metube_bak" ]; then
+ rm -rf /opt/metube_bak
+ fi
+ msg_ok "Updated ${APP} to latest Git"
-msg_info "Starting ${APP} Service"
-systemctl start metube
-sleep 1
-msg_ok "Started ${APP} Service"
-msg_ok "Updated Successfully!\n"
-exit
+ msg_info "Starting ${APP} Service"
+ systemctl start metube
+ sleep 1
+ msg_ok "Started ${APP} Service"
+ msg_ok "Updated Successfully!\n"
+ exit
}
start
@@ -94,5 +69,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8081${CL} \n"
\ No newline at end of file
+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}:8081${CL}"
\ No newline at end of file
diff --git a/ct/mongodb.sh b/ct/mongodb.sh
index 44bbf386e32..b2f4b12ceb0 100644
--- a/ct/mongodb.sh
+++ b/ct/mongodb.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.mongodb.com/de-de
-function header_info {
-clear
-cat <<"EOF"
- __ ___ ____ ____
- / |/ /___ ____ ____ _____ / __ \/ __ )
- / /|_/ / __ \/ __ \/ __ `/ __ \/ / / / __ |
- / / / / /_/ / / / / /_/ / /_/ / /_/ / /_/ /
-/_/ /_/\____/_/ /_/\__, /\____/_____/_____/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MongoDB"
-var_disk="4"
+TAGS="database"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/mongodb-org-7.0.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/mongodb-org-7.0.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,3 +44,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/motioneye.sh b/ct/motioneye.sh
index 76e2cb65243..3105a4d7567 100644
--- a/ct/motioneye.sh
+++ b/ct/motioneye.sh
@@ -2,65 +2,40 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/motioneye-project/motioneye
-function header_info {
-clear
-cat <<"EOF"
- __ ___ __ _
- / |/ /___ / /_(_)___ ____ ___ __ _____
- / /|_/ / __ \/ __/ / __ \/ __ \/ _ \/ / / / _ \
- / / / / /_/ / /_/ / /_/ / / / / __/ /_/ / __/
-/_/ /_/\____/\__/_/\____/_/ /_/\___/\__, /\___/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Motioneye"
-var_disk="8"
+TAGS="nvr"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/motioneye.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-pip install motioneye --upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/motioneye.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ pip install motioneye --upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -68,5 +43,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8765${CL} \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}:8765${CL}"
\ No newline at end of file
diff --git a/ct/mqtt.sh b/ct/mqtt.sh
index 0015fbb8651..dcec33f5ec1 100644
--- a/ct/mqtt.sh
+++ b/ct/mqtt.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://mosquitto.org/
-function header_info {
-clear
-cat <<"EOF"
- __ ___ ____ _ ____________
- / |/ /___ _____/ __ \__ __(_)_ __/_ __/___
- / /|_/ / __ \/ ___/ / / / / / / / / / / / / __ \
- / / / / /_/ (__ ) /_/ / /_/ / / / / / / / /_/ /
-/_/ /_/\____/____/\___\_\__,_/_/ /_/ /_/ \____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MQTT"
-var_disk="2"
+TAGS="mqtt"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/mosquitto/conf.d/default.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/mosquitto/conf.d/default.conf ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,3 +44,6 @@ 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 IP:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}${IP}:1883${CL}"
\ No newline at end of file
diff --git a/ct/mylar3.sh b/ct/mylar3.sh
index 82b66663399..44556f41421 100644
--- a/ct/mylar3.sh
+++ b/ct/mylar3.sh
@@ -2,72 +2,46 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: davalanche
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/mylar3/mylar3
-function header_info {
-clear
-cat <<"EOF"
- __ ___ __ _____
- / |/ /_ __/ /___ _____|__ /
- / /|_/ / / / / / __ `/ ___//_ <
- / / / / /_/ / / /_/ / / ___/ /
-/_/ /_/\__, /_/\__,_/_/ /____/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Mylar3"
-var_disk="4"
+TAGS="torrent;downloader;comic"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-if [[ ! -d /opt/mylar3 ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name')
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Updating ${APP} to ${RELEASE}"
- rm -rf /opt/mylar3/* /opt/mylar3/.*
- wget -qO- https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz | tar -xz --strip-components=1 -C /opt/mylar3
- systemctl restart mylar3
- echo "${RELEASE}" > /opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ header_info
+ if [[ ! -d /opt/mylar3 ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name')
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Updating ${APP} to ${RELEASE}"
+ rm -rf /opt/mylar3/* /opt/mylar3/.*
+ wget -qO- https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz | tar -xz --strip-components=1 -C /opt/mylar3
+ systemctl restart mylar3
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -75,5 +49,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8090${CL} \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}:8090${CL}"
\ No newline at end of file
diff --git a/ct/myspeed.sh b/ct/myspeed.sh
index 4d9601f2d2a..567f8388292 100644
--- a/ct/myspeed.sh
+++ b/ct/myspeed.sh
@@ -1,95 +1,68 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://myspeed.dev/
-function header_info {
-clear
-cat <<"EOF"
- __ ___ _____ __
- / |/ /_ __/ ___/____ ___ ___ ____/ /
- / /|_/ / / / /\__ \/ __ \/ _ \/ _ \/ __ /
- / / / / /_/ /___/ / /_/ / __/ __/ /_/ /
-/_/ /_/\__, //____/ .___/\___/\___/\__,_/
- /____/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MySpeed"
-var_disk="4"
+TAGS="tracking"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/myspeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(wget -q https://github.com/gnmyt/myspeed/releases/latest -O - | grep "title>Release" | cut -d " " -f 5)
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/myspeed ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(wget -q https://github.com/gnmyt/myspeed/releases/latest -O - | grep "title>Release" | cut -d " " -f 5)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping ${APP} Service"
- systemctl stop myspeed
- msg_ok "Stopped ${APP} Service"
+ msg_info "Stopping ${APP} Service"
+ systemctl stop myspeed
+ msg_ok "Stopped ${APP} Service"
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt
- rm -rf myspeed_bak
- mv myspeed myspeed_bak
- wget -q https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip
- unzip -q MySpeed-$RELEASE.zip -d myspeed
- cd myspeed
- npm install >/dev/null 2>&1
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt
+ rm -rf myspeed_bak
+ mv myspeed myspeed_bak
+ wget -q https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip
+ unzip -q MySpeed-$RELEASE.zip -d myspeed
+ cd myspeed
+ npm install >/dev/null 2>&1
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP} Service"
- systemctl start myspeed
- msg_ok "Started ${APP} Service"
+ msg_info "Starting ${APP} Service"
+ systemctl start myspeed
+ msg_ok "Started ${APP} Service"
- msg_info "Cleaning up"
- rm -rf MySpeed-$RELEASE.zip
- msg_ok "Cleaned"
+ msg_info "Cleaning up"
+ rm -rf MySpeed-$RELEASE.zip
+ msg_ok "Cleaned"
- msg_ok "Updated Successfully!\n"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_ok "Updated Successfully!\n"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -97,5 +70,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:5216${CL} \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}:5216${CL}"
\ No newline at end of file
diff --git a/ct/mysql.sh b/ct/mysql.sh
index 06352bcd53e..9218a60d8f6 100644
--- a/ct/mysql.sh
+++ b/ct/mysql.sh
@@ -1,68 +1,42 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.mysql.com/
-function header_info {
-clear
-cat <<"EOF"
- __ ___ _____ ____ __
- / |/ /_ __/ ___// __ \ / /
- / /|_/ / / / /\__ \/ / / / / /
- / / / / /_/ /___/ / /_/ / / /___
-/_/ /_/\__, //____/\___\_\/_____/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="MySQL"
-var_disk="4"
+TAGS="database"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /usr/share/keyrings/mysql.gpg ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /usr/share/keyrings/mysql.gpg ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -70,3 +44,6 @@ 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 IP:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}{IP}:3306${CL}"
\ No newline at end of file
diff --git a/ct/n8n.sh b/ct/n8n.sh
index ead77f73207..aaff50f8f7b 100644
--- a/ct/n8n.sh
+++ b/ct/n8n.sh
@@ -2,62 +2,36 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://n8n.io/
-function header_info {
-clear
-cat <<"EOF"
- ___
- / _ \
- _ __ | (_) |____
- | _ \ > _ <| _ \
- | | | | (_) | | | |
- |_| |_|\___/|_| |_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="n8n"
-var_disk="6"
+TAGS="automation"
var_cpu="2"
var_ram="2048"
+var_disk="6"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/n8n.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/n8n.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
@@ -65,11 +39,11 @@ if [[ ! -f /etc/systemd/system/n8n.service ]]; then msg_error "No ${APP} Install
echo "Installed NPM..."
fi
fi
-msg_info "Updating ${APP} LXC"
-npm update -g n8n &>/dev/null
-systemctl restart n8n
-msg_ok "Updated Successfully"
-exit
+ msg_info "Updating ${APP} LXC"
+ npm update -g n8n &>/dev/null
+ systemctl restart n8n
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -77,5 +51,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5678${CL} \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}:5678${CL}"
\ No newline at end of file
diff --git a/ct/navidrome.sh b/ct/navidrome.sh
index 6a33bd238b3..1d3e40f6df8 100644
--- a/ct/navidrome.sh
+++ b/ct/navidrome.sh
@@ -2,77 +2,52 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.navidrome.org/
-function header_info {
-clear
-cat <<"EOF"
- _ __ _ __
- / | / /___ __ __(_)___/ /________ ____ ___ ___
- / |/ / __ / | / / / __ / ___/ __ \/ __ __ \/ _ \
- / /| / /_/ /| |/ / / /_/ / / / /_/ / / / / / / __/
-/_/ |_/\__,_/ |___/_/\__,_/_/ \____/_/ /_/ /_/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Navidrome"
-var_disk="4"
+TAGS="music"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/navidrome ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
-msg_info "Stopping ${APP}"
-systemctl stop navidrome.service
-msg_ok "Stopped Navidrome"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/navidrome ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ msg_info "Stopping ${APP}"
+ systemctl stop navidrome.service
+ msg_ok "Stopped Navidrome"
-msg_info "Updating to v${RELEASE}"
-wget https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz -O Navidrome.tar.gz &>/dev/null
-tar -xvzf Navidrome.tar.gz -C /opt/navidrome/ &>/dev/null
-msg_ok "Updated ${APP}"
-rm Navidrome.tar.gz
+ msg_info "Updating to v${RELEASE}"
+ wget https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz -O Navidrome.tar.gz &>/dev/null
+ tar -xvzf Navidrome.tar.gz -C /opt/navidrome/ &>/dev/null
+ msg_ok "Updated ${APP}"
+ rm Navidrome.tar.gz
-msg_info "${GN} Starting ${APP}"
-systemctl start navidrome.service
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_info "${GN} Starting ${APP}"
+ systemctl start navidrome.service
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -80,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:4533${CL} \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}:4533${CL}"
\ No newline at end of file
diff --git a/ct/neo4j.sh b/ct/neo4j.sh
index 95757687908..5e5894f1513 100644
--- a/ct/neo4j.sh
+++ b/ct/neo4j.sh
@@ -1,68 +1,42 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: havardthom
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: havardthom
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://neo4j.com/product/neo4j-graph-database/
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ __ _
- / | / /__ ____ / // / (_)
- / |/ / _ \/ __ \/ // /_/ /
- / /| / __/ /_/ /__ __/ /
-/_/ |_/\___/\____/ /_/_/ /
- /___/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Neo4j"
-var_disk="4"
+TAGS="database"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/neo4j ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/neo4j ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Browser should be reachable by going to the following URL.
- ${BL}http://${IP}:7474${CL} \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}:7474${CL}"
\ No newline at end of file
diff --git a/ct/netbox.sh b/ct/netbox.sh
index f2b13b9d1fd..fa80d901af9 100644
--- a/ct/netbox.sh
+++ b/ct/netbox.sh
@@ -2,107 +2,82 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: bvdberg01
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://netboxlabs.com/
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ ____
- / | / /__ / /_/ __ )____ _ __
- / |/ / _ \/ __/ __ / __ \| |/_/
- / /| / __/ /_/ /_/ / /_/ /> <
-/_/ |_/\___/\__/_____/\____/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="NetBox"
-var_disk="4"
+TAGS="network"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/netbox.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/netbox.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
-RELEASE=$(curl -s https://api.github.com/repos/netbox-community/netbox/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
+ RELEASE=$(curl -s https://api.github.com/repos/netbox-community/netbox/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
- msg_info "Stopping ${APP}"
- systemctl stop netbox netbox-rq
- msg_ok "Stopped ${APP}"
+ msg_info "Stopping ${APP}"
+ systemctl stop netbox netbox-rq
+ msg_ok "Stopped ${APP}"
- msg_info "Updating $APP to v${RELEASE}"
- mv /opt/netbox/ /opt/netbox-backup
- cd /opt
- wget -q "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip"
- unzip -q "v${RELEASE}.zip"
- mv /opt/netbox-${RELEASE}/ /opt/netbox/
-
- cp -r /opt/netbox-backup/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/
- cp -r /opt/netbox-backup/netbox/media/ /opt/netbox/netbox/
- cp -r /opt/netbox-backup/netbox/scripts /opt/netbox/netbox/
- cp -r /opt/netbox-backup/netbox/reports /opt/netbox/netbox/
- cp -r /opt/netbox-backup/gunicorn.py /opt/netbox/
+ msg_info "Updating $APP to v${RELEASE}"
+ mv /opt/netbox/ /opt/netbox-backup
+ cd /opt
+ wget -q "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q "v${RELEASE}.zip"
+ mv /opt/netbox-${RELEASE}/ /opt/netbox/
- if [ -f /opt/netbox-backup/local_requirements.txt ]; then
- cp -r /opt/netbox-backup/local_requirements.txt /opt/netbox/
- fi
+ cp -r /opt/netbox-backup/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/
+ cp -r /opt/netbox-backup/netbox/media/ /opt/netbox/netbox/
+ cp -r /opt/netbox-backup/netbox/scripts /opt/netbox/netbox/
+ cp -r /opt/netbox-backup/netbox/reports /opt/netbox/netbox/
+ cp -r /opt/netbox-backup/gunicorn.py /opt/netbox/
- if [ -f /opt/netbox-backup/netbox/netbox/ldap_config.py ]; then
- cp -r /opt/netbox-backup/netbox/netbox/ldap_config.py /opt/netbox/netbox/netbox/
- fi
-
- /opt/netbox/upgrade.sh &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated $APP to v${RELEASE}"
+ if [ -f /opt/netbox-backup/local_requirements.txt ]; then
+ cp -r /opt/netbox-backup/local_requirements.txt /opt/netbox/
+ fi
- msg_info "Starting ${APP}"
- systemctl start netbox netbox-rq
- msg_ok "Started ${APP}"
+ if [ -f /opt/netbox-backup/netbox/netbox/ldap_config.py ]; then
+ cp -r /opt/netbox-backup/netbox/netbox/ldap_config.py /opt/netbox/netbox/netbox/
+ fi
- msg_info "Cleaning up"
- rm -r "/opt/v${RELEASE}.zip"
- rm -r /opt/netbox-backup
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at v${RELEASE}"
-fi
-exit
+ /opt/netbox/upgrade.sh &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated $APP to v${RELEASE}"
+
+ msg_info "Starting ${APP}"
+ systemctl start netbox netbox-rq
+ msg_ok "Started ${APP}"
+
+ msg_info "Cleaning up"
+ rm -r "/opt/v${RELEASE}.zip"
+ rm -r /opt/netbox-backup
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}"
+ fi
+ exit
}
start
@@ -110,5 +85,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}https://${IP}${CL} \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}"
\ No newline at end of file
diff --git a/ct/nextcloudpi.sh b/ct/nextcloudpi.sh
index c9a51281bb8..dfef9addd6a 100644
--- a/ct/nextcloudpi.sh
+++ b/ct/nextcloudpi.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.turnkeylinux.org/nextcloud
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ ________ ______ _
- / | / /__ _ __/ /_/ ____/ /___ __ ______/ / __ \(_)
- / |/ / _ \| |/_/ __/ / / / __ \/ / / / __ / /_/ / /
- / /| / __/> /_/ /___/ / /_/ / /_/ / /_/ / ____/ /
-/_/ |_/\___/_/|_|\__/\____/_/\____/\__,_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="NextCloudPi"
-var_disk="8"
+TAGS="cloud"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /lib/systemd/system/nextcloud-domain.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /lib/systemd/system/nextcloud-domain.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}https://${IP}/${CL} \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}"
\ No newline at end of file
diff --git a/ct/nextpvr.sh b/ct/nextpvr.sh
index 560230f8aae..4633d2ef58c 100644
--- a/ct/nextpvr.sh
+++ b/ct/nextpvr.sh
@@ -6,82 +6,57 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# Source: https://nextpvr.com/
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ ____ _ ______
- / | / /__ _ __/ /_/ __ \ | / / __ \
- / |/ / _ \| |/_/ __/ /_/ / | / / /_/ /
- / /| / __/> /_/ ____/| |/ / _, _/
-/_/ |_/\___/_/|_|\__/_/ |___/_/ |_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="NextPVR"
-var_disk="5"
+TAGS="pvr"
var_cpu="1"
var_ram="1024"
+var_disk="5"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/nextpvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP}"
-systemctl stop nextpvr-server
-msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/nextpvr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop nextpvr-server
+ msg_ok "Stopped ${APP}"
-msg_info "Updating LXC packages"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated LXC packages"
+ msg_info "Updating LXC packages"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated LXC packages"
-msg_info "Updating ${APP}"
-cd /opt
-wget -q https://nextpvr.com/nextpvr-helper.deb
-dpkg -i nextpvr-helper.deb &>/dev/null
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ cd /opt
+ wget -q https://nextpvr.com/nextpvr-helper.deb
+ dpkg -i nextpvr-helper.deb &>/dev/null
+ msg_ok "Updated ${APP}"
-msg_info "Starting ${APP}"
-systemctl start nextpvr-server
-msg_ok "Started ${APP}"
+ msg_info "Starting ${APP}"
+ systemctl start nextpvr-server
+ msg_ok "Started ${APP}"
-msg_info "Cleaning Up"
-rm -rf /opt/nextpvr-helper.deb
-msg_ok "Cleaned"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Cleaning Up"
+ rm -rf /opt/nextpvr-helper.deb
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -89,5 +64,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8866${CL} \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}:8866${CL}"
\ No newline at end of file
diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh
index 476989bbf9a..5ab75058db8 100644
--- a/ct/nginxproxymanager.sh
+++ b/ct/nginxproxymanager.sh
@@ -2,57 +2,28 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://nginxproxymanager.com/
-function header_info {
- clear
- cat <<"EOF"
- _ __ _ ____ __ ___
- / | / /___ _(_)___ _ __ / __ \_________ __ ____ __ / |/ /___ _____ ____ _____ ____ _____
- / |/ / __ / / __ \| |/_/ / /_/ / ___/ __ \| |/_/ / / / / /|_/ / __ / __ \/ __ / __ / _ \/ ___/
- / /| / /_/ / / / / /> < / ____/ / / /_/ /> /_/ / / / / / /_/ / / / / /_/ / /_/ / __/ /
-/_/ |_/\__, /_/_/ /_/_/|_| /_/ /_/ \____/_/|_|\__, / /_/ /_/\__,_/_/ /_/\__,_/\__, /\___/_/
- /____/ /____/ /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Nginx Proxy Manager"
-var_disk="4"
+TAGS="proxy"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -189,5 +160,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:81${CL}\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}:81${CL}"
\ No newline at end of file
diff --git a/ct/nocodb.sh b/ct/nocodb.sh
index 98755f1bb29..7804ee3280f 100644
--- a/ct/nocodb.sh
+++ b/ct/nocodb.sh
@@ -2,70 +2,45 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.nocodb.com/
-function header_info {
-clear
-cat <<"EOF"
- _ __ ____ ____
- / | / /___ ____ ___ / __ \/ __ )
- / |/ / __ \/ ___/ __ \/ / / / __ |
- / /| / /_/ / /__/ /_/ / /_/ / /_/ /
-/_/ |_/\____/\___/\____/_____/_____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="NocoDB"
-var_disk="4"
+TAGS="noCode"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/nocodb.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-systemctl stop nocodb.service
-cd /opt/nocodb
-rm -rf nocodb
-curl -s http://get.nocodb.com/linux-x64 -o nocodb -L
-chmod +x nocodb
-systemctl start nocodb.service
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/nocodb.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ systemctl stop nocodb.service
+ cd /opt/nocodb
+ rm -rf nocodb
+ curl -s http://get.nocodb.com/linux-x64 -o nocodb -L
+ chmod +x nocodb
+ systemctl start nocodb.service
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -73,5 +48,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080/dashboard${CL} \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}:8080/dashboard${CL}"
\ No newline at end of file
diff --git a/ct/node-red.sh b/ct/node-red.sh
index b1fac4c2e36..75607cecbf9 100644
--- a/ct/node-red.sh
+++ b/ct/node-red.sh
@@ -2,124 +2,99 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://nodered.org/
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ ____ __
- / | / /___ ____/ /__ / __ \___ ____/ /
- / |/ / __ \/ __ / _ \ / /_/ / _ \/ __ /
- / /| / /_/ / /_/ / __/ / _, _/ __/ /_/ /
-/_/ |_/\____/\__,_/\___/ /_/ |_|\___/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Node-Red"
-var_disk="4"
+TAGS="automation"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /root/.node-red ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
- "1" "Update ${APP}" ON \
- "2" "Install Themes" OFF \
- 3>&1 1>&2 2>&3)
-if [ "$UPD" == "1" ]; then
- if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
- if ! command -v npm >/dev/null 2>&1; then
- msg_info "Installing NPM"
- apt-get install -y npm >/dev/null 2>&1
- msg_ok "Installed NPM"
- fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /root/.node-red ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
fi
-msg_info "Stopping ${APP}"
-systemctl stop nodered
-msg_ok "Stopped ${APP}"
+ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
+ "1" "Update ${APP}" ON \
+ "2" "Install Themes" OFF \
+ 3>&1 1>&2 2>&3)
+ if [ "$UPD" == "1" ]; then
+ if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
+ if ! command -v npm >/dev/null 2>&1; then
+ msg_info "Installing NPM"
+ apt-get install -y npm >/dev/null 2>&1
+ msg_ok "Installed NPM"
+ fi
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop nodered
+ msg_ok "Stopped ${APP}"
-msg_info "Updating ${APP}"
-npm install -g --unsafe-perm node-red &>/dev/null
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ npm install -g --unsafe-perm node-red &>/dev/null
+ msg_ok "Updated ${APP}"
-msg_info "Starting ${APP}"
-systemctl start nodered
-msg_ok "Started ${APP}"
-msg_ok "Update Successful"
-exit
-fi
-if [ "$UPD" == "2" ]; then
-THEME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "NODE-RED THEMES" --radiolist --cancel-button Exit-Script "Choose Theme" 15 58 6 \
- "aurora" "" OFF \
- "cobalt2" "" OFF \
- "dark" "" OFF \
- "dracula" "" OFF \
- "espresso-libre" "" OFF \
- "github-dark" "" OFF \
- "github-dark-default" "" OFF \
- "github-dark-dimmed" "" OFF \
- "midnight-red" "" ON \
- "monoindustrial" "" OFF \
- "monokai" "" OFF \
- "monokai-dimmed" "" OFF \
- "noctis" "" OFF \
- "oceanic-next" "" OFF \
- "oled" "" OFF \
- "one-dark-pro" "" OFF \
- "one-dark-pro-darker" "" OFF \
- "solarized-dark" "" OFF \
- "solarized-light" "" OFF \
- "tokyo-night" "" OFF \
- "tokyo-night-light" "" OFF \
- "tokyo-night-storm" "" OFF \
- "totallyinformation" "" OFF \
- "zenburn" "" OFF \
- 3>&1 1>&2 2>&3)
-header_info
-msg_info "Installing ${THEME} Theme"
-cd /root/.node-red
-sed -i 's|// theme: ".*",|theme: "",|g' /root/.node-red/settings.js
-npm install @node-red-contrib-themes/theme-collection &>/dev/null
-sed -i "{s/theme: ".*"/theme: '${THEME}',/g}" /root/.node-red/settings.js
-systemctl restart nodered
-msg_ok "Installed ${THEME} Theme"
-exit
-fi
+ msg_info "Starting ${APP}"
+ systemctl start nodered
+ msg_ok "Started ${APP}"
+ msg_ok "Update Successful"
+ exit
+ fi
+ if [ "$UPD" == "2" ]; then
+ THEME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "NODE-RED THEMES" --radiolist --cancel-button Exit-Script "Choose Theme" 15 58 6 \
+ "aurora" "" OFF \
+ "cobalt2" "" OFF \
+ "dark" "" OFF \
+ "dracula" "" OFF \
+ "espresso-libre" "" OFF \
+ "github-dark" "" OFF \
+ "github-dark-default" "" OFF \
+ "github-dark-dimmed" "" OFF \
+ "midnight-red" "" ON \
+ "monoindustrial" "" OFF \
+ "monokai" "" OFF \
+ "monokai-dimmed" "" OFF \
+ "noctis" "" OFF \
+ "oceanic-next" "" OFF \
+ "oled" "" OFF \
+ "one-dark-pro" "" OFF \
+ "one-dark-pro-darker" "" OFF \
+ "solarized-dark" "" OFF \
+ "solarized-light" "" OFF \
+ "tokyo-night" "" OFF \
+ "tokyo-night-light" "" OFF \
+ "tokyo-night-storm" "" OFF \
+ "totallyinformation" "" OFF \
+ "zenburn" "" OFF \
+ 3>&1 1>&2 2>&3)
+ header_info
+ msg_info "Installing ${THEME} Theme"
+ cd /root/.node-red
+ sed -i 's|// theme: ".*",|theme: "",|g' /root/.node-red/settings.js
+ npm install @node-red-contrib-themes/theme-collection &>/dev/null
+ sed -i "{s/theme: ".*"/theme: '${THEME}',/g}" /root/.node-red/settings.js
+ systemctl restart nodered
+ msg_ok "Installed ${THEME} Theme"
+ exit
+ fi
}
start
@@ -127,5 +102,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:1880${CL} \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}:1880${CL}"
\ No newline at end of file
diff --git a/ct/notifiarr.sh b/ct/notifiarr.sh
index 3ab68b6211d..555ee1f481f 100644
--- a/ct/notifiarr.sh
+++ b/ct/notifiarr.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://notifiarr.com/
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ _ _____
- / | / /___ / /_(_) __(_)___ ___________
- / |/ / __ \/ __/ / /_/ / __ `/ ___/ ___/
- / /| / /_/ / /_/ / __/ / /_/ / / / /
-/_/ |_/\____/\__/_/_/ /_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Notifiarr"
-var_disk="2"
+TAGS="*arr"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/golift.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/golift.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5454${CL} \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}:5454${CL}"
\ No newline at end of file
diff --git a/ct/ntfy.sh b/ct/ntfy.sh
index d9031f594c7..71375d23d4c 100644
--- a/ct/ntfy.sh
+++ b/ct/ntfy.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://ntfy.sh/
-function header_info {
-clear
-cat <<"EOF"
- __ ____
- ____ / /_/ __/_ __
- / __ \/ __/ /_/ / / /
- / / / / /_/ __/ /_/ /
-/_/ /_/\__/_/ \__, /
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="ntfy"
-var_disk="2"
+TAGS="notification"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}${CL} \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}"
\ No newline at end of file
diff --git a/ct/nzbget.sh b/ct/nzbget.sh
index e8b83bd5d46..7d313785d8e 100644
--- a/ct/nzbget.sh
+++ b/ct/nzbget.sh
@@ -1,68 +1,42 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: havardthom
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: havardthom
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://nzbget.com/
-function header_info {
-clear
-cat <<"EOF"
- _ _______ ____ ______ __
- / | / /__ / / __ )/ ____/__ / /_
- / |/ / / / / __ / / __/ _ \/ __/
- / /| / / /__/ /_/ / /_/ / __/ /_
-/_/ |_/ /____/_____/\____/\___/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="NZBGet"
-var_disk="4"
+TAGS="usenet;downloader"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /lib/systemd/system/nzbget.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /lib/systemd/system/nzbget.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:6789${CL} \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}:6789${CL}"
\ No newline at end of file
diff --git a/ct/octoprint.sh b/ct/octoprint.sh
index bf5b634b8f1..9a1c74b91b7 100644
--- a/ct/octoprint.sh
+++ b/ct/octoprint.sh
@@ -2,75 +2,50 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://octoprint.org/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ ____ _ __
- / __ \_____/ /_____ / __ \_____(_)___ / /_
- / / / / ___/ __/ __ \/ /_/ / ___/ / __ \/ __/
-/ /_/ / /__/ /_/ /_/ / ____/ / / / / / / /_
-\____/\___/\__/\____/_/ /_/ /_/_/ /_/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="OctoPrint"
-var_disk="4"
+TAGS="3d-printing"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/octoprint ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping OctoPrint"
-systemctl stop octoprint
-msg_ok "Stopped OctoPrint"
-
-msg_info "Updating OctoPrint"
-source /opt/octoprint/bin/activate
-pip3 install octoprint --upgrade &>/dev/null
-msg_ok "Updated OctoPrint"
-
-msg_info "Starting OctoPrint"
-systemctl start octoprint
-msg_ok "Started OctoPrint"
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/octoprint ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping OctoPrint"
+ systemctl stop octoprint
+ msg_ok "Stopped OctoPrint"
+
+ msg_info "Updating OctoPrint"
+ source /opt/octoprint/bin/activate
+ pip3 install octoprint --upgrade &>/dev/null
+ msg_ok "Updated OctoPrint"
+
+ msg_info "Starting OctoPrint"
+ systemctl start octoprint
+ msg_ok "Started OctoPrint"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -78,5 +53,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \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}:5000${CL}"
\ No newline at end of file
diff --git a/ct/ollama.sh b/ct/ollama.sh
index 1d5bf471976..1082e046cbc 100644
--- a/ct/ollama.sh
+++ b/ct/ollama.sh
@@ -1,68 +1,41 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: havardthom
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: havardthom
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://ollama.com/
-function header_info {
-clear
-cat <<"EOF"
- ____ ____
- / __ \/ / /___ _____ ___ ____ _
- / / / / / / __ `/ __ `__ \/ __ `/
-/ /_/ / / / /_/ / / / / / / /_/ /
-\____/_/_/\__,_/_/ /_/ /_/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Ollama"
-var_disk="24"
+TAGS="ai"
var_cpu="4"
var_ram="4096"
+var_disk="24"
var_os="ubuntu"
var_version="22.04"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/ollama ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/ollama ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -70,5 +43,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:11434${CL} \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}:14434${CL}"
\ No newline at end of file
diff --git a/ct/omada.sh b/ct/omada.sh
index ceaa9c8a23c..bf73d01e691 100644
--- a/ct/omada.sh
+++ b/ct/omada.sh
@@ -2,73 +2,48 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.tp-link.com/us/support/download/omada-software-controller/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \____ ___ ____ _____/ /___ _
- / / / / __ __ \/ __ / __ / __ /
-/ /_/ / / / / / / /_/ / /_/ / /_/ /
-\____/_/ /_/ /_/\__,_/\__,_/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Omada"
-var_disk="8"
+TAGS="tp-link;controller"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/tplink ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -o 'https://.*x64.deb' | head -n1)
-latest_version=$(basename "${latest_url}")
-if [ -z "${latest_version}" ]; then
- msg_error "It seems that the server (tp-link.com) might be down. Please try again at a later time."
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/tplink ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -o 'https://.*x64.deb' | head -n1)
+ latest_version=$(basename "${latest_url}")
+ if [ -z "${latest_version}" ]; then
+ msg_error "It seems that the server (tp-link.com) might be down. Please try again at a later time."
+ exit
+ fi
+ echo -e "Updating Omada Controller"
+ wget -qL ${latest_url}
+ dpkg -i ${latest_version}
+ rm -rf ${latest_version}
+ echo -e "Updated Omada Controller"
exit
-fi
-echo -e "Updating Omada Controller"
-wget -qL ${latest_url}
-dpkg -i ${latest_version}
-rm -rf ${latest_version}
-echo -e "Updated Omada Controller"
-exit
}
start
@@ -76,5 +51,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}https://${IP}:8043${CL} \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}:8043${CL}"
\ No newline at end of file
diff --git a/ct/ombi.sh b/ct/ombi.sh
index d378a11c141..59d2c5b2969 100644
--- a/ct/ombi.sh
+++ b/ct/ombi.sh
@@ -2,82 +2,57 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://ombi.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ _
- / __ \____ ___ / /_ (_)
- / / / / __ `__ \/ __ \/ /
-/ /_/ / / / / / / /_/ / /
-\____/_/ /_/ /_/_.___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Ombi"
-var_disk="4"
+TAGS="media"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/ombi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -sL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop ombi
- msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/ombi ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -sL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop ombi
+ msg_ok "Stopped ${APP}"
- msg_info "Updating ${APP} to ${RELEASE}"
- wget -q https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz
- tar -xzf linux-x64.tar.gz -C /opt/ombi
- rm -rf linux-x64.tar.gz
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ wget -q https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz
+ tar -xzf linux-x64.tar.gz -C /opt/ombi
+ rm -rf linux-x64.tar.gz
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start ombi
- msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} ia already at ${RELEASE}."
-fi
-exit
+ msg_info "Starting ${APP}"
+ systemctl start ombi
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} ia already at ${RELEASE}."
+ fi
+ exit
}
start
@@ -85,5 +60,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \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}:5000${CL}"
\ No newline at end of file
diff --git a/ct/omv.sh b/ct/omv.sh
index 48e0ca0cf3b..67ed7d2f96a 100644
--- a/ct/omv.sh
+++ b/ct/omv.sh
@@ -2,72 +2,48 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.openmediavault.org/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ ___ ___ _ __ ____
- / __ \____ ___ ____ / |/ /__ ____/ (_)___ | | / /___ ___ __/ / /_
- / / / / __ \/ _ \/ __ \/ /|_/ / _ \/ __ / / __ `/ | / / __ `/ / / / / __/
-/ /_/ / /_/ / __/ / / / / / / __/ /_/ / / /_/ /| |/ / /_/ / /_/ / / /_
-\____/ .___/\___/_/ /_/_/ /_/\___/\__,_/_/\__,_/ |___/\__,_/\__,_/_/\__/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="OMV"
-var_disk="4"
+TAGS="media"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/openmediavault.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/openmediavault.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
build_container
description
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}${CL} \n"
+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}"
\ No newline at end of file
diff --git a/ct/onedev.sh b/ct/onedev.sh
index ac023c8b1bf..36e064bfb67 100644
--- a/ct/onedev.sh
+++ b/ct/onedev.sh
@@ -2,59 +2,31 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: kristocopani
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://onedev.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ ____
- / __ \____ ___ / __ \___ _ __
- / / / / __ \/ _ \/ / / / _ \ | / /
-/ /_/ / / / / __/ /_/ / __/ |/ /
-\____/_/ /_/\___/_____/\___/|___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="OneDev"
-var_disk="4"
+TAGS="git"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
+ header_info
+ check_container_storage
+ check_container_resources
if [[ ! -f /etc/systemd/system/onedev.service ]]; then
msg_error "No ${APP} Installation Found!"
@@ -95,5 +67,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:6610${CL} \n"
\ No newline at end of file
+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}:6610${CL}"
\ No newline at end of file
diff --git a/ct/openhab.sh b/ct/openhab.sh
index f4c0fdd8eaa..aecc3717d52 100644
--- a/ct/openhab.sh
+++ b/ct/openhab.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.openhab.org/
-function header_info {
-clear
-cat <<"EOF"
- __ _____ ____
- ____ ____ ___ ____ / / / / | / __ )
- / __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __ |
-/ /_/ / /_/ / __/ / / / __ / ___ |/ /_/ /
-\____/ .___/\___/_/ /_/_/ /_/_/ |_/_____/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="openHAB"
-var_disk="8"
+TAGS="automation"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/openhab.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/openhab.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080${CL} \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}:8080${CL}"
\ No newline at end of file
diff --git a/ct/openobserve.sh b/ct/openobserve.sh
index 3ec7c50ef8d..b87fd8a87c3 100644
--- a/ct/openobserve.sh
+++ b/ct/openobserve.sh
@@ -2,70 +2,43 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://openobserve.ai/
-function header_info {
-clear
-cat <<"EOF"
-
- ____ ____ __
- / __ \____ ___ ____ / __ \/ /_ ________ ______ _____
- / / / / __ \/ _ \/ __ \/ / / / __ \/ ___/ _ \/ ___/ | / / _ \
-/ /_/ / /_/ / __/ / / / /_/ / /_/ (__ ) __/ / | |/ / __/
-\____/ .___/\___/_/ /_/\____/_.___/____/\___/_/ |___/\___/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="OpenObserve"
-var_disk="3"
+TAGS="monitoring"
var_cpu="1"
var_ram="512"
+var_disk="3"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/openobserve/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-systemctl stop openobserve
-LATEST=$(curl -sL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
-tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve
-systemctl start openobserve
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/openobserve/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ systemctl stop openobserve
+ LATEST=$(curl -sL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+ tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve
+ systemctl start openobserve
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -73,5 +46,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5080${CL} \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}:5080${CL}"
\ No newline at end of file
diff --git a/ct/openwebui.sh b/ct/openwebui.sh
index a8c28ac980d..e78ebd7de1c 100644
--- a/ct/openwebui.sh
+++ b/ct/openwebui.sh
@@ -1,81 +1,53 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: havardthom
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: havardthom
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://openwebui.com/
-function header_info {
-clear
-cat <<"EOF"
- ____ _ __ __ __ ______
- / __ \____ ___ ____ | | / /__ / /_ / / / / _/
- / / / / __ \/ _ \/ __ \ | | /| / / _ \/ __ \/ / / // /
-/ /_/ / /_/ / __/ / / / | |/ |/ / __/ /_/ / /_/ // /
-\____/ .___/\___/_/ /_/ |__/|__/\___/_.___/\____/___/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Open WebUI"
-var_disk="16"
+TAGS="ai;interface"
var_cpu="4"
var_ram="4096"
+var_disk="16"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/open-webui ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} (Patience)"
-cd /opt/open-webui
-output=$(git pull --no-rebase)
-if echo "$output" | grep -q "Already up to date."
-then
- msg_ok "$APP is already up to date."
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/open-webui ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} (Patience)"
+ cd /opt/open-webui
+ output=$(git pull --no-rebase)
+ if echo "$output" | grep -q "Already up to date."; then
+ msg_ok "$APP is already up to date."
+ exit
+ fi
+ systemctl stop open-webui.service
+ npm install &>/dev/null
+ export NODE_OPTIONS="--max-old-space-size=3584"
+ npm run build &>/dev/null
+ cd ./backend
+ pip install -r requirements.txt -U &>/dev/null
+ systemctl start open-webui.service
+ msg_ok "Updated Successfully"
exit
-fi
-systemctl stop open-webui.service
-npm install &>/dev/null
-export NODE_OPTIONS="--max-old-space-size=3584"
-npm run build &>/dev/null
-cd ./backend
-pip install -r requirements.txt -U &>/dev/null
-systemctl start open-webui.service
-msg_ok "Updated Successfully"
-exit
}
start
@@ -83,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080${CL} \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}:8080${CL}"
\ No newline at end of file
diff --git a/ct/overseerr.sh b/ct/overseerr.sh
index e489be02834..64a133cca26 100644
--- a/ct/overseerr.sh
+++ b/ct/overseerr.sh
@@ -2,77 +2,51 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://overseerr.dev/
-function header_info {
-clear
-cat <<"EOF"
- ____
- / __ \_ _____ _____________ ___ __________
- / / / / | / / _ \/ ___/ ___/ _ \/ _ \/ ___/ ___/
-/ /_/ /| |/ / __/ / (__ ) __/ __/ / / /
-\____/ |___/\___/_/ /____/\___/\___/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Overseerr"
-var_disk="8"
+TAGS="media"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/overseerr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-systemctl stop overseerr
-cd /opt/overseerr
-output=$(git pull)
-git pull &>/dev/null
-if echo "$output" | grep -q "Already up to date."
-then
- msg_ok " $APP is already up to date."
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/overseerr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ systemctl stop overseerr
+ cd /opt/overseerr
+ output=$(git pull)
+ git pull &>/dev/null
+ if echo "$output" | grep -q "Already up to date."; then
+ msg_ok " $APP is already up to date."
+ systemctl start overseerr
+ exit
+ fi
+ yarn install &>/dev/null
+ yarn build &>/dev/null
systemctl start overseerr
+ msg_ok "Updated $APP"
exit
-fi
-yarn install &>/dev/null
-yarn build &>/dev/null
-systemctl start overseerr
-msg_ok "Updated $APP"
-exit
}
start
@@ -80,5 +54,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5055${CL} \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}:5055${CL}"
\ No newline at end of file
diff --git a/ct/owncast.sh b/ct/owncast.sh
index 95c0a89187e..ed4c427e07f 100644
--- a/ct/owncast.sh
+++ b/ct/owncast.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://owncast.online/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \_ ______ _________ ______/ /_
- / / / / | /| / / __ \/ ___/ __ `/ ___/ __/
-/ /_/ /| |/ |/ / / / / /__/ /_/ (__ ) /_
-\____/ |__/|__/_/ /_/\___/\__,_/____/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Owncast"
-var_disk="2"
+TAGS="broadcasting"
var_cpu="2"
var_ram="2048"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/owncast ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/owncast ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,6 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080${CL}
- ${BL}http://${IP}:8080/admin${CL} admin|abc123\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}:8080/admin${CL}"
\ No newline at end of file
diff --git a/ct/pairdrop.sh b/ct/pairdrop.sh
index baf4783cb3e..61a5f512824 100644
--- a/ct/pairdrop.sh
+++ b/ct/pairdrop.sh
@@ -2,69 +2,44 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://pairdrop.net/
-function header_info {
-clear
-cat <<"EOF"
- ____ _ ____
- / __ \____ _(_)____/ __ \_________ ____
- / /_/ / __ `/ / ___/ / / / ___/ __ \/ __ \
- / ____/ /_/ / / / / /_/ / / / /_/ / /_/ /
-/_/ \__,_/_/_/ /_____/_/ \____/ .___/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="PairDrop"
-var_disk="4"
+TAGS="sharing"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/pairdrop ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-systemctl stop pairdrop
-cd /opt/pairdrop
-git pull
-npm install
-systemctl start pairdrop
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/pairdrop ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ systemctl stop pairdrop
+ cd /opt/pairdrop
+ git pull
+ npm install
+ systemctl start pairdrop
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -72,5 +47,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh
index 3aac6ab112b..efeed56d544 100644
--- a/ct/paperless-ngx.sh
+++ b/ct/paperless-ngx.sh
@@ -2,57 +2,28 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://docs.paperless-ngx.com/
-function header_info {
- clear
- cat <<"EOF"
- ____ __
- / __ \____ _____ ___ _____/ /__ __________ ____ ____ __ __
- / /_/ / __ `/ __ \/ _ \/ ___/ / _ \/ ___/ ___/___/ __ \/ __ `/ |/_/
- / ____/ /_/ / /_/ / __/ / / / __(__ |__ )___/ / / / /_/ /> <
-/_/ \__,_/ .___/\___/_/ /_/\___/____/____/ /_/ /_/\__, /_/|_|
- /_/ /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Paperless-ngx"
-var_disk="10"
+TAGS="document;management"
var_cpu="2"
var_ram="2048"
+var_disk="10"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
if [[ ! -d /opt/paperless ]]; then
msg_error "No ${APP} Installation Found!"
@@ -69,7 +40,7 @@ function update_script() {
check_container_resources
if [ "$UPD" == "1" ]; then
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then
+ if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then
msg_info "Updating Ghostscript (Patience)"
cd /tmp
wget -q https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz
@@ -125,5 +96,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8000${CL} \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}:8000${CL}"
\ No newline at end of file
diff --git a/ct/pbs.sh b/ct/pbs.sh
index 11d6be38f43..d71558653b4 100644
--- a/ct/pbs.sh
+++ b/ct/pbs.sh
@@ -1,10 +1,8 @@
#!/usr/bin/env bash
-
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
function header_info {
clear
@@ -18,51 +16,33 @@ cat <<"EOF"
EOF
}
header_info
-echo -e "Loading..."
APP="PBS"
-var_disk="10"
+TAGS="backup"
var_cpu="2"
var_ram="2048"
+var_disk="10"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -70,5 +50,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8007${CL} \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}:8007${CL}"
\ No newline at end of file
diff --git a/ct/peanut.sh b/ct/peanut.sh
index 13fd94deec3..30951588135 100644
--- a/ct/peanut.sh
+++ b/ct/peanut.sh
@@ -1,63 +1,37 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# Co-Author: remz1337
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck (tteckster) | Co-Author: remz1337
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/Brandawg93/PeaNUT/
-function header_info {
-clear
-cat <<"EOF"
- ____ _ ____ ________
- / __ \___ ____ _/ | / / / / /_ __/
- / /_/ / _ \/ __ `/ |/ / / / / / /
- / ____/ __/ /_/ / /| / /_/ / / /
-/_/ \___/\__,_/_/ |_/\____/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="PeaNUT"
-var_disk="4"
+TAGS="network;ups;"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -f /etc/systemd/system/peanut.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ if [[ ! -f /etc/systemd/system/peanut.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
RELEASE=$(curl -sL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating $APP to ${RELEASE}"
@@ -85,5 +59,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/petio.sh b/ct/petio.sh
index 4e8d9541bb6..fbd22f93945 100644
--- a/ct/petio.sh
+++ b/ct/petio.sh
@@ -2,68 +2,42 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://petio.tv/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ _
- / __ \___ / /_(_)___
- / /_/ / _ \/ __/ / __ \
- / ____/ __/ /_/ / /_/ /
-/_/ \___/\__/_/\____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Petio"
-var_disk="4"
+TAGS="media"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="ubuntu"
var_version="20.04"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/Petio ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-systemctl stop petio.service
-wget https://petio.tv/releases/latest -O petio-latest.zip
-unzip petio-latest.zip -d /opt/Petio
-systemctl start petio.service
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/Petio ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ systemctl stop petio.service
+ wget https://petio.tv/releases/latest -O petio-latest.zip
+ unzip petio-latest.zip -d /opt/Petio
+ systemctl start petio.service
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -71,5 +45,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:7777${CL} \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}:7777${CL}"
\ No newline at end of file
diff --git a/ct/photoprism.sh b/ct/photoprism.sh
index 864de0398c3..f23aa0eec10 100644
--- a/ct/photoprism.sh
+++ b/ct/photoprism.sh
@@ -2,56 +2,28 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.photoprism.app/
-function header_info {
- clear
- cat <<"EOF"
- ____ __ ______ __________ ____ ____ _________ __ ___
- / __ \/ / / / __ \/_ __/ __ \/ __ \/ __ \/ _/ ___// |/ /
- / /_/ / /_/ / / / / / / / / / / /_/ / /_/ // / \__ \/ /|_/ /
- / ____/ __ / /_/ / / / / /_/ / ____/ _, _// / ___/ / / / /
-/_/ /_/ /_/\____/ /_/ \____/_/ /_/ |_/___//____/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="PhotoPrism"
-var_disk="8"
+TAGS="media;photo"
var_cpu="2"
-var_ram="2048"
+var_ram="3072"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -60,7 +32,6 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
- echo -e "\n ⚠️ Ensure you set 2vCPU & 3072MiB RAM MIMIMUM!!! \n"
msg_info "Stopping PhotoPrism"
sudo systemctl stop photoprism
msg_ok "Stopped PhotoPrism"
@@ -82,5 +53,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:2342${CL} \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}:2342${CL}"
\ No newline at end of file
diff --git a/ct/pialert.sh b/ct/pialert.sh
index ee0de937624..ac9feeab235 100644
--- a/ct/pialert.sh
+++ b/ct/pialert.sh
@@ -2,64 +2,39 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/leiweibau/Pi.Alert/
-function header_info {
-clear
-cat <<"EOF"
- ____ _ ___ __ __
- / __ \(_) / | / /__ _____/ /_
- / /_/ / / / /| | / / _ \/ ___/ __/
- / ____/ / / ___ |/ / __/ / / /_
-/_/ /_(_)_/ |_/_/\___/_/ \__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="PiAlert"
-var_disk="3"
+TAGS="network"
var_cpu="1"
var_ram="512"
+var_disk="3"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/pialert ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-bash -c "$(wget -qLO - https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_update.sh)" -s --lxc
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/pialert ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ bash -c "$(wget -qLO - https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_update.sh)" -s --lxc
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -67,5 +42,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}/pialert/${CL} \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}/pialert${CL}"
\ No newline at end of file
diff --git a/ct/pihole.sh b/ct/pihole.sh
index f26c120ec72..66489f23523 100644
--- a/ct/pihole.sh
+++ b/ct/pihole.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://pi-hole.net/
-function header_info {
-clear
-cat <<"EOF"
- ____ ____ __ ______ __ ______
- / __ \/ _/ / / / / __ \/ / / ____/
- / /_/ // /___/ /_/ / / / / / / __/
- / ____// /___/ __ / /_/ / /___/ /___
-/_/ /___/ /_/ /_/\____/_____/_____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Pihole"
-var_disk="2"
+TAGS="adblock"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/pihole ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-set +e
-pihole -up
-msg_ok "Updated ${APP}"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/pihole ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ set +e
+ pihole -up
+ msg_ok "Updated ${APP}"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}/admin${CL} \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}/admin${CL}"
\ No newline at end of file
diff --git a/ct/pingvin.sh b/ct/pingvin.sh
index e2a2bd3df87..7e21fbfd7d7 100644
--- a/ct/pingvin.sh
+++ b/ct/pingvin.sh
@@ -2,83 +2,58 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://stonith404.github.io/pingvin-share/introduction
-function header_info {
-clear
-cat <<"EOF"
- ____ _ _ _____ __
- / __ \(_)___ ____ __ __(_)___ / ___// /_ ____ _________
- / /_/ / / __ \/ __ `/ | / / / __ \ \__ \/ __ \/ __ `/ ___/ _ \
- / ____/ / / / / /_/ /| |/ / / / / / ___/ / / / / /_/ / / / __/
-/_/ /_/_/ /_/\__, / |___/_/_/ /_/ /____/_/ /_/\__,_/_/ \___/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Pingvin"
-var_disk="8"
+TAGS="sharing"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/pingvin-share ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping Pingvin Share"
-systemctl stop pm2-root.service
-msg_ok "Stopped Pingvin Share"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/pingvin-share ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping Pingvin Share"
+ systemctl stop pm2-root.service
+ msg_ok "Stopped Pingvin Share"
-msg_info "Updating Pingvin Share"
-cd /opt/pingvin-share
-git fetch --tags
-git checkout $(git describe --tags `git rev-list --tags --max-count=1`) &>/dev/null
-cd backend
-npm install &>/dev/null
-npm run build &>/dev/null
-cd ../frontend
-npm install &>/dev/null
-npm run build &>/dev/null
-msg_ok "Updated Pingvin Share"
+ msg_info "Updating Pingvin Share"
+ cd /opt/pingvin-share
+ git fetch --tags
+ git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) &>/dev/null
+ cd backend
+ npm install &>/dev/null
+ npm run build &>/dev/null
+ cd ../frontend
+ npm install &>/dev/null
+ npm run build &>/dev/null
+ msg_ok "Updated Pingvin Share"
-msg_info "Starting Pingvin Share"
-systemctl start pm2-root.service
-msg_ok "Started Pingvin Share"
+ msg_info "Starting Pingvin Share"
+ systemctl start pm2-root.service
+ msg_ok "Started Pingvin Share"
-msg_ok "Updated Successfully"
-exit
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -86,5 +61,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000 ${CL} \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}"
\ No newline at end of file
diff --git a/ct/plex.sh b/ct/plex.sh
index 53977859738..8d228e2d97a 100644
--- a/ct/plex.sh
+++ b/ct/plex.sh
@@ -2,77 +2,52 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.plex.tv/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __ ___ ___ _____
- / __ \/ /__ _ __ / |/ /__ ____/ (_)___ _ / ___/___ ______ _____ _____
- / /_/ / / _ \| |/_/ / /|_/ / _ \/ __ / / __ `/ \__ \/ _ \/ ___/ | / / _ \/ ___/
- / ____/ / __/> < / / / / __/ /_/ / / /_/ / ___/ / __/ / | |/ / __/ /
-/_/ /_/\___/_/|_| /_/ /_/\___/\__,_/_/\__,_/ /____/\___/_/ |___/\___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Plex"
-var_disk="8"
+TAGS="media"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="ubuntu"
var_version="22.04"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/plexmediaserver.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select \nplexupdate info >> https://github.com/mrworf/plexupdate" 10 59 2 \
- "1" "Update LXC" ON \
- "2" "Install plexupdate" OFF \
- 3>&1 1>&2 2>&3)
-if [ "$UPD" == "1" ]; then
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
-fi
-if [ "$UPD" == "2" ]; then
-set +e
-bash -c "$(wget -qO - https://raw.githubusercontent.com/mrworf/plexupdate/master/extras/installer.sh)"
-exit
-fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/plexmediaserver.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select \nplexupdate info >> https://github.com/mrworf/plexupdate" 10 59 2 \
+ "1" "Update LXC" ON \
+ "2" "Install plexupdate" OFF \
+ 3>&1 1>&2 2>&3)
+ if [ "$UPD" == "1" ]; then
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
+ fi
+ if [ "$UPD" == "2" ]; then
+ set +e
+ bash -c "$(wget -qO - https://raw.githubusercontent.com/mrworf/plexupdate/master/extras/installer.sh)"
+ exit
+ fi
}
start
@@ -80,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:32400/web${CL}\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}:23400/web${CL}"
\ No newline at end of file
diff --git a/ct/pocketbase.sh b/ct/pocketbase.sh
index 5c7e1a9eaea..24f2e20d807 100644
--- a/ct/pocketbase.sh
+++ b/ct/pocketbase.sh
@@ -2,61 +2,36 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://pocketbase.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __ __
- / __ \____ _____/ /_____ / /_/ /_ ____ _________
- / /_/ / __ \/ ___/ //_/ _ \/ __/ __ \/ __ `/ ___/ _ \
- / ____/ /_/ / /__/ ,< / __/ /_/ /_/ / /_/ (__ ) __/
-/_/ \____/\___/_/|_|\___/\__/_.___/\__,_/____/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Pocketbase"
-var_disk="8"
+TAGS="database"
var_cpu="1"
var_ram="512"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -f /etc/systemd/system/pocketbase.service || ! -x /opt/pocketbase/pocketbase ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ if [[ ! -f /etc/systemd/system/pocketbase.service || ! -x /opt/pocketbase/pocketbase ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
msg_info "Stopping ${APP}"
systemctl stop pocketbase
msg_ok "Stopped ${APP}"
@@ -77,5 +52,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080/_${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 "${TAB}${GATEWAY}${BGN}http://${IP}:8080/_${CL}"
diff --git a/ct/podman-homeassistant.sh b/ct/podman-homeassistant.sh
index 4498a6a63d3..fee6ae44961 100644
--- a/ct/podman-homeassistant.sh
+++ b/ct/podman-homeassistant.sh
@@ -2,60 +2,27 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \____ ____/ /___ ___ ____ _____
- / /_/ / __ \/ __ / __ __ \/ __ / __ \
- / ____/ /_/ / /_/ / / / / / / /_/ / / / /
- __ __ /_/ \____/\__,_/_/ /_/ /_/\__,_/_/ /_/__ __
- / / / /___ ____ ___ ___ / | __________(_)____/ /_____ _____ / /_
- / /_/ / __ \/ __ __ \/ _ \ / /| | / ___/ ___/ / ___/ __/ __ / __ \/ __/
- / __ / /_/ / / / / / / __/ / ___ |(__ |__ ) (__ ) /_/ /_/ / / / / /_
-/_/ /_/\____/_/ /_/ /_/\___/ /_/ |_/____/____/_/____/\__/\__,_/_/ /_/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Podman-Home Assistant"
-var_disk="16"
+TAGS="podman;smarthome"
var_cpu="2"
var_ram="2048"
+var_disk="16"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -142,5 +109,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8123${CL} \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}:8123${CL}"
\ No newline at end of file
diff --git a/ct/podman.sh b/ct/podman.sh
index 7c29ca8fa2a..0fa863b8462 100644
--- a/ct/podman.sh
+++ b/ct/podman.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://podman.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \____ ____/ /___ ___ ____ _____
- / /_/ / __ \/ __ / __ `__ \/ __ `/ __ \
- / ____/ /_/ / /_/ / / / / / / /_/ / / / /
-/_/ \____/\__,_/_/ /_/ /_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Podman"
-var_disk="4"
+TAGS="container;kubernetes"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/containers/registries.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/containers/registries.conf ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,3 +44,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/postgresql.sh b/ct/postgresql.sh
index a20c5e7b2be..c698ec8d60c 100644
--- a/ct/postgresql.sh
+++ b/ct/postgresql.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.postgresql.org/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ _____ ____ __
- / __ \____ _____/ /_____ _________ / ___// __ \ / /
- / /_/ / __ \/ ___/ __/ __ / ___/ _ \\__ \/ / / / / /
- / ____/ /_/ (__ ) /_/ /_/ / / / __/__/ / /_/ / / /___
-/_/ \____/____/\__/\__, /_/ \___/____/\___\_\/_____/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="PostgreSQL"
-var_disk="4"
+TAGS="database"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/pgdg.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/pgdg.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,3 +44,6 @@ 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 IP:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}${IP}:5432${CL}"
\ No newline at end of file
diff --git a/ct/prometheus.sh b/ct/prometheus.sh
index b24470353f5..24cb6c30f62 100644
--- a/ct/prometheus.sh
+++ b/ct/prometheus.sh
@@ -2,85 +2,60 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://prometheus.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __
- / __ \_________ ____ ___ ___ / /_/ /_ ___ __ _______
- / /_/ / ___/ __ \/ __ __ \/ _ \/ __/ __ \/ _ \/ / / / ___/
- / ____/ / / /_/ / / / / / / __/ /_/ / / / __/ /_/ (__ )
-/_/ /_/ \____/_/ /_/ /_/\___/\__/_/ /_/\___/\__,_/____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Prometheus"
-var_disk="4"
+TAGS="monitoring"
var_cpu="1"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/prometheus.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/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
- msg_info "Stopping ${APP}"
- systemctl stop prometheus
- msg_ok "Stopped ${APP}"
-
- msg_info "Updating ${APP} to ${RELEASE}"
- wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz
- tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz
- cd prometheus-${RELEASE}.linux-amd64
- cp -rf prometheus promtool /usr/local/bin/
- cd ~
- rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/prometheus.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/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
+ msg_info "Stopping ${APP}"
+ systemctl stop prometheus
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Updating ${APP} to ${RELEASE}"
+ wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz
+ tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz
+ cd prometheus-${RELEASE}.linux-amd64
+ cp -rf prometheus promtool /usr/local/bin/
+ cd ~
+ rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start prometheus
- msg_ok "Started ${APP}"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Starting ${APP}"
+ systemctl start prometheus
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -88,5 +63,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9090${CL} \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}:9090${CL}"
\ No newline at end of file
diff --git a/ct/prowlarr.sh b/ct/prowlarr.sh
index 38bced48ea7..1d0bb79e165 100644
--- a/ct/prowlarr.sh
+++ b/ct/prowlarr.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://prowlarr.com/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \_________ _ __/ /___ __________
- / /_/ / ___/ __ \ | /| / / / __ `/ ___/ ___/
- / ____/ / / /_/ / |/ |/ / / /_/ / / / /
-/_/ /_/ \____/|__/|__/_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Prowlarr"
-var_disk="4"
+TAGS="*arr"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var/lib/prowlarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/prowlarr/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9696${CL} \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}:9696${CL}"
\ No newline at end of file
diff --git a/ct/qbittorrent.sh b/ct/qbittorrent.sh
index 7544f7848ea..be4ad394420 100644
--- a/ct/qbittorrent.sh
+++ b/ct/qbittorrent.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.qbittorrent.org/
-function header_info {
-clear
-cat <<"EOF"
- ____ _ __ __ __
- ____ _/ __ )(_) /_/ /_____ _____________ ____ / /_
- / __ `/ __ / / __/ __/ __ \/ ___/ ___/ _ \/ __ \/ __/
-/ /_/ / /_/ / / /_/ /_/ /_/ / / / / / __/ / / / /_
-\__, /_____/_/\__/\__/\____/_/ /_/ \___/_/ /_/\__/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="qBittorrent"
-var_disk="8"
+TAGS="torrent"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/qbittorrent-nox.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/qbittorrent-nox.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8090${CL}\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}:8090${CL}"
\ No newline at end of file
diff --git a/ct/rabbitmq.sh b/ct/rabbitmq.sh
index 0ff43448af0..9dea1377981 100644
--- a/ct/rabbitmq.sh
+++ b/ct/rabbitmq.sh
@@ -1,77 +1,50 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: tteck | Co-Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.rabbitmq.com/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __ _ __ __ _______
- / __ \____ _/ /_ / /_ (_) /_/ |/ / __ \
- / /_/ / __ `/ __ \/ __ \/ / __/ /|_/ / / / /
- / _, _/ /_/ / /_/ / /_/ / / /_/ / / / /_/ /
-/_/ |_|\__,_/_.___/_.___/_/\__/_/ /_/\___\_\
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="RabbitMQ"
-var_disk="4"
+TAGS="mqtt"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/rabbitmq ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP} Service"
-systemctl stop rabbitmq-server
-msg_ok "Stopped ${APP} Service"
-
-msg_info "Updating..."
-apt install --only-upgrade rabbitmq-server &>/dev/null
-msg_ok "Update Successfully"
-
-msg_info "Starting ${APP}"
-systemctl start rabbitmq-server
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/rabbitmq ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP} Service"
+ systemctl stop rabbitmq-server
+ msg_ok "Stopped ${APP} Service"
+
+ msg_info "Updating..."
+ apt install --only-upgrade rabbitmq-server &>/dev/null
+ msg_ok "Update Successfully"
+
+ msg_info "Starting ${APP}"
+ systemctl start rabbitmq-server
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -79,5 +52,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:15672${CL} \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}:15672${CL}"
\ No newline at end of file
diff --git a/ct/radarr.sh b/ct/radarr.sh
index a7218ef8631..bfd706008e4 100644
--- a/ct/radarr.sh
+++ b/ct/radarr.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://radarr.video/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \____ _____/ /___ __________
- / /_/ / __ `/ __ / __ `/ ___/ ___/
- / _, _/ /_/ / /_/ / /_/ / / / /
-/_/ |_|\__,_/\__,_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Radarr"
-var_disk="4"
+TAGS="*arr"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var/lib/radarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/radarr/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:7878${CL} \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}:7878${CL}"
\ No newline at end of file
diff --git a/ct/rdtclient.sh b/ct/rdtclient.sh
index 8c6fab326f5..bec68f47d4a 100755
--- a/ct/rdtclient.sh
+++ b/ct/rdtclient.sh
@@ -2,86 +2,61 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/rogerfar/rdt-client
-function header_info {
-clear
-cat <<"EOF"
- ____ __ ____ __ _ __ ______ __ _________ __
- / __ \___ ____ / / / __ \___ / /_ _____(_)___/ / /_ __/___ _____________ ____ / /_ / ____/ (_)__ ____ / /_
- / /_/ / _ \/ __ `/ /___/ / / / _ \/ __ \/ ___/ / __ / / / / __ \/ ___/ ___/ _ \/ __ \/ __/ / / / / / _ \/ __ \/ __/
- / _, _/ __/ /_/ / /___/ /_/ / __/ /_/ / / / / /_/ / / / / /_/ / / / / / __/ / / / /_ / /___/ / / __/ / / / /_
-/_/ |_|\___/\__,_/_/ /_____/\___/_.___/_/ /_/\__,_/ /_/ \____/_/ /_/ \___/_/ /_/\__/ \____/_/_/\___/_/ /_/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="RDTClient"
-var_disk="4"
+TAGS="torrent"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/rdtc/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP}"
-systemctl stop rdtc
-msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/rdtc/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop rdtc
+ msg_ok "Stopped ${APP}"
-msg_info "Updating ${APP}"
-if dpkg-query -W dotnet-sdk-8.0 >/dev/null 2>&1; then
- apt-get remove --purge -y dotnet-sdk-8.0 &>/dev/null
- apt-get install -y dotnet-sdk-9.0 &>/dev/null
-fi
-mkdir -p rdtc-backup
-cp -R /opt/rdtc/appsettings.json rdtc-backup/
-wget -q https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip
-unzip -oqq RealDebridClient.zip -d /opt/rdtc
-cp -R rdtc-backup/appsettings.json /opt/rdtc/
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ if dpkg-query -W dotnet-sdk-8.0 >/dev/null 2>&1; then
+ apt-get remove --purge -y dotnet-sdk-8.0 &>/dev/null
+ apt-get install -y dotnet-sdk-9.0 &>/dev/null
+ fi
+ mkdir -p rdtc-backup
+ cp -R /opt/rdtc/appsettings.json rdtc-backup/
+ wget -q https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip
+ unzip -oqq RealDebridClient.zip -d /opt/rdtc
+ cp -R rdtc-backup/appsettings.json /opt/rdtc/
+ msg_ok "Updated ${APP}"
-msg_info "Starting ${APP}"
-systemctl start rdtc
-msg_ok "Started ${APP}"
+ msg_info "Starting ${APP}"
+ systemctl start rdtc
+ msg_ok "Started ${APP}"
-msg_info "Cleaning Up"
-rm -rf rdtc-backup RealDebridClient.zip
-msg_ok "Cleaned"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Cleaning Up"
+ rm -rf rdtc-backup RealDebridClient.zip
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -89,5 +64,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:6500${CL} \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}:6500${CL}"
\ No newline at end of file
diff --git a/ct/readarr.sh b/ct/readarr.sh
index 10c6280baa0..f7f88fc81ba 100644
--- a/ct/readarr.sh
+++ b/ct/readarr.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://readarr.com/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \___ ____ _____/ /___ __________
- / /_/ / _ \/ __ `/ __ / __ `/ ___/ ___/
- / _, _/ __/ /_/ / /_/ / /_/ / / / /
-/_/ |_|\___/\__,_/\__,_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Readarr"
-var_disk="4"
+TAGS="media;comic;eBook"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var/lib/readarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/readarr/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8787${CL} \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}:8787${CL}"
\ No newline at end of file
diff --git a/ct/readeck.sh b/ct/readeck.sh
index 29233e16659..1148cbe4a59 100644
--- a/ct/readeck.sh
+++ b/ct/readeck.sh
@@ -2,71 +2,46 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://readeck.org/en/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __
- / __ \___ ____ _____/ /__ _____/ /__
- / /_/ / _ \/ __ `/ __ / _ \/ ___/ //_/
- / _, _/ __/ /_/ / /_/ / __/ /__/ ,<
-/_/ |_|\___/\__,_/\__,_/\___/\___/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Readeck"
-var_disk="2"
+TAGS="bookmark"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/readeck ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-LATEST=$(curl -s https://codeberg.org/readeck/readeck/releases/ | grep -oP '(?<=Version )\d+\.\d+\.\d+' | head -1)
-systemctl stop readeck.service
-rm -rf /opt/readeck/readeck
-cd /opt/readeck
-wget -q -O readeck https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64
-chmod a+x readeck
-systemctl start readeck.service
-msg_ok "Updated ${APP}"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/readeck ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ LATEST=$(curl -s https://codeberg.org/readeck/readeck/releases/ | grep -oP '(?<=Version )\d+\.\d+\.\d+' | head -1)
+ systemctl stop readeck.service
+ rm -rf /opt/readeck/readeck
+ cd /opt/readeck
+ wget -q -O readeck https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64
+ chmod a+x readeck
+ systemctl start readeck.service
+ msg_ok "Updated ${APP}"
+ exit
}
start
@@ -74,5 +49,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8000${CL}\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}:8000${CL}"
\ No newline at end of file
diff --git a/ct/recyclarr.sh b/ct/recyclarr.sh
index ea2bb1861bb..e03e76f4c5f 100644
--- a/ct/recyclarr.sh
+++ b/ct/recyclarr.sh
@@ -2,70 +2,45 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: MrYadro
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://recyclarr.dev/wiki/
-function header_info {
-clear
-cat <<"EOF"
- ____ __
- / __ \___ _______ _______/ /___ ___________
- / /_/ / _ \/ ___/ / / / ___/ / __ `/ ___/ ___/
- / _, _/ __/ /__/ /_/ / /__/ / /_/ / / / /
-/_/ |_|\___/\___/\__, /\___/_/\__,_/_/ /_/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Recyclarr"
-var_disk="2"
+TAGS="*arr"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /root/.config/recyclarr/recyclarr.yml ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /root/.config/recyclarr/recyclarr.yml ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
-msg_info "Updating ${APP}"
-wget -q $(curl -s https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)
-tar -C /usr/local/bin -xJf recyclarr*.tar.xz
-rm -rf recyclarr*.tar.xz
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ wget -q $(curl -s https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)
+ tar -C /usr/local/bin -xJf recyclarr*.tar.xz
+ rm -rf recyclarr*.tar.xz
+ msg_ok "Updated ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -73,3 +48,6 @@ 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 IP:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}${IP}${CL}"
\ No newline at end of file
diff --git a/ct/redis.sh b/ct/redis.sh
index 32d0ee55eb6..3a089ff1c4d 100644
--- a/ct/redis.sh
+++ b/ct/redis.sh
@@ -2,64 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://redis.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ ___
- / __ \___ ____/ (_)____
- / /_/ / _ \/ __ / / ___/
- / _, _/ __/ /_/ / (__ )
-/_/ |_|\___/\__,_/_/____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Redis"
-var_disk="4"
+TAGS="database"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
-VERBOSE="yes"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /lib/systemd/system/redis-server.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /lib/systemd/system/redis-server.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
}
start
@@ -67,3 +41,6 @@ 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 IP:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}${IP}:6379${CL}"
\ No newline at end of file
diff --git a/ct/rockylinux.sh b/ct/rockylinux.sh
deleted file mode 100644
index 97dbc173a5d..00000000000
--- a/ct/rockylinux.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env bash
-source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
-# Copyright (c) 2021-2024 tteck
-# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-
-function header_info {
-clear
-cat <<"EOF"
- ____ __ __ _
- / __ \____ _____/ /____ __ / / (_)___ __ ___ __
- / /_/ / __ \/ ___/ //_/ / / / / / / / __ \/ / / / |/_/
- / _, _/ /_/ / /__/ ,< / /_/ / / /___/ / / / / /_/ /> <
-/_/ |_|\____/\___/_/|_|\__, / /_____/_/_/ /_/\__,_/_/|_|
- /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
-APP="Rocky Linux"
-var_disk="1"
-var_cpu="1"
-var_ram="512"
-var_os="rockylinux"
-var_version="9"
-variables
-color
-catch_errors
-
-function default_settings() {
- CT_TYPE="1"
- PW="-password rockylinux"
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
-function update_script() {
-header_info
-if [[ ! -d /etc/pacman.d ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-dnf -y update
-dnf -y upgrade
-msg_ok "Updated Successfully"
-exit
-}
-
-start
-build_container
-description
-
-msg_ok "Completed Successfully!\n"
diff --git a/ct/rtsptoweb.sh b/ct/rtsptoweb.sh
index a2db3583119..ccb954f563d 100644
--- a/ct/rtsptoweb.sh
+++ b/ct/rtsptoweb.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/deepch/RTSPtoWeb
-function header_info {
-clear
-cat <<"EOF"
- ____ ___________ ____ __ _ __ __
- / __ \/_ __/ ___// __ \/ /_____| | / /__ / /_
- / /_/ / / / \__ \/ /_/ / __/ __ \ | /| / / _ \/ __ \
- / _, _/ / / ___/ / ____/ /_/ /_/ / |/ |/ / __/ /_/ /
-/_/ |_| /_/ /____/_/ \__/\____/|__/|__/\___/_.___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="RTSPtoWeb"
-var_disk="4"
+TAGS="media"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8083 ${CL} \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}:8083${CL}"
\ No newline at end of file
diff --git a/ct/runtipi.sh b/ct/runtipi.sh
index 2af52c24ea5..0942e69b00c 100644
--- a/ct/runtipi.sh
+++ b/ct/runtipi.sh
@@ -2,63 +2,38 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://runtipi.io/
-function header_info {
-clear
-cat <<"EOF"
- ____ __ _ _
- / __ \__ ______ / /_(_)___ (_)
- / /_/ / / / / __ \/ __/ / __ \/ /
- / _, _/ /_/ / / / / /_/ / /_/ / /
-/_/ |_|\__,_/_/ /_/\__/_/ .___/_/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Runtipi"
-var_disk="8"
+TAGS="os"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/runtipi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-cd /opt/runtipi && ./runtipi-cli update latest
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/runtipi ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ cd /opt/runtipi && ./runtipi-cli update latest
+ exit
}
start
@@ -66,5 +41,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP} ${CL} \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}"
\ No newline at end of file
diff --git a/ct/sabnzbd.sh b/ct/sabnzbd.sh
index 10b1b549040..0ffaabd7e45 100644
--- a/ct/sabnzbd.sh
+++ b/ct/sabnzbd.sh
@@ -2,77 +2,52 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://sabnzbd.org/
-function header_info {
-clear
-cat <<"EOF"
- _____ ___ ____ __ __
- / ___// | / __ )____ ____ / /_ ____/ /
- \__ \/ /| | / __ / __ \/_ / / __ \/ __ /
- ___/ / ___ |/ /_/ / / / / / /_/ /_/ / /_/ /
-/____/_/ |_/_____/_/ /_/ /___/_.___/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="SABnzbd"
-var_disk="8"
+TAGS="downloader"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/sabnzbd ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Updating $APP to ${RELEASE}"
- systemctl stop sabnzbd.service
- tar zxvf <(curl -fsSL https://github.com/sabnzbd/sabnzbd/releases/download/$RELEASE/SABnzbd-${RELEASE}-src.tar.gz) &>/dev/null
- \cp -r SABnzbd-${RELEASE}/* /opt/sabnzbd &>/dev/null
- rm -rf SABnzbd-${RELEASE}
- cd /opt/sabnzbd
- python3 -m pip install -r requirements.txt &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- systemctl start sabnzbd.service
- msg_ok "Updated ${APP} to ${RELEASE}"
-else
- msg_info "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/sabnzbd ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Updating $APP to ${RELEASE}"
+ systemctl stop sabnzbd.service
+ tar zxvf <(curl -fsSL https://github.com/sabnzbd/sabnzbd/releases/download/$RELEASE/SABnzbd-${RELEASE}-src.tar.gz) &>/dev/null
+ \cp -r SABnzbd-${RELEASE}/* /opt/sabnzbd &>/dev/null
+ rm -rf SABnzbd-${RELEASE}
+ cd /opt/sabnzbd
+ python3 -m pip install -r requirements.txt &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ systemctl start sabnzbd.service
+ msg_ok "Updated ${APP} to ${RELEASE}"
+ else
+ msg_info "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -80,5 +55,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:7777${CL} \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}:7777${CL}"
\ No newline at end of file
diff --git a/ct/sftpgo.sh b/ct/sftpgo.sh
index 203ea956dc5..136349012ed 100644
--- a/ct/sftpgo.sh
+++ b/ct/sftpgo.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://sftpgo.com/
-function header_info {
-clear
-cat <<"EOF"
- _____ ________________ ______
- / ___// ____/_ __/ __ \/ ____/___
- \__ \/ /_ / / / /_/ / / __/ __ \
- ___/ / __/ / / / ____/ /_/ / /_/ /
-/____/_/ /_/ /_/ \____/\____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="SFTPGo"
-var_disk="4"
+TAGS="ftp;sftp"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080/web/admin ${CL} \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}:8080/web/admin${CL}"
\ No newline at end of file
diff --git a/ct/shinobi.sh b/ct/shinobi.sh
index 609cae770e5..58bf134c98c 100644
--- a/ct/shinobi.sh
+++ b/ct/shinobi.sh
@@ -2,69 +2,44 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://shinobi.video/
-function header_info {
-clear
-cat <<"EOF"
- _____ __ _ __ _
- / ___// /_ (_)___ ____ / /_ (_)
- \__ \/ __ \/ / __ \/ __ \/ __ \/ /
- ___/ / / / / / / / / /_/ / /_/ / /
-/____/_/ /_/_/_/ /_/\____/_.___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Shinobi"
-var_disk="8"
+TAGS="nvr"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="ubuntu"
var_version="22.04"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/Shinobi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating Shinobi LXC"
-cd /opt/Shinobi
-sh UPDATE.sh
-pm2 flush
-pm2 restart camera
-pm2 restart cron
-msg_ok "Updated Shinobi LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/Shinobi ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating Shinobi LXC"
+ cd /opt/Shinobi
+ sh UPDATE.sh
+ pm2 flush
+ pm2 restart camera
+ pm2 restart cron
+ msg_ok "Updated Shinobi LXC"
+ exit
}
start
@@ -72,5 +47,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8080/super${CL} \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}:8080/super${CL}"
\ No newline at end of file
diff --git a/ct/smokeping.sh b/ct/smokeping.sh
index cb1e98a235d..44544ea8d73 100644
--- a/ct/smokeping.sh
+++ b/ct/smokeping.sh
@@ -1,69 +1,43 @@
#!/usr/bin/env bash
-
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://oss.oetiker.ch/smokeping/
-function header_info {
-clear
-cat <<"EOF"
- _____ __ ____ _
- / ___/____ ___ ____ / /_____ / __ \(_)___ ____ _
- \__ \/ __ `__ \/ __ \/ //_/ _ \/ /_/ / / __ \/ __ `/
- ___/ / / / / / / /_/ / ,< / __/ ____/ / / / / /_/ /
-/____/_/ /_/ /_/\____/_/|_|\___/_/ /_/_/ /_/\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="SmokePing"
-var_disk="2"
+TAGS="network"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if ! command -v smokeping &> /dev/null; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if ! command -v smokeping &>/dev/null; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
-msg_info "Updating ${APP}"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ msg_info "Updating ${APP}"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -71,5 +45,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}/smokeping${CL} \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}/smokeping${CL}"
\ No newline at end of file
diff --git a/ct/snipeit.sh b/ct/snipeit.sh
index c38101a44fb..6591f98dbbe 100644
--- a/ct/snipeit.sh
+++ b/ct/snipeit.sh
@@ -1,94 +1,68 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
-
-#Copyright (c) 2021-2024 community-scripts ORG
+# Copyright (c) 2021-2024 community-scripts ORG
# Author: Michel Roegl-Brunner (michelroegl-brunner)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-function header_info {
-clear
-cat <<"EOF"
- _____ _ __________
- / ___/____ (_)___ ___ / _/_ __/
- \__ \/ __ \/ / __ \/ _ \______ / / / /
- ___/ / / / / / /_/ / __/_____// / / /
-/____/_/ /_/_/ .___/\___/ /___/ /_/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
-APP="SnipeIT"
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://snipeitapp.com/
-var_disk="4"
+# App Default Values
+APP="SnipeIT"
+TAGS="assat-management;foss"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/snipe-it ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/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
- msg_info "Updating ${APP} to v${RELEASE}"
- apt-get update &>/dev/null
- apt-get -y upgrade &>/dev/null
- mv /opt/snipe-it /opt/snipe-it-backup
- cd /opt
- wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" &>/dev/null
- unzip -q v${RELEASE}.zip
- mv snipe-it-${RELEASE} /opt/snipe-it
- cp /opt/snipe-it-backup/.env /opt/snipe-it/.env
- cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/
- cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads
- cd /opt/snipe-it/
- export COMPOSER_ALLOW_SUPERUSER=1
- composer install --no-dev --prefer-source &>/dev/null
- composer dump-autoload &>/dev/null
- php artisan migrate --force &>/dev/null
- php artisan config:clear &>/dev/null
- php artisan route:clear &>/dev/null
- php artisan cache:clear &>/dev/null
- php artisan view:clear &>/dev/null
- chown -R www-data: /opt/snipe-it
- chmod -R 755 /opt/snipe-it
- rm -rf /opt/v${RELEASE}.zip
- rm -rf /opt/snipe-it-backup
- msg_ok "Updated ${APP} LXC"
-else
- msg_ok "No update required. ${APP} is already at v${RELEASE}."
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/snipe-it ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/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
+ msg_info "Updating ${APP} to v${RELEASE}"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ mv /opt/snipe-it /opt/snipe-it-backup
+ cd /opt
+ wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" &>/dev/null
+ unzip -q v${RELEASE}.zip
+ mv snipe-it-${RELEASE} /opt/snipe-it
+ cp /opt/snipe-it-backup/.env /opt/snipe-it/.env
+ cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/
+ cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads
+ cd /opt/snipe-it/
+ export COMPOSER_ALLOW_SUPERUSER=1
+ composer install --no-dev --prefer-source &>/dev/null
+ composer dump-autoload &>/dev/null
+ php artisan migrate --force &>/dev/null
+ php artisan config:clear &>/dev/null
+ php artisan route:clear &>/dev/null
+ php artisan cache:clear &>/dev/null
+ php artisan view:clear &>/dev/null
+ chown -R www-data: /opt/snipe-it
+ chmod -R 755 /opt/snipe-it
+ rm -rf /opt/v${RELEASE}.zip
+ rm -rf /opt/snipe-it-backup
+ msg_ok "Updated ${APP} LXC"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}."
+ fi
+ exit
}
start
@@ -96,3 +70,6 @@ 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}"
\ No newline at end of file
diff --git a/ct/sonarr.sh b/ct/sonarr.sh
index 4f70eb3a9f5..2a59d3719ac 100644
--- a/ct/sonarr.sh
+++ b/ct/sonarr.sh
@@ -2,71 +2,46 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://sonarr.tv/
-function header_info {
-clear
-cat <<"EOF"
- _____
- / ___/____ ____ ____ __________
- \__ \/ __ \/ __ \/ __ `/ ___/ ___/
- ___/ / /_/ / / / / /_/ / / / /
-/____/\____/_/ /_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Sonarr"
-var_disk="4"
+TAGS="*arr"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var/lib/sonarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP v4"
-systemctl stop sonarr.service
-wget -q -O SonarrV4.tar.gz 'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64'
-tar -xzf SonarrV4.tar.gz
-rm -rf /opt/Sonarr
-mv Sonarr /opt
-rm -rf SonarrV4.tar.gz
-systemctl start sonarr.service
-msg_ok "Updated $APP v4"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/sonarr/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP v4"
+ systemctl stop sonarr.service
+ wget -q -O SonarrV4.tar.gz 'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64'
+ tar -xzf SonarrV4.tar.gz
+ rm -rf /opt/Sonarr
+ mv Sonarr /opt
+ rm -rf SonarrV4.tar.gz
+ systemctl start sonarr.service
+ msg_ok "Updated $APP v4"
+ exit
}
start
@@ -74,5 +49,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8989${CL} \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}:8989${CL}"
\ No newline at end of file
diff --git a/ct/spoolman.sh b/ct/spoolman.sh
index d1ba9ed9c3e..35c371f5dc5 100644
--- a/ct/spoolman.sh
+++ b/ct/spoolman.sh
@@ -1,95 +1,69 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/Donkie/Spoolman
-function header_info {
-clear
-cat <<"EOF"
- _____ __
- / ___/____ ____ ____ / /___ ___ ____ _____
- \__ \/ __ \/ __ \/ __ \/ / __ `__ \/ __ `/ __ \
- ___/ / /_/ / /_/ / /_/ / / / / / / / /_/ / / / /
-/____/ .___/\____/\____/_/_/ /_/ /_/\__,_/_/ /_/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Spoolman"
-var_disk="4"
+TAGS="3d-printing"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/spoolman ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(wget -q https://github.com/Donkie/Spoolman/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/spoolman ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(wget -q https://github.com/Donkie/Spoolman/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping ${APP} Service"
- systemctl stop spoolman
- msg_ok "Stopped ${APP} Service"
+ msg_info "Stopping ${APP} Service"
+ systemctl stop spoolman
+ msg_ok "Stopped ${APP} Service"
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt
- rm -rf spoolman_bak
- mv spoolman spoolman_bak
- wget -q https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip
- unzip -q spoolman.zip -d spoolman
- cd spoolman
- pip3 install -r requirements.txt >/dev/null 2>&1
- wget -q https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example -O .env
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt
+ rm -rf spoolman_bak
+ mv spoolman spoolman_bak
+ wget -q https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip
+ unzip -q spoolman.zip -d spoolman
+ cd spoolman
+ pip3 install -r requirements.txt >/dev/null 2>&1
+ wget -q https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example -O .env
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP} Service"
- systemctl start spoolman
- msg_ok "Started ${APP} Service"
+ msg_info "Starting ${APP} Service"
+ systemctl start spoolman
+ msg_ok "Started ${APP} Service"
- msg_info "Cleaning up"
- rm -rf /opt/spoolman.zip
- msg_ok "Cleaned"
+ msg_info "Cleaning up"
+ rm -rf /opt/spoolman.zip
+ msg_ok "Cleaned"
- msg_ok "Updated Successfully!\n"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_ok "Updated Successfully!\n"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -97,5 +71,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:7912${CL} \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}:7912${CL}"
\ No newline at end of file
diff --git a/ct/stirling-pdf.sh b/ct/stirling-pdf.sh
index e78ec23c410..c728c12f124 100644
--- a/ct/stirling-pdf.sh
+++ b/ct/stirling-pdf.sh
@@ -2,81 +2,56 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.stirlingpdf.com/
-function header_info {
-clear
-cat <<"EOF"
- _____ __ _ ___ ____ ____ ______
- / ___// /_(_)____/ (_)___ ____ _ / __ \/ __ \/ ____/
- \__ \/ __/ / ___/ / / __ \/ __ `/___/ /_/ / / / / /_
- ___/ / /_/ / / / / / / / / /_/ /___/ ____/ /_/ / __/
-/____/\__/_/_/ /_/_/_/ /_/\__, / /_/ /_____/_/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Stirling-PDF"
-var_disk="8"
+TAGS="pdf-editor"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/Stirling-PDF ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-systemctl stop stirlingpdf
-if [[ -n $(dpkg -l | grep -w ocrmypdf) ]] && [[ -z $(dpkg -l | grep -w qpdf) ]]; then
- apt-get remove -y ocrmypdf &>/dev/null
- apt-get install -y qpdf &>/dev/null
-fi
-RELEASE=$(curl -s https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
-wget -q https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz
-tar -xzf v$RELEASE.tar.gz
-cd Stirling-PDF-$RELEASE
-chmod +x ./gradlew
-./gradlew build &>/dev/null
-cp -r ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/
-cp -r scripts /opt/Stirling-PDF/
-cd ~
-rm -rf Stirling-PDF-$RELEASE v$RELEASE.tar.gz
-ln -sf /opt/Stirling-PDF/Stirling-PDF-$RELEASE.jar /opt/Stirling-PDF/Stirling-PDF.jar
-systemctl start stirlingpdf
-msg_ok "Updated ${APP} to v$RELEASE"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/Stirling-PDF ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ systemctl stop stirlingpdf
+ if [[ -n $(dpkg -l | grep -w ocrmypdf) ]] && [[ -z $(dpkg -l | grep -w qpdf) ]]; then
+ apt-get remove -y ocrmypdf &>/dev/null
+ apt-get install -y qpdf &>/dev/null
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+ wget -q https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz
+ tar -xzf v$RELEASE.tar.gz
+ cd Stirling-PDF-$RELEASE
+ chmod +x ./gradlew
+ ./gradlew build &>/dev/null
+ cp -r ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/
+ cp -r scripts /opt/Stirling-PDF/
+ cd ~
+ rm -rf Stirling-PDF-$RELEASE v$RELEASE.tar.gz
+ ln -sf /opt/Stirling-PDF/Stirling-PDF-$RELEASE.jar /opt/Stirling-PDF/Stirling-PDF.jar
+ systemctl start stirlingpdf
+ msg_ok "Updated ${APP} to v$RELEASE"
+ exit
}
start
@@ -84,5 +59,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080 ${CL} \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}:8080${CL}"
\ No newline at end of file
diff --git a/ct/syncthing.sh b/ct/syncthing.sh
index d771e03f4e2..224b1cde78f 100644
--- a/ct/syncthing.sh
+++ b/ct/syncthing.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://syncthing.net/
-function header_info {
-clear
-cat <<"EOF"
- _____ __ __ _
- / ___/__ ______ _____/ /_/ /_ (_)___ ____ _
- \__ \/ / / / __ \/ ___/ __/ __ \/ / __ \/ __ `/
- ___/ / /_/ / / / / /__/ /_/ / / / / / / / /_/ /
-/____/\__, /_/ /_/\___/\__/_/ /_/_/_/ /_/\__, /
- /____/ /____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Syncthing"
-var_disk="8"
+TAGS="sync"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/sources.list.d/syncthing.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/sources.list.d/syncthing.list ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8384 ${CL} \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}:8384${CL}"
\ No newline at end of file
diff --git a/ct/tandoor.sh b/ct/tandoor.sh
index 693c8a9f67d..41f97742c85 100644
--- a/ct/tandoor.sh
+++ b/ct/tandoor.sh
@@ -1,63 +1,37 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://tandoor.dev/
-function header_info {
-clear
-cat <<"EOF"
- ______ __ ____ _
- /_ __/___ _____ ____/ /___ ____ _____ / __ \___ _____(_)___ ___ _____
- / / / __ `/ __ \/ __ / __ \/ __ \/ ___/ / /_/ / _ \/ ___/ / __ \/ _ \/ ___/
- / / / /_/ / / / / /_/ / /_/ / /_/ / / / _, _/ __/ /__/ / /_/ / __(__ )
-/_/ \__,_/_/ /_/\__,_/\____/\____/_/ /_/ |_|\___/\___/_/ .___/\___/____/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Tandoor"
-var_disk="10"
+TAGS="recipes"
var_cpu="4"
var_ram="4096"
+var_disk="10"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -d /opt/tandoor ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ if [[ ! -d /opt/tandoor ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
if cd /opt/tandoor && git pull | grep -q 'Already up to date'; then
msg_ok "There is currently no update available."
else
@@ -82,5 +56,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8002${CL} \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}:8002${CL}"
\ No newline at end of file
diff --git a/ct/tasmoadmin.sh b/ct/tasmoadmin.sh
index a99c012acfb..e09b3bd7d97 100644
--- a/ct/tasmoadmin.sh
+++ b/ct/tasmoadmin.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/TasmoAdmin/TasmoAdmin
-function header_info {
-clear
-cat <<"EOF"
- ______ ___ __ _
- /_ __/___ __________ ___ ____ / | ____/ /___ ___ (_)___
- / / / __ `/ ___/ __ `__ \/ __ \/ /| |/ __ / __ `__ \/ / __ \
- / / / /_/ (__ ) / / / / / /_/ / ___ / /_/ / / / / / / / / / /
-/_/ \__,_/____/_/ /_/ /_/\____/_/ |_\__,_/_/ /_/ /_/_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="TasmoAdmin"
-var_disk="2"
+TAGS="tasmota;smarthome"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9999${CL} \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}:9999${CL}"
\ No newline at end of file
diff --git a/ct/tautulli.sh b/ct/tautulli.sh
index 59e1831b88d..1a1eb7c4a66 100644
--- a/ct/tautulli.sh
+++ b/ct/tautulli.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://tautulli.com/
-function header_info {
-clear
-cat <<"EOF"
- ______ __ _____
- /_ __/___ ___ __/ /___ __/ / (_)
- / / / __ `/ / / / __/ / / / / / /
- / / / /_/ / /_/ / /_/ /_/ / / / /
-/_/ \__,_/\__,_/\__/\__,_/_/_/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Tautulli"
-var_disk="4"
+TAGS="media"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/Tautulli/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/Tautulli/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8181${CL} \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}:8181${CL}"
\ No newline at end of file
diff --git a/ct/tdarr.sh b/ct/tdarr.sh
index c6d5fddd7f3..4fc476c26a7 100644
--- a/ct/tdarr.sh
+++ b/ct/tdarr.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://home.tdarr.io/
-function header_info {
-clear
-cat <<"EOF"
- ______ __
- /_ __/___/ /___ __________
- / / / __ / __ `/ ___/ ___/
- / / / /_/ / /_/ / / / /
-/_/ \__,_/\__,_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Tdarr"
-var_disk="4"
+TAGS="*arr"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/tdarr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/tdarr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8265${CL} \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}:8265${CL}"
\ No newline at end of file
diff --git a/ct/technitiumdns.sh b/ct/technitiumdns.sh
index 73ff29baeba..b786b5f99a0 100644
--- a/ct/technitiumdns.sh
+++ b/ct/technitiumdns.sh
@@ -2,73 +2,48 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://technitium.com/dns/
-function header_info {
-clear
-cat <<"EOF"
- ______ __ _ __ _ ____ _ _______
- /_ __/__ _____/ /_ ____ (_) /_(_)_ ______ ___ / __ \/ | / / ___/
- / / / _ \/ ___/ __ \/ __ \/ / __/ / / / / __ __ \ / / / / |/ /\__ \
- / / / __/ /__/ / / / / / / / /_/ / /_/ / / / / / / / /_/ / /| /___/ /
-/_/ \___/\___/_/ /_/_/ /_/_/\__/_/\__,_/_/ /_/ /_/ /_____/_/ |_//____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Technitium DNS"
-var_disk="2"
+TAGS="dns"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/dns ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/dns ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
-if ! dpkg -s aspnetcore-runtime-8.0 > /dev/null 2>&1; then
+ if ! dpkg -s aspnetcore-runtime-8.0 >/dev/null 2>&1; then
wget -q https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb &>/dev/null
apt-get update &>/dev/null
apt-get install -y aspnetcore-runtime-8.0 &>/dev/null
rm packages-microsoft-prod.deb
-fi
-bash <(curl -fsSL https://download.technitium.com/dns/install.sh) &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ fi
+ bash <(curl -fsSL https://download.technitium.com/dns/install.sh) &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -76,5 +51,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5380${CL} \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}:5380${CL}"
\ No newline at end of file
diff --git a/ct/the-lounge.sh b/ct/the-lounge.sh
index dd4e50962db..b941f888acf 100644
--- a/ct/the-lounge.sh
+++ b/ct/the-lounge.sh
@@ -2,86 +2,61 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: kristocopani
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://thelounge.chat/
-function header_info {
-clear
-cat <<"EOF"
- ________ __
- /_ __/ /_ ___ / / ____ __ ______ ____ ____
- / / / __ \/ _ \______/ / / __ \/ / / / __ \/ __ `/ _ \
- / / / / / / __/_____/ /___/ /_/ / /_/ / / / / /_/ / __/
-/_/ /_/ /_/\___/ /_____/\____/\__,_/_/ /_/\__, /\___/
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="The-Lounge"
-var_disk="4"
+TAGS="irc"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="yes"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /usr/lib/systemd/system/thelounge.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/thelounge/thelounge-deb/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
- msg_info "Stopping Service"
- systemctl stop thelounge
- msg_ok "Stopped Service"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /usr/lib/systemd/system/thelounge.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/thelounge/thelounge-deb/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
+ msg_info "Stopping Service"
+ systemctl stop thelounge
+ msg_ok "Stopped Service"
- msg_info "Updating ${APP} to v${RELEASE}"
- apt-get install --only-upgrade nodejs &>/dev/null
- cd /opt
- wget -q https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb
- dpkg -i ./thelounge_${RELEASE}_all.deb
- msg_ok "Updated ${APP} to v${RELEASE}"
+ msg_info "Updating ${APP} to v${RELEASE}"
+ apt-get install --only-upgrade nodejs &>/dev/null
+ cd /opt
+ wget -q https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb
+ dpkg -i ./thelounge_${RELEASE}_all.deb
+ msg_ok "Updated ${APP} to v${RELEASE}"
- msg_info "Starting Service"
- systemctl start thelounge
- msg_ok "Started Service"
+ msg_info "Starting Service"
+ systemctl start thelounge
+ msg_ok "Started Service"
- msg_info "Cleaning up"
- rm -rf "/opt/thelounge_${RELEASE}_all.deb"
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at v${RELEASE}."
-fi
-exit
+ msg_info "Cleaning up"
+ rm -rf "/opt/thelounge_${RELEASE}_all.deb"
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}."
+ fi
+ exit
}
start
@@ -89,5 +64,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:9000${CL} \n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+echo -e "${INFO}${YW} Access it using the following URL:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}"
\ No newline at end of file
diff --git a/ct/threadfin.sh b/ct/threadfin.sh
index 9995ea15713..65dd715ac24 100644
--- a/ct/threadfin.sh
+++ b/ct/threadfin.sh
@@ -2,68 +2,43 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/Threadfin/Threadfin
-function header_info {
-clear
-cat <<"EOF"
- ________ _______
- /_ __/ /_ ________ ____ _____/ / __(_)___
- / / / __ \/ ___/ _ \/ __ `/ __ / /_/ / __ \
- / / / / / / / / __/ /_/ / /_/ / __/ / / / /
-/_/ /_/ /_/_/ \___/\__,_/\__,_/_/ /_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Threadfin"
-var_disk="4"
+TAGS="media"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/threadfin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-systemctl stop threadfin.service
-wget -q -O /opt/threadfin/threadfin 'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64'
-chmod +x /opt/threadfin/threadfin
-systemctl start threadfin.service
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/threadfin ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ systemctl stop threadfin.service
+ wget -q -O /opt/threadfin/threadfin 'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64'
+ chmod +x /opt/threadfin/threadfin
+ systemctl start threadfin.service
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -71,5 +46,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:34400/web${CL} \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}:34400/web${CL}"
\ No newline at end of file
diff --git a/ct/tianji.sh b/ct/tianji.sh
index e80a524804d..6479c17ff1e 100644
--- a/ct/tianji.sh
+++ b/ct/tianji.sh
@@ -1,101 +1,75 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://tianji.msgbyte.com/
-function header_info {
-clear
-cat <<"EOF"
- _______ _ _
- /_ __(_)___ _____ (_|_)
- / / / / __ `/ __ \ / / /
- / / / / /_/ / / / / / / /
-/_/ /_/\__,_/_/ /_/_/ /_/
- /___/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Tianji"
-var_disk="12"
+TAGS="monitoring"
var_cpu="4"
var_ram="4096"
+var_disk="12"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/tianji ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/msgbyte/tianji/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
- msg_info "Stopping ${APP} Service"
- systemctl stop tianji
- msg_ok "Stopped ${APP} Service"
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt
- cp /opt/tianji/src/server/.env /opt/.env
- mv /opt/tianji /opt/tianji_bak
- wget -q "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip"
- unzip -q v${RELEASE}.zip
- mv tianji-${RELEASE} /opt/tianji
- cd tianji
- pnpm install --filter @tianji/client... --config.dedupe-peer-dependents=false --frozen-lockfile >/dev/null 2>&1
- pnpm build:static >/dev/null 2>&1
- pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false >/dev/null 2>&1
- mkdir -p ./src/server/public >/dev/null 2>&1
- cp -r ./geo ./src/server/public >/dev/null 2>&1
- pnpm build:server >/dev/null 2>&1
- mv /opt/.env /opt/tianji/src/server/.env
- cd src/server
- pnpm db:migrate:apply >/dev/null 2>&1
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP} to ${RELEASE}"
- msg_info "Starting ${APP}"
- systemctl start tianji
- msg_ok "Started ${APP}"
- msg_info "Cleaning up"
- rm -R /opt/v${RELEASE}.zip
- rm -rf /opt/tianji_bak
- rm -rf /opt/tianji/src/client
- rm -rf /opt/tianji/website
- rm -rf /opt/tianji/reporter
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}."
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/tianji ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/msgbyte/tianji/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
+ msg_info "Stopping ${APP} Service"
+ systemctl stop tianji
+ msg_ok "Stopped ${APP} Service"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt
+ cp /opt/tianji/src/server/.env /opt/.env
+ mv /opt/tianji /opt/tianji_bak
+ wget -q "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q v${RELEASE}.zip
+ mv tianji-${RELEASE} /opt/tianji
+ cd tianji
+ pnpm install --filter @tianji/client... --config.dedupe-peer-dependents=false --frozen-lockfile >/dev/null 2>&1
+ pnpm build:static >/dev/null 2>&1
+ pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false >/dev/null 2>&1
+ mkdir -p ./src/server/public >/dev/null 2>&1
+ cp -r ./geo ./src/server/public >/dev/null 2>&1
+ pnpm build:server >/dev/null 2>&1
+ mv /opt/.env /opt/tianji/src/server/.env
+ cd src/server
+ pnpm db:migrate:apply >/dev/null 2>&1
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to ${RELEASE}"
+ msg_info "Starting ${APP}"
+ systemctl start tianji
+ msg_ok "Started ${APP}"
+ msg_info "Cleaning up"
+ rm -R /opt/v${RELEASE}.zip
+ rm -rf /opt/tianji_bak
+ rm -rf /opt/tianji/src/client
+ rm -rf /opt/tianji/website
+ rm -rf /opt/tianji/reporter
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}."
+ fi
+ exit
}
start
@@ -103,5 +77,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:12345${CL} \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}:12345${CL}"
\ No newline at end of file
diff --git a/ct/traccar.sh b/ct/traccar.sh
index c0f7a5daf5b..f3a2d2d3f8a 100644
--- a/ct/traccar.sh
+++ b/ct/traccar.sh
@@ -2,64 +2,39 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.traccar.org/
-function header_info {
-clear
-cat <<"EOF"
- ______
- /_ __/________ _______________ ______
- / / / ___/ __ `/ ___/ ___/ __ `/ ___/
- / / / / / /_/ / /__/ /__/ /_/ / /
-/_/ /_/ \__,_/\___/\___/\__,_/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Traccar"
-var_disk="2"
+TAGS="gps;tracker"
var_cpu="1"
var_ram="1024"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/traccar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_error "There is currently no update path available."
-exit
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/traccar ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "There is currently no update path available."
+ exit
+ exit
}
start
@@ -67,5 +42,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8082${CL} \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}:8082${CL}"
\ No newline at end of file
diff --git a/ct/traefik.sh b/ct/traefik.sh
index 6cfbfe20ef0..82e1a025694 100644
--- a/ct/traefik.sh
+++ b/ct/traefik.sh
@@ -2,75 +2,50 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://traefik.io/
-function header_info {
-clear
-cat <<"EOF"
- ______ _____ __
- /_ __/________ ____ / __(_) /__
- / / / ___/ __ `/ _ \/ /_/ / //_/
- / / / / / /_/ / __/ __/ / ,<
-/_/ /_/ \__,_/\___/_/ /_/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Traefik"
-var_disk="2"
+TAGS="proxy"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/traefik.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1)
-msg_info "Updating $APP LXC"
-if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
- wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
- tar -C /tmp -xzf traefik*.tar.gz
- mv /tmp/traefik /usr/bin/
- rm -rf traefik*.tar.gz
- systemctl restart traefik.service
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated $APP LXC"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/traefik.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1)
+ msg_info "Updating $APP LXC"
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz
+ tar -C /tmp -xzf traefik*.tar.gz
+ mv /tmp/traefik /usr/bin/
+ rm -rf traefik*.tar.gz
+ systemctl restart traefik.service
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated $APP LXC"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -78,5 +53,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080${CL} \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}:8080${CL}"
\ No newline at end of file
diff --git a/ct/transmission.sh b/ct/transmission.sh
index deaf8f74152..12afb2d10e4 100644
--- a/ct/transmission.sh
+++ b/ct/transmission.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://transmissionbt.com/
-function header_info {
-clear
-cat <<"EOF"
- ______ _ _
- /_ __/________ _____ _________ ___ (_)_________(_)___ ____
- / / / ___/ __ `/ __ \/ ___/ __ `__ \/ / ___/ ___/ / __ \/ __ \
- / / / / / /_/ / / / (__ ) / / / / / (__ |__ ) / /_/ / / / /
-/_/ /_/ \__,_/_/ /_/____/_/ /_/ /_/_/____/____/_/\____/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Transmission"
-var_disk="8"
+TAGS="torrent"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/transmission-daemon/settings.json ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/transmission-daemon/settings.json ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:9091/transmission${CL} \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}:9091/transmission${CL}"
\ No newline at end of file
diff --git a/ct/trilium.sh b/ct/trilium.sh
index f6a7d60baa8..9fc950c1936 100644
--- a/ct/trilium.sh
+++ b/ct/trilium.sh
@@ -2,84 +2,59 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://triliumnext.github.io/Docs/
-function header_info {
-clear
-cat <<"EOF"
- ______ _ ___
- /_ __/____(_) (_)_ ______ ___
- / / / ___/ / / / / / / __ `__ \
- / / / / / / / / /_/ / / / / / /
-/_/ /_/ /_/_/_/\__,_/_/ /_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Trilium"
-var_disk="2"
+TAGS="notes"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/trilium ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-
-msg_info "Stopping ${APP}"
-systemctl stop trilium.service
-sleep 1
-msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/trilium ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+
+ msg_info "Stopping ${APP}"
+ systemctl stop trilium.service
+ sleep 1
+ msg_ok "Stopped ${APP}"
-msg_info "Updating to ${RELEASE}"
-wget -q https://github.com/TriliumNext/Notes/releases/download/${RELEASE}/TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
-tar -xf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
-cp -r trilium-linux-x64-server/* /opt/trilium/
-msg_ok "Updated to ${RELEASE}"
+ msg_info "Updating to ${RELEASE}"
+ wget -q https://github.com/TriliumNext/Notes/releases/download/${RELEASE}/TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
+ tar -xf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz
+ cp -r trilium-linux-x64-server/* /opt/trilium/
+ msg_ok "Updated to ${RELEASE}"
-msg_info "Cleaning up"
-rm -rf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz trilium-linux-x64-server
-msg_ok "Cleaned"
+ msg_info "Cleaning up"
+ rm -rf TriliumNextNotes-${RELEASE}-server-linux-x64.tar.xz trilium-linux-x64-server
+ msg_ok "Cleaned"
-msg_info "Starting ${APP}"
-systemctl start trilium.service
-sleep 1
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ${APP}"
+ systemctl start trilium.service
+ sleep 1
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -87,5 +62,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8080${CL} \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}:8080${CL}"
\ No newline at end of file
diff --git a/ct/ubuntu.sh b/ct/ubuntu.sh
index fe2851d96ec..0ab070e0211 100644
--- a/ct/ubuntu.sh
+++ b/ct/ubuntu.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://ubuntu.com/
-function header_info {
-clear
-cat <<"EOF"
- __ ____ __
- / / / / /_ __ ______ / /___ __
- / / / / __ \/ / / / __ \/ __/ / / /
-/ /_/ / /_/ / /_/ / / / / /_/ /_/ /
-\____/_.___/\__,_/_/ /_/\__/\__,_/
-
-EOF
-}
-header_info
+# App Default Values
echo -e "Loading..."
APP="Ubuntu"
-var_disk="2"
+TAGS="os"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="ubuntu"
-var_version="22.04"
+var_version="24.04"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
}
start
@@ -69,3 +44,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
diff --git a/ct/umami.sh b/ct/umami.sh
index 0c37d001d52..ac1ed698562 100644
--- a/ct/umami.sh
+++ b/ct/umami.sh
@@ -2,79 +2,54 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://umami.is/
-function header_info {
-clear
-cat <<"EOF"
- _
- __ ______ ___ ____ _____ ___ (_)
- / / / / __ `__ \/ __ `/ __ `__ \/ /
-/ /_/ / / / / / / /_/ / / / / / / /
-\__,_/_/ /_/ /_/\__,_/_/ /_/ /_/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Umami"
-var_disk="12"
+TAGS="analytics"
var_cpu="2"
var_ram="2048"
+var_disk="12"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/umami ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-
-msg_info "Stopping ${APP}"
-systemctl stop umami
-msg_ok "Stopped $APP"
-
-msg_info "Updating ${APP}"
-cd /opt/umami
-git pull
-yarn install
-yarn build
-msg_ok "Updated ${APP}"
-
-msg_info "Starting ${APP}"
-systemctl start umami
-msg_ok "Started ${APP}"
-
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/umami ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+
+ msg_info "Stopping ${APP}"
+ systemctl stop umami
+ msg_ok "Stopped $APP"
+
+ msg_info "Updating ${APP}"
+ cd /opt/umami
+ git pull
+ yarn install
+ yarn build
+ msg_ok "Updated ${APP}"
+
+ msg_info "Starting ${APP}"
+ systemctl start umami
+ msg_ok "Started ${APP}"
+
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -82,5 +57,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/umbrel.sh b/ct/umbrel.sh
index fa1bfb99d31..a336995c171 100644
--- a/ct/umbrel.sh
+++ b/ct/umbrel.sh
@@ -2,65 +2,37 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://umbrel.com/
-function header_info {
-clear
-cat <<"EOF"
- __ __ __ __
- / / / /___ ___ / /_ ________ / /
- / / / / __ `__ \/ __ \/ ___/ _ \/ /
-/ /_/ / / / / / / /_/ / / / __/ /
-\____/_/ /_/ /_/_.___/_/ \___/_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Umbrel"
-var_disk="8"
+TAGS="os"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-msg_info "Updating ${APP} LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated ${APP} LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ msg_info "Updating ${APP} LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ exit
}
start
@@ -68,5 +40,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL (reboot is required before apps install).
- ${BL}http://${IP} ${CL} \n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized! (manual reboot is required!)${CL}"
+echo -e "${INFO}${YW} Access it using the following URL:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
\ No newline at end of file
diff --git a/ct/unbound.sh b/ct/unbound.sh
index 94d0a405410..abc9bba5bba 100644
--- a/ct/unbound.sh
+++ b/ct/unbound.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: wimb0
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/NLnetLabs/unbound
-function header_info {
-clear
-cat <<"EOF"
- __ __ __ __
- / / / /___ / /_ ____ __ ______ ____/ /
- / / / / __ \/ __ \/ __ \/ / / / __ \/ __ /
-/ /_/ / / / / /_/ / /_/ / /_/ / / / / /_/ /
-\____/_/ /_/_.___/\____/\__,_/_/ /_/\__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Unbound"
-var_disk="2"
+TAGS="dns"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/unbound ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/unbound ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be online.
- ${BL} Set your DNS server to ${IP}:5335 ${CL} \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}:5335${CL}"
\ No newline at end of file
diff --git a/ct/unifi.sh b/ct/unifi.sh
index 706fcd19627..45af19a20c8 100644
--- a/ct/unifi.sh
+++ b/ct/unifi.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://ui.com/download/unifi
-function header_info {
-clear
-cat <<"EOF"
- __ __ _ _____
- / / / /__ (_) __(_)
- / / / / __ \/ / /_/ /
-/ /_/ / / / / / __/ /
-\____/_/ /_/_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Unifi"
-var_disk="8"
+TAGS="network;controller;unifi"
var_cpu="2"
var_ram="2048"
+var_disk="8"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /usr/lib/unifi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP}"
-apt-get update --allow-releaseinfo-change &>/dev/null
-apt-get install -y unifi &>/dev/null
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /usr/lib/unifi ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP}"
+ apt-get update --allow-releaseinfo-change &>/dev/null
+ apt-get install -y unifi &>/dev/null
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP}${CL} should be reachable by going to the following URL.
- ${BL}https://${IP}:8443${CL} \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}:8443${CL}"
diff --git a/ct/unmanic.sh b/ct/unmanic.sh
index a24633afc8b..7b7d7a9456e 100644
--- a/ct/unmanic.sh
+++ b/ct/unmanic.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://docs.unmanic.app/
-function header_info {
-clear
-cat <<"EOF"
- __ __ _
- / / / /___ ____ ___ ____ _____ (_)____
- / / / / __ \/ __ `__ \/ __ `/ __ \/ / ___/
-/ /_/ / / / / / / / / / /_/ / / / / / /__
-\____/_/ /_/_/ /_/ /_/\__,_/_/ /_/_/\___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Unmanic"
-var_disk="4"
+TAGS="file;media"
var_cpu="2"
var_ram="2048"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/systemd/system/unmanic.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-pip3 install -U unmanic &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/unmanic.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ pip3 install -U unmanic &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8888${CL} \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}:8888${CL}"
\ No newline at end of file
diff --git a/ct/uptimekuma.sh b/ct/uptimekuma.sh
index 53667c18f97..900f988d96f 100644
--- a/ct/uptimekuma.sh
+++ b/ct/uptimekuma.sh
@@ -2,62 +2,36 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://uptime.kuma.pet/
-function header_info {
-clear
-cat <<"EOF"
- __ __ __ _ __ __
- / / / /___ / /_(_)___ ___ ___ / //_/_ ______ ___ ____ _
- / / / / __ \/ __/ / __ __ \/ _ \ / ,< / / / / __ __ \/ __ /
-/ /_/ / /_/ / /_/ / / / / / / __/ / /| / /_/ / / / / / / /_/ /
-\____/ .___/\__/_/_/ /_/ /_/\___/ /_/ |_\__,_/_/ /_/ /_/\__,_/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Uptime Kuma"
-var_disk="4"
+TAGS="analytics;monitoring"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/uptime-kuma ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/uptime-kuma ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
@@ -65,28 +39,28 @@ if [[ ! -d /opt/uptime-kuma ]]; then msg_error "No ${APP} Installation Found!";
echo "Installed NPM..."
fi
fi
-LATEST=$(curl -sL https://api.github.com/repos/louislam/uptime-kuma/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
-msg_info "Stopping ${APP}"
-sudo systemctl stop uptime-kuma &>/dev/null
-msg_ok "Stopped ${APP}"
+ LATEST=$(curl -sL https://api.github.com/repos/louislam/uptime-kuma/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+ msg_info "Stopping ${APP}"
+ sudo systemctl stop uptime-kuma &>/dev/null
+ msg_ok "Stopped ${APP}"
-cd /opt/uptime-kuma
+ cd /opt/uptime-kuma
-msg_info "Pulling ${APP} ${LATEST}"
-git fetch --all &>/dev/null
-git checkout $LATEST --force &>/dev/null
-msg_ok "Pulled ${APP} ${LATEST}"
+ msg_info "Pulling ${APP} ${LATEST}"
+ git fetch --all &>/dev/null
+ git checkout $LATEST --force &>/dev/null
+ msg_ok "Pulled ${APP} ${LATEST}"
-msg_info "Updating ${APP} to ${LATEST}"
-npm install --production &>/dev/null
-npm run download-dist &>/dev/null
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP} to ${LATEST}"
+ npm install --production &>/dev/null
+ npm run download-dist &>/dev/null
+ msg_ok "Updated ${APP}"
-msg_info "Starting ${APP}"
-sudo systemctl start uptime-kuma &>/dev/null
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ${APP}"
+ sudo systemctl start uptime-kuma &>/dev/null
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -94,5 +68,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3001${CL} \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}:3001${CL}"
diff --git a/ct/vaultwarden.sh b/ct/vaultwarden.sh
index aab39bd3b57..9bc744c524a 100644
--- a/ct/vaultwarden.sh
+++ b/ct/vaultwarden.sh
@@ -2,56 +2,28 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-
-function header_info {
- clear
- cat <<"EOF"
- _ __ ____ _ __ __
-| | / /___ ___ __/ / /| | / /___ __________/ /__ ____
-| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __ / _ \/ __ \
-| |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / / / /_/ / __/ / / /
-|___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/ \__,_/\___/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.vaultwarden.net/
+
+# App Default Values
APP="Vaultwarden"
-var_disk="6"
+TAGS="password-manager"
var_cpu="4"
var_ram="6144"
+var_disk="6"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -60,7 +32,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
-
+
VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest |
grep "tag_name" |
awk '{print substr($2, 2, length($2)-3) }')
@@ -143,5 +115,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8000${CL} \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}:8000${CL}"
diff --git a/ct/vikunja.sh b/ct/vikunja.sh
index a8889700364..508d2d4b9ff 100644
--- a/ct/vikunja.sh
+++ b/ct/vikunja.sh
@@ -2,89 +2,62 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://vikunja.io/
-function header_info {
-clear
-cat <<"EOF"
- _ ___ __ _
-| | / (_) /____ ______ (_)___ _
-| | / / / //_/ / / / __ \ / / __ `/
-| |/ / / ,< / /_/ / / / / / / /_/ /
-|___/_/_/|_|\__,_/_/ /_/_/ /\__,_/
- /___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Vikunja"
-var_disk="4"
+TAGS="todo-app"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/vikunja ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1)
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping ${APP}"
- systemctl stop vikunja
- msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/vikunja ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop vikunja
+ msg_ok "Stopped ${APP}"
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt
- rm -rf /opt/vikunja/vikunja
- wget -q "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb"
- DEBIAN_FRONTEND=noninteractive dpkg -i vikunja-$RELEASE-amd64.deb &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt
+ rm -rf /opt/vikunja/vikunja
+ wget -q "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb"
+ DEBIAN_FRONTEND=noninteractive dpkg -i vikunja-$RELEASE-amd64.deb &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP}"
- msg_info "Starting ${APP}"
- systemctl start vikunja
- msg_ok "Started ${APP}"
+ msg_info "Starting ${APP}"
+ systemctl start vikunja
+ msg_ok "Started ${APP}"
- msg_info "Cleaning Up"
- rm -rf /opt/vikunja-$RELEASE-amd64.deb
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Cleaning Up"
+ rm -rf /opt/vikunja-$RELEASE-amd64.deb
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -92,5 +65,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:3456${CL} \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}:3456${CL}"
diff --git a/ct/wallos.sh b/ct/wallos.sh
index f8f9d352cc1..34fec89c164 100644
--- a/ct/wallos.sh
+++ b/ct/wallos.sh
@@ -1,96 +1,70 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://wallosapp.com/
-function header_info {
-clear
-cat <<"EOF"
- _ __ ____
-| | / /___ _/ / /___ _____
-| | /| / / __ `/ / / __ \/ ___/
-| |/ |/ / /_/ / / / /_/ (__ )
-|__/|__/\__,_/_/_/\____/____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Wallos"
-var_disk="5"
+TAGS="finance"
var_cpu="1"
var_ram="1024"
+var_disk="5"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/wallos ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/ellite/Wallos/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
- msg_info "Updating ${APP} to ${RELEASE}"
- cd /opt
- wget -q "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip"
- mkdir -p /opt/logos
- mv /opt/wallos/db/wallos.db /opt/wallos.db
- mv /opt/wallos/images/uploads/logos /opt/logos/
- unzip -q v${RELEASE}.zip
- rm -rf /opt/wallos
- mv Wallos-${RELEASE} /opt/wallos
- rm -rf /opt/wallos/db/wallos.empty.db
- mv /opt/wallos.db /opt/wallos/db/wallos.db
- mv /opt/logos/* /opt/wallos/images/uploads/logos
- chown -R www-data:www-data /opt/wallos
- chmod -R 755 /opt/wallos
- mkdir -p /var/log/cron
- curl http://localhost/endpoints/db/migrate.php &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/wallos ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/ellite/Wallos/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
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cd /opt
+ wget -q "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip"
+ mkdir -p /opt/logos
+ mv /opt/wallos/db/wallos.db /opt/wallos.db
+ mv /opt/wallos/images/uploads/logos /opt/logos/
+ unzip -q v${RELEASE}.zip
+ rm -rf /opt/wallos
+ mv Wallos-${RELEASE} /opt/wallos
+ rm -rf /opt/wallos/db/wallos.empty.db
+ mv /opt/wallos.db /opt/wallos/db/wallos.db
+ mv /opt/logos/* /opt/wallos/images/uploads/logos
+ chown -R www-data:www-data /opt/wallos
+ chmod -R 755 /opt/wallos
+ mkdir -p /var/log/cron
+ curl http://localhost/endpoints/db/migrate.php &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP}"
- msg_info "Reload Apache2"
- systemctl reload apache2
- msg_ok "Apache2 Reloaded"
+ msg_info "Reload Apache2"
+ systemctl reload apache2
+ msg_ok "Apache2 Reloaded"
- msg_info "Cleaning Up"
- rm -R /opt/v${RELEASE}.zip
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Cleaning Up"
+ rm -R /opt/v${RELEASE}.zip
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -98,5 +72,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP} ${CL} \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}"
\ No newline at end of file
diff --git a/ct/wastebin.sh b/ct/wastebin.sh
index 639e0cacaf8..2bdf5ab8681 100644
--- a/ct/wastebin.sh
+++ b/ct/wastebin.sh
@@ -1,91 +1,63 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/matze/wastebin
-
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ __ _
-| | / /___ ______/ /____ / /_ (_)___
-| | /| / / __ `/ ___/ __/ _ \/ __ \/ / __ \
-| |/ |/ / /_/ (__ ) /_/ __/ /_/ / / / / /
-|__/|__/\__,_/____/\__/\___/_.___/_/_/ /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Wastebin"
-var_disk="4"
+TAGS="file;code"
var_cpu="1"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/wastebin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping Wastebin"
- systemctl stop wastebin
- msg_ok "Wastebin Stopped"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/wastebin ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping Wastebin"
+ systemctl stop wastebin
+ msg_ok "Wastebin Stopped"
- msg_info "Updating Wastebin"
- wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
- tar -xf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
- cp -f wastebin /opt/wastebin/
- chmod +x /opt/wastebin/wastebin
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated Wastebin"
+ msg_info "Updating Wastebin"
+ wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
+ tar -xf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
+ cp -f wastebin /opt/wastebin/
+ chmod +x /opt/wastebin/wastebin
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated Wastebin"
- msg_info "Starting Wastebin"
- systemctl start wastebin
- msg_ok "Started Wastebin"
+ msg_info "Starting Wastebin"
+ systemctl start wastebin
+ msg_ok "Started Wastebin"
- msg_info "Cleaning Up"
- rm -rf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Cleaning Up"
+ rm -rf wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -93,5 +65,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:8088${CL} \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}:8088${CL}"
\ No newline at end of file
diff --git a/ct/watchyourlan.sh b/ct/watchyourlan.sh
index 182a106fe06..c38355a0cd2 100644
--- a/ct/watchyourlan.sh
+++ b/ct/watchyourlan.sh
@@ -2,73 +2,48 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/aceberg/WatchYourLAN
-function header_info {
-clear
-cat <<"EOF"
- _ __ __ ____ __ __ ___ _ __
-| | / /___ _/ /______/ /\ \/ /___ __ _______/ / / | / | / /
-| | /| / / __ `/ __/ ___/ __ \ / __ \/ / / / ___/ / / /| | / |/ /
-| |/ |/ / /_/ / /_/ /__/ / / / / /_/ / /_/ / / / /___/ ___ |/ /| /
-|__/|__/\__,_/\__/\___/_/ /_/_/\____/\__,_/_/ /_____/_/ |_/_/ |_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="WatchYourLAN"
-var_disk="2"
+TAGS="network"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /lib/systemd/system/watchyourlan.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP"
-systemctl stop watchyourlan.service
-cp -R /data/config.yaml config.yaml
-RELEASE=$(curl -s https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4)
-wget -q https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb
-dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb
-cp -R config.yaml /data/config.yaml
-sed -i 's|/etc/watchyourlan/config.yaml|/data/config.yaml|' /lib/systemd/system/watchyourlan.service
-rm watchyourlan_${RELEASE}_linux_amd64.deb config.yaml
-systemctl enable -q --now watchyourlan.service
-msg_ok "Updated $APP"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /lib/systemd/system/watchyourlan.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP"
+ systemctl stop watchyourlan.service
+ cp -R /data/config.yaml config.yaml
+ RELEASE=$(curl -s https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4)
+ wget -q https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb
+ dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb
+ cp -R config.yaml /data/config.yaml
+ sed -i 's|/etc/watchyourlan/config.yaml|/data/config.yaml|' /lib/systemd/system/watchyourlan.service
+ rm watchyourlan_${RELEASE}_linux_amd64.deb config.yaml
+ systemctl enable -q --now watchyourlan.service
+ msg_ok "Updated $APP"
+ exit
}
start
@@ -76,5 +51,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8840${CL} \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}:8840${CL}"
\ No newline at end of file
diff --git a/ct/wavelog.sh b/ct/wavelog.sh
index 60ed3754aca..59a5b8f6f1b 100644
--- a/ct/wavelog.sh
+++ b/ct/wavelog.sh
@@ -2,104 +2,79 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: Don Locke (DonLocke)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.wavelog.org/
-function header_info {
-clear
-cat <<"EOF"
- _ __ __
-| | / /___ __ _____ / / ____ ____ _
-| | /| / / __ `/ | / / _ \/ / / __ \/ __ '/
-| |/ |/ / /_/ /| |/ / __/ /___/ /_/ / /_/ /
-|__/|__/\__,_/ |___/\___/_____/\____/\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Wavelog"
-var_disk="2"
+TAGS="radio-logging"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/wavelog ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | cut -d '"' -f 4)
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Stopping Services"
- systemctl stop apache2
- msg_ok "Services Stopped"
-
- msg_info "Updating ${APP} to ${RELEASE}"
- cp /opt/wavelog/application/config/config.php /opt/config.php
- cp /opt/wavelog/application/config/database.php /opt/database.php
- cp -r /opt/wavelog/userdata /opt/userdata
- if [[ -f /opt/wavelog/assets/js/sections/custom.js ]]; then
- cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js
- fi
- wget -q "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip"
- unzip -q ${RELEASE}.zip
- rm -rf /opt/wavelog
- mv wavelog-${RELEASE}/ /opt/wavelog
- rm -rf /opt/wavelog/install
- mv /opt/config.php /opt/wavelog/application/config/config.php
- mv /opt/database.php /opt/wavelog/application/config/database.php
- cp -r /opt/userdata/* /opt/wavelog/userdata
- rm -rf /opt/userdata
- if [[ -f /opt/custom.js ]]; then
- mv /opt/custom.js /opt/wavelog/assets/js/sections/custom.js
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/wavelog ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
fi
- chown -R www-data:www-data /opt/wavelog/
- find /opt/wavelog/ -type d -exec chmod 755 {} \;
- find /opt/wavelog/ -type f -exec chmod 664 {} \;
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ RELEASE=$(curl -s https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | cut -d '"' -f 4)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping Services"
+ systemctl stop apache2
+ msg_ok "Services Stopped"
- msg_info "Starting Services"
- systemctl start apache2
- msg_ok "Started Services"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cp /opt/wavelog/application/config/config.php /opt/config.php
+ cp /opt/wavelog/application/config/database.php /opt/database.php
+ cp -r /opt/wavelog/userdata /opt/userdata
+ if [[ -f /opt/wavelog/assets/js/sections/custom.js ]]; then
+ cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js
+ fi
+ wget -q "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip"
+ unzip -q ${RELEASE}.zip
+ rm -rf /opt/wavelog
+ mv wavelog-${RELEASE}/ /opt/wavelog
+ rm -rf /opt/wavelog/install
+ mv /opt/config.php /opt/wavelog/application/config/config.php
+ mv /opt/database.php /opt/wavelog/application/config/database.php
+ cp -r /opt/userdata/* /opt/wavelog/userdata
+ rm -rf /opt/userdata
+ if [[ -f /opt/custom.js ]]; then
+ mv /opt/custom.js /opt/wavelog/assets/js/sections/custom.js
+ fi
+ chown -R www-data:www-data /opt/wavelog/
+ find /opt/wavelog/ -type d -exec chmod 755 {} \;
+ find /opt/wavelog/ -type f -exec chmod 664 {} \;
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP}"
- msg_info "Cleaning Up"
- rm -rf ${RELEASE}.zip
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Starting Services"
+ systemctl start apache2
+ msg_ok "Started Services"
+
+ msg_info "Cleaning Up"
+ rm -rf ${RELEASE}.zip
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -107,5 +82,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}${CL} \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}"
\ No newline at end of file
diff --git a/ct/whisparr.sh b/ct/whisparr.sh
index 31c5813a558..d0f52996709 100644
--- a/ct/whisparr.sh
+++ b/ct/whisparr.sh
@@ -2,67 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/Whisparr/Whisparr
-function header_info {
-clear
-cat <<"EOF"
- _ ____ _
-| | / / /_ (_)________ ____ __________
-| | /| / / __ \/ / ___/ __ \/ __ `/ ___/ ___/
-| |/ |/ / / / / (__ ) /_/ / /_/ / / / /
-|__/|__/_/ /_/_/____/ .___/\__,_/_/ /_/
- /_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Whisparr"
-var_disk="4"
+TAGS="*arr"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /var/lib/whisparr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/whisparr ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -70,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:6969${CL} \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}:6969${CL}"
\ No newline at end of file
diff --git a/ct/whoogle.sh b/ct/whoogle.sh
index a4375050382..189d7f94acf 100644
--- a/ct/whoogle.sh
+++ b/ct/whoogle.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/benbusby/whoogle-search
-function header_info {
-clear
-cat <<"EOF"
- _ ____ ______ ____ ________ ______
-| | / / / / / __ \/ __ \/ ____/ / / ____/
-| | /| / / /_/ / / / / / / / / __/ / / __/
-| |/ |/ / __ / /_/ / /_/ / /_/ / /___/ /___
-|__/|__/_/ /_/\____/\____/\____/_____/_____/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Whoogle"
-var_disk="2"
+TAGS="network;seaching"
var_cpu="1"
var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /usr/local/bin/whoogle-search ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating ${APP} LXC"
-pip3 install whoogle-search --upgrade &>/dev/null
-systemctl restart whoogle.service
-msg_ok "Updated Successfully"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /usr/local/bin/whoogle-search ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
+ pip3 install whoogle-search --upgrade &>/dev/null
+ systemctl restart whoogle.service
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:5000${CL} \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}:5000${CL}"
\ No newline at end of file
diff --git a/ct/wikijs.sh b/ct/wikijs.sh
index bc9ddf90778..f3a86aceb78 100644
--- a/ct/wikijs.sh
+++ b/ct/wikijs.sh
@@ -2,89 +2,63 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://js.wiki/
-function header_info {
-clear
-cat <<"EOF"
- _ ___ __ _ _
-| | / (_) /__(_) (_)____
-| | /| / / / //_/ / / / ___/
-| |/ |/ / / ,< / / / (__ )
-|__/|__/_/_/|_/_(_)_/ /____/
- /___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Wikijs"
-var_disk="3"
+TAGS="wiki"
var_cpu="1"
var_ram="512"
+var_disk="3"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/wikijs ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP}"
-systemctl stop wikijs
-msg_ok "Stopped ${APP}"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/wikijs ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP}"
+ systemctl stop wikijs
+ msg_ok "Stopped ${APP}"
-msg_info "Backing up Data"
-mkdir -p ~/data-backup
-cp -R /opt/wikijs/{db.sqlite,config.yml,/data} ~/data-backup
-msg_ok "Backed up Data"
+ msg_info "Backing up Data"
+ mkdir -p ~/data-backup
+ cp -R /opt/wikijs/{db.sqlite,config.yml,/data} ~/data-backup
+ msg_ok "Backed up Data"
-msg_info "Updating ${APP}"
-rm -rf /opt/wikijs/*
-cd /opt/wikijs
-wget -q https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
-tar xzf wiki-js.tar.gz
-msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP}"
+ rm -rf /opt/wikijs/*
+ cd /opt/wikijs
+ wget -q https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz
+ tar xzf wiki-js.tar.gz
+ msg_ok "Updated ${APP}"
-msg_info "Restoring Data"
-cp -R ~/data-backup/* /opt/wikijs
-rm -rf ~/data-backup
-npm rebuild sqlite3 &>/dev/null
-msg_ok "Restored Data"
+ msg_info "Restoring Data"
+ cp -R ~/data-backup/* /opt/wikijs
+ rm -rf ~/data-backup
+ npm rebuild sqlite3 &>/dev/null
+ msg_ok "Restored Data"
-msg_info "Starting ${APP}"
-systemctl start wikijs
-msg_ok "Started ${APP}"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Starting ${APP}"
+ systemctl start wikijs
+ msg_ok "Started ${APP}"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -92,5 +66,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \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}"
\ No newline at end of file
diff --git a/ct/wireguard.sh b/ct/wireguard.sh
index d4388ad33ee..46ca605d553 100644
--- a/ct/wireguard.sh
+++ b/ct/wireguard.sh
@@ -2,67 +2,42 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.wireguard.com/
-function header_info {
-clear
-cat <<"EOF"
- _ ___ ______ __
-| | / (_)_______ / ____/_ ______ __________/ /
-| | /| / / / ___/ _ \/ / __/ / / / __ `/ ___/ __ /
-| |/ |/ / / / / __/ /_/ / /_/ / /_/ / / / /_/ /
-|__/|__/_/_/ \___/\____/\__,_/\__,_/_/ \__,_/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Wireguard"
-var_disk="4"
+TAGS="network;vpn"
var_cpu="1"
var_ram="512"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /etc/wireguard ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-apt-get update
-apt-get -y upgrade
-sleep 2
-cd /etc/wgdashboard/src
-./wgd.sh update
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /etc/wireguard ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ apt-get update
+ apt-get -y upgrade
+ sleep 2
+ cd /etc/wgdashboard/src
+ ./wgd.sh update
+ exit
}
start
@@ -70,5 +45,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "WGDashboard should be reachable by going to the following URL.
- ${BL}http://${IP}:10086${CL} \n"
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
+echo -e "${INFO}${YW} WGDashboard Access it using the following URL:${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}"
\ No newline at end of file
diff --git a/ct/yunohost.sh b/ct/yunohost.sh
index ce44c28eaba..84724f906dc 100644
--- a/ct/yunohost.sh
+++ b/ct/yunohost.sh
@@ -2,66 +2,41 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://yunohost.org/
-function header_info {
-clear
-cat <<"EOF"
-__ __ __ __ __
-\ \/ /_ ______ ____ / / / /___ _____/ /_
- \ / / / / __ \/ __ \/ /_/ / __ \/ ___/ __/
- / / /_/ / / / / /_/ / __ / /_/ (__ ) /_
-/_/\__,_/_/ /_/\____/_/ /_/\____/____/\__/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="YunoHost"
-var_disk="20"
+TAGS="os"
var_cpu="2"
var_ram="2048"
+var_disk="20"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/apt/trusted.gpg.d/php.gpg ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Updating $APP LXC"
-apt-get update &>/dev/null
-apt-get -y upgrade &>/dev/null
-msg_ok "Updated $APP LXC"
-exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/apt/trusted.gpg.d/php.gpg ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ exit
}
start
@@ -69,5 +44,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}/ ${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 "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
\ No newline at end of file
diff --git a/ct/zabbix.sh b/ct/zabbix.sh
index 9c238bcc191..8112640aff9 100644
--- a/ct/zabbix.sh
+++ b/ct/zabbix.sh
@@ -2,88 +2,63 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.zabbix.com/
-function header_info {
-clear
-cat <<"EOF"
- _____ __ __ _
-/__ / ____ _/ /_ / /_ (_) __
- / / / __ `/ __ \/ __ \/ / |/_/
- / /__/ /_/ / /_/ / /_/ / /> <
-/____/\__,_/_.___/_.___/_/_/|_|
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Zabbix"
-var_disk="6"
+TAGS="monitoring"
var_cpu="2"
var_ram="4096"
+var_disk="6"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-msg_info "Stopping ${APP} Services"
-systemctl stop zabbix-server zabbix-agent2
-msg_ok "Stopped ${APP} Services"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping ${APP} Services"
+ systemctl stop zabbix-server zabbix-agent2
+ msg_ok "Stopped ${APP} Services"
-msg_info "Updating $APP LXC"
-mkdir -p /opt/zabbix-backup/
-cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
-cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
-cp -R /usr/share/zabbix/ /opt/zabbix-backup/
-cp -R /usr/share/zabbix-* /opt/zabbix-backup/
-rm -Rf /etc/apt/sources.list.d/zabbix.list
-cd /tmp
-wget -q https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
-dpkg -i zabbix-release_latest+debian12_all.deb &>/dev/null
-apt-get update &>/dev/null
-apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* &>/dev/null
+ msg_info "Updating $APP LXC"
+ mkdir -p /opt/zabbix-backup/
+ cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
+ cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
+ cp -R /usr/share/zabbix/ /opt/zabbix-backup/
+ cp -R /usr/share/zabbix-* /opt/zabbix-backup/
+ rm -Rf /etc/apt/sources.list.d/zabbix.list
+ cd /tmp
+ wget -q https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
+ dpkg -i zabbix-release_latest+debian12_all.deb &>/dev/null
+ apt-get update &>/dev/null
+ apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* &>/dev/null
-msg_info "Starting ${APP} Services"
-systemctl start zabbix-server zabbix-agent2
-systemctl restart apache2
-msg_ok "Started ${APP} Services"
+ msg_info "Starting ${APP} Services"
+ systemctl start zabbix-server zabbix-agent2
+ systemctl restart apache2
+ msg_ok "Started ${APP} Services"
-msg_info "Cleaning Up"
-rm -rf /tmp/zabbix-release_latest+debian12_all.deb
-msg_ok "Cleaned"
-msg_ok "Updated Successfully"
-exit
+ msg_info "Cleaning Up"
+ rm -rf /tmp/zabbix-release_latest+debian12_all.deb
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ exit
}
start
@@ -91,5 +66,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}/zabbix${CL} \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}/zabbix${CL}"
\ No newline at end of file
diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh
index 70f1e758755..58d8dbe74e5 100644
--- a/ct/zigbee2mqtt.sh
+++ b/ct/zigbee2mqtt.sh
@@ -2,57 +2,28 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
-
-function header_info {
- clear
- cat <<"EOF"
- _____ _ __ ___ __ _______ ____________
-/__ / (_)___ _/ /_ ___ ___ |__ \ / |/ / __ \/_ __/_ __/
- / / / / __ / __ \/ _ \/ _ \__/ // /|_/ / / / / / / / /
- / /__/ / /_/ / /_/ / __/ __/ __// / / / /_/ / / / / /
-/____/_/\__, /_.___/\___/\___/____/_/ /_/\___\_\/_/ /_/
- /____/ 🐝
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.zigbee2mqtt.io/
+
+# App Default Values
APP="Zigbee2MQTT"
-var_disk="4"
+TAGS="smarthome;zigbee;mqtt"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
@@ -154,3 +125,6 @@ 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}:9442${CL}"
\ No newline at end of file
diff --git a/ct/zipline.sh b/ct/zipline.sh
index 8887bb998fe..c82c531277e 100644
--- a/ct/zipline.sh
+++ b/ct/zipline.sh
@@ -1,93 +1,67 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
-# Author: tteck
-# Co-Author: MickLesk (Canbiz)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Author: MickLesk (Canbiz)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://zipline.diced.sh/
-function header_info {
-clear
-cat <<"EOF"
- _____ _ ___
-/__ / (_)___ / (_)___ ___
- / / / / __ \/ / / __ \/ _ \
- / /__/ / /_/ / / / / / / __/
-/____/_/ .___/_/_/_/ /_/\___/
- /_/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Zipline"
-var_disk="5"
+TAGS="file;sharing"
var_cpu="2"
var_ram="2048"
+var_disk="5"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/zipline ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/diced/zipline/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
- msg_info "Stopping ${APP}"
- systemctl stop zipline
- msg_ok "${APP} Stopped"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/zipline ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/diced/zipline/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
+ msg_info "Stopping ${APP}"
+ systemctl stop zipline
+ msg_ok "${APP} Stopped"
- msg_info "Updating ${APP} to ${RELEASE}"
- cp /opt/zipline/.env /opt/
- rm -R /opt/zipline
- wget -q "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip"
- unzip -q v${RELEASE}.zip
- mv zipline-${RELEASE} /opt/zipline
- cd /opt/zipline
- mv /opt/.env /opt/zipline/.env
- yarn install &>/dev/null
- yarn build &>/dev/null
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ msg_info "Updating ${APP} to ${RELEASE}"
+ cp /opt/zipline/.env /opt/
+ rm -R /opt/zipline
+ wget -q "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q v${RELEASE}.zip
+ mv zipline-${RELEASE} /opt/zipline
+ cd /opt/zipline
+ mv /opt/.env /opt/zipline/.env
+ yarn install &>/dev/null
+ yarn build &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP}"
- msg_info "Starting ${APP}"
- systemctl start zipline
- msg_ok "Started ${APP}"
+ msg_info "Starting ${APP}"
+ systemctl start zipline
+ msg_ok "Started ${APP}"
- msg_info "Cleaning Up"
- rm -rf v${RELEASE}.zip
- msg_ok "Cleaned"
- msg_ok "Updated Successfully"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
-fi
-exit
+ msg_info "Cleaning Up"
+ rm -rf v${RELEASE}.zip
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -95,5 +69,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} Setup should be reachable by going to the following URL.
- ${BL}http://${IP}:3000${CL} \n"
\ No newline at end of file
+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}"
\ No newline at end of file
diff --git a/ct/zoraxy.sh b/ct/zoraxy.sh
index 5fadef42eb8..b9be8b7bfa4 100644
--- a/ct/zoraxy.sh
+++ b/ct/zoraxy.sh
@@ -2,76 +2,51 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://zoraxy.aroz.org/
-function header_info {
-clear
-cat <<"EOF"
- _____
-/__ / ____ _________ __ ____ __
- / / / __ \/ ___/ __ `/ |/_/ / / /
- / /__/ /_/ / / / /_/ /> /_/ /
-/____/\____/_/ \__,_/_/|_|\__, /
- /____/
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Zoraxy"
-var_disk="6"
+TAGS="network"
var_cpu="2"
var_ram="2048"
+var_disk="6"
var_os="debian"
var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="1"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
-header_info
-check_container_storage
-check_container_resources
-if [[ ! -d /opt/zoraxy/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-RELEASE=$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
-if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
- msg_info "Updating $APP to ${RELEASE}"
- systemctl stop zoraxy
- wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64"
- rm -rf /opt/zoraxy/zoraxy
- mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
- chmod +x /opt/zoraxy/zoraxy
- systemctl start zoraxy
- echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated $APP"
-else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
- fi
- exit
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/zoraxy/ ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Updating $APP to ${RELEASE}"
+ systemctl stop zoraxy
+ wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64"
+ rm -rf /opt/zoraxy/zoraxy
+ mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
+ chmod +x /opt/zoraxy/zoraxy
+ systemctl start zoraxy
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated $APP"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ fi
+ exit
}
start
@@ -79,5 +54,6 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8000${CL} \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}:8000${CL}"
\ No newline at end of file
diff --git a/ct/zwave-js-ui.sh b/ct/zwave-js-ui.sh
index 885fc6d5492..91c8b99a7e3 100644
--- a/ct/zwave-js-ui.sh
+++ b/ct/zwave-js-ui.sh
@@ -2,63 +2,35 @@
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
-# License: MIT
-# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://zwave-js.github.io/zwave-js-ui/#/
-function header_info {
- clear
- cat <<"EOF"
- _____ _______ __ ______
-/__ /_ ______ __ _____ / / ___/ / / / / _/
- / /| | /| / / __ `/ | / / _ \ __ / /\__ \ / / / // /
- / /_| |/ |/ / /_/ /| |/ / __/ / /_/ /___/ / / /_/ // /
-/____/__/|__/\__,_/ |___/\___/ \____//____/ \____/___/
-
-EOF
-}
-header_info
-echo -e "Loading..."
+# App Default Values
APP="Zwave-JS-UI"
-var_disk="4"
+TAGS="smarthome;zwave"
var_cpu="2"
var_ram="1024"
+var_disk="4"
var_os="debian"
var_version="12"
+var_unprivileged="0"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
variables
color
catch_errors
-function default_settings() {
- CT_TYPE="0"
- PW=""
- CT_ID=$NEXTID
- HN=$NSAPP
- DISK_SIZE="$var_disk"
- CORE_COUNT="$var_cpu"
- RAM_SIZE="$var_ram"
- BRG="vmbr0"
- NET="dhcp"
- GATE=""
- APT_CACHER=""
- APT_CACHER_IP=""
- DISABLEIP6="no"
- MTU=""
- SD=""
- NS=""
- MAC=""
- VLAN=""
- SSH="no"
- VERB="no"
- echo_default
-}
-
function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -d /opt/zwave-js-ui ]]; then
- msg_error "No ${APP} Installation Found!";
- exit;
+ if [[ ! -d /opt/zwave-js-ui ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
fi
RELEASE=$(curl -s https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
@@ -85,12 +57,14 @@ function update_script() {
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
-exit
+ exit
}
start
build_container
description
-echo -e "${APP} should be reachable by going to the following URL.
- ${BL}http://${IP}:8091${CL} \n"
+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}:8091${CL}"
\ No newline at end of file
From 71cc0a0fd406fcf1237a7092b8313cd0f0c736db Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 12:45:49 +0100
Subject: [PATCH 042/286] Update CHANGELOG.md (#839)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 096c6f41178..beafe97e765 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,15 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-16
+
+### Changed
+
+### 💥 Breaking Changes
+
+- Update ALL CT's to new default (Part 2) [@MickLesk](https://github.com/MickLesk) ([#710](https://github.com/community-scripts/ProxmoxVE/pull/710))
+- Massive Update: build.func | install.func | create_lxc.sh (Part 1) [@MickLesk](https://github.com/MickLesk) ([#643](https://github.com/community-scripts/ProxmoxVE/pull/643))
+
## 2024-12-13
### Changed
From afd57cafc64534b5c2326611feea12a2925016b8 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 16 Dec 2024 12:59:49 +0100
Subject: [PATCH 043/286] Fix ARR Tags
---
ct/autobrr.sh | 2 +-
ct/bazarr.sh | 2 +-
ct/homarr.sh | 2 +-
ct/lidarr.sh | 2 +-
ct/notifiarr.sh | 2 +-
ct/prowlarr.sh | 2 +-
ct/radarr.sh | 2 +-
ct/recyclarr.sh | 2 +-
ct/sonarr.sh | 2 +-
ct/tdarr.sh | 2 +-
ct/whisparr.sh | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/ct/autobrr.sh b/ct/autobrr.sh
index b3bef31b278..abc14f9e8ec 100644
--- a/ct/autobrr.sh
+++ b/ct/autobrr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Autobrr"
-TAGS="*arr;"
+TAGS="arr;"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/bazarr.sh b/ct/bazarr.sh
index bbbb4ed95ca..0d1dd6d8f68 100755
--- a/ct/bazarr.sh
+++ b/ct/bazarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Bazarr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/homarr.sh b/ct/homarr.sh
index 5423976f892..18d0a13256f 100644
--- a/ct/homarr.sh
+++ b/ct/homarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Homarr"
-TAGS="*arr;dashboard"
+TAGS="arr;dashboard"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/lidarr.sh b/ct/lidarr.sh
index a9f290b6552..4f2dbbf296c 100644
--- a/ct/lidarr.sh
+++ b/ct/lidarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Lidarr"
-TAGS="*arr;torrent;usenet"
+TAGS="arr;torrent;usenet"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/notifiarr.sh b/ct/notifiarr.sh
index 555ee1f481f..afe6be4fc05 100644
--- a/ct/notifiarr.sh
+++ b/ct/notifiarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Notifiarr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/prowlarr.sh b/ct/prowlarr.sh
index 1d0bb79e165..5e40ccbb7ae 100644
--- a/ct/prowlarr.sh
+++ b/ct/prowlarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Prowlarr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/radarr.sh b/ct/radarr.sh
index bfd706008e4..52e757d842c 100644
--- a/ct/radarr.sh
+++ b/ct/radarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Radarr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/recyclarr.sh b/ct/recyclarr.sh
index e03e76f4c5f..af41908be64 100644
--- a/ct/recyclarr.sh
+++ b/ct/recyclarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Recyclarr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/sonarr.sh b/ct/sonarr.sh
index 2a59d3719ac..e0a117c6e9f 100644
--- a/ct/sonarr.sh
+++ b/ct/sonarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Sonarr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/tdarr.sh b/ct/tdarr.sh
index 4fc476c26a7..7a5eeeb1a93 100644
--- a/ct/tdarr.sh
+++ b/ct/tdarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Tdarr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/whisparr.sh b/ct/whisparr.sh
index d0f52996709..ce446adbbcf 100644
--- a/ct/whisparr.sh
+++ b/ct/whisparr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Whisparr"
-TAGS="*arr"
+TAGS="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
From 353a5e7c996d8bcb0e272c7a46a4be9072bf08ff Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:31:48 +0100
Subject: [PATCH 044/286] Update ALL CT's to new default (Part 2) (#710)
---
ct/actualbudget.sh | 2 +-
ct/adguard.sh | 2 +-
ct/adventurelog.sh | 2 +-
ct/agentdvr.sh | 2 +-
ct/alpine-docker.sh | 2 +-
ct/alpine-grafana.sh | 2 +-
ct/alpine-nextcloud.sh | 2 +-
ct/alpine-vaultwarden.sh | 2 +-
ct/alpine-zigbee2mqtt.sh | 2 +-
ct/alpine.sh | 2 +-
ct/apache-cassandra.sh | 2 +-
ct/apache-couchdb.sh | 2 +-
ct/apt-cacher-ng.sh | 2 +-
ct/archivebox.sh | 2 +-
ct/aria2.sh | 2 +-
ct/audiobookshelf.sh | 2 +-
ct/autobrr.sh | 2 +-
ct/bazarr.sh | 2 +-
ct/blocky.sh | 2 +-
ct/bookstack.sh | 2 +-
ct/bunkerweb.sh | 2 +-
ct/caddy.sh | 2 +-
ct/calibre-web.sh | 2 +-
ct/casaos.sh | 2 +-
ct/changedetection.sh | 2 +-
ct/channels.sh | 2 +-
ct/cloudflared.sh | 2 +-
ct/cockpit.sh | 2 +-
ct/commafeed.sh | 2 +-
ct/cronicle.sh | 2 +-
ct/daemonsync.sh | 2 +-
ct/dashy.sh | 2 +-
ct/debian.sh | 2 +-
ct/deconz.sh | 2 +-
ct/deluge.sh | 2 +-
ct/docker.sh | 2 +-
ct/dockge.sh | 2 +-
ct/emby.sh | 2 +-
ct/emqx.sh | 2 +-
ct/ersatztv.sh | 2 +-
ct/esphome.sh | 2 +-
ct/evcc.sh | 2 +-
ct/fenrus.sh | 2 +-
ct/fhem.sh | 2 +-
ct/flaresolverr.sh | 2 +-
ct/flowiseai.sh | 2 +-
ct/forgejo.sh | 2 +-
ct/frigate.sh | 2 +-
ct/gitea.sh | 2 +-
ct/glance.sh | 2 +-
ct/go2rtc.sh | 2 +-
ct/gokapi.sh | 2 +-
ct/gotify.sh | 2 +-
ct/grafana.sh | 2 +-
ct/grocy.sh | 2 +-
ct/headscale.sh | 2 +-
ct/heimdall-dashboard.sh | 2 +-
ct/hivemq.sh | 2 +-
ct/hoarder.sh | 2 +-
ct/homarr.sh | 2 +-
ct/homeassistant-core.sh | 2 +-
ct/homeassistant.sh | 2 +-
ct/homebox.sh | 2 +-
ct/homebridge.sh | 2 +-
ct/homepage.sh | 2 +-
ct/homer.sh | 2 +-
ct/hyperhdr.sh | 2 +-
ct/hyperion.sh | 2 +-
ct/influxdb.sh | 2 +-
ct/inspircd.sh | 2 +-
ct/iobroker.sh | 2 +-
ct/iventoy.sh | 2 +-
ct/jackett.sh | 2 +-
ct/jellyfin.sh | 2 +-
ct/jellyseerr.sh | 2 +-
ct/kavita.sh | 2 +-
ct/keycloak.sh | 2 +-
ct/kimai.sh | 2 +-
ct/komga.sh | 2 +-
ct/kubo.sh | 2 +-
ct/lazylibrarian.sh | 2 +-
ct/lidarr.sh | 2 +-
ct/linkwarden.sh | 2 +-
ct/listmonk.sh | 2 +-
ct/lldap.sh | 2 +-
ct/lubelogger.sh | 2 +-
ct/mafl.sh | 2 +-
ct/magicmirror.sh | 2 +-
ct/mariadb.sh | 2 +-
ct/matterbridge.sh | 2 +-
ct/mediamtx.sh | 2 +-
ct/medusa.sh | 2 +-
ct/memos.sh | 2 +-
ct/meshcentral.sh | 2 +-
ct/metube.sh | 2 +-
ct/mongodb.sh | 2 +-
ct/motioneye.sh | 2 +-
ct/mqtt.sh | 2 +-
ct/mylar3.sh | 2 +-
ct/myspeed.sh | 2 +-
ct/mysql.sh | 2 +-
ct/n8n.sh | 2 +-
ct/navidrome.sh | 2 +-
ct/neo4j.sh | 2 +-
ct/netbox.sh | 2 +-
ct/nextcloudpi.sh | 2 +-
ct/nextpvr.sh | 2 +-
ct/nginxproxymanager.sh | 2 +-
ct/nocodb.sh | 2 +-
ct/node-red.sh | 2 +-
ct/notifiarr.sh | 2 +-
ct/ntfy.sh | 2 +-
ct/nzbget.sh | 2 +-
ct/octoprint.sh | 2 +-
ct/ollama.sh | 2 +-
ct/omada.sh | 2 +-
ct/ombi.sh | 2 +-
ct/omv.sh | 2 +-
ct/onedev.sh | 2 +-
ct/openhab.sh | 2 +-
ct/openobserve.sh | 2 +-
ct/openwebui.sh | 2 +-
ct/overseerr.sh | 2 +-
ct/owncast.sh | 2 +-
ct/pairdrop.sh | 2 +-
ct/paperless-ngx.sh | 2 +-
ct/pbs.sh | 2 +-
ct/peanut.sh | 2 +-
ct/petio.sh | 2 +-
ct/photoprism.sh | 2 +-
ct/pialert.sh | 2 +-
ct/pihole.sh | 2 +-
ct/pingvin.sh | 2 +-
ct/plex.sh | 2 +-
ct/pocketbase.sh | 2 +-
ct/podman-homeassistant.sh | 2 +-
ct/podman.sh | 2 +-
ct/postgresql.sh | 2 +-
ct/prometheus.sh | 2 +-
ct/prowlarr.sh | 2 +-
ct/qbittorrent.sh | 2 +-
ct/rabbitmq.sh | 2 +-
ct/radarr.sh | 2 +-
ct/rdtclient.sh | 2 +-
ct/readarr.sh | 2 +-
ct/readeck.sh | 2 +-
ct/recyclarr.sh | 2 +-
ct/redis.sh | 2 +-
ct/rtsptoweb.sh | 2 +-
ct/runtipi.sh | 2 +-
ct/sabnzbd.sh | 2 +-
ct/sftpgo.sh | 2 +-
ct/shinobi.sh | 2 +-
ct/smokeping.sh | 2 +-
ct/snipeit.sh | 2 +-
ct/sonarr.sh | 2 +-
ct/spoolman.sh | 2 +-
ct/stirling-pdf.sh | 2 +-
ct/syncthing.sh | 2 +-
ct/tandoor.sh | 2 +-
ct/tasmoadmin.sh | 2 +-
ct/tautulli.sh | 2 +-
ct/tdarr.sh | 2 +-
ct/technitiumdns.sh | 2 +-
ct/the-lounge.sh | 2 +-
ct/threadfin.sh | 2 +-
ct/tianji.sh | 2 +-
ct/traccar.sh | 2 +-
ct/traefik.sh | 2 +-
ct/transmission.sh | 2 +-
ct/trilium.sh | 2 +-
ct/ubuntu.sh | 2 +-
ct/umami.sh | 2 +-
ct/umbrel.sh | 2 +-
ct/unbound.sh | 2 +-
ct/unifi.sh | 2 +-
ct/unmanic.sh | 2 +-
ct/uptimekuma.sh | 2 +-
ct/vaultwarden.sh | 2 +-
ct/vikunja.sh | 2 +-
ct/wallos.sh | 2 +-
ct/wastebin.sh | 2 +-
ct/watchyourlan.sh | 2 +-
ct/wavelog.sh | 2 +-
ct/whisparr.sh | 2 +-
ct/whoogle.sh | 2 +-
ct/wikijs.sh | 2 +-
ct/wireguard.sh | 2 +-
ct/yunohost.sh | 2 +-
ct/zabbix.sh | 2 +-
ct/zigbee2mqtt.sh | 2 +-
ct/zipline.sh | 2 +-
ct/zoraxy.sh | 2 +-
ct/zwave-js-ui.sh | 2 +-
194 files changed, 194 insertions(+), 194 deletions(-)
diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh
index 1980fe1bed7..b5925f1d85d 100644
--- a/ct/actualbudget.sh
+++ b/ct/actualbudget.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Actual Budget"
-TAGS="finance"
+var_tags="finance"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/adguard.sh b/ct/adguard.sh
index 1679d1e64d6..f814a12de4d 100644
--- a/ct/adguard.sh
+++ b/ct/adguard.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Adguard"
-TAGS="adblock"
+var_tags="adblock"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/adventurelog.sh b/ct/adventurelog.sh
index fe7ccaad557..14478040ef4 100644
--- a/ct/adventurelog.sh
+++ b/ct/adventurelog.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="AdventureLog"
-TAGS="traveling"
+var_tags="traveling"
var_disk="7"
var_cpu="2"
var_ram="2048"
diff --git a/ct/agentdvr.sh b/ct/agentdvr.sh
index f28dbcba7d5..07810da88c3 100644
--- a/ct/agentdvr.sh
+++ b/ct/agentdvr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="AgentDVR"
-TAGS="dvr"
+var_tags="dvr"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/alpine-docker.sh b/ct/alpine-docker.sh
index a629f0d856d..b04cd64a82b 100644
--- a/ct/alpine-docker.sh
+++ b/ct/alpine-docker.sh
@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Alpine-Docker"
-TAGS="docker;alpine"
+var_tags="docker;alpine"
var_cpu="1"
var_ram="1024"
var_disk="2"
diff --git a/ct/alpine-grafana.sh b/ct/alpine-grafana.sh
index 2ba68ca7d01..c71d9a21da9 100644
--- a/ct/alpine-grafana.sh
+++ b/ct/alpine-grafana.sh
@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Alpine-Grafana"
-TAGS="alpine;monitoring"
+var_tags="alpine;monitoring"
var_cpu="1"
var_ram="256"
var_disk="1"
diff --git a/ct/alpine-nextcloud.sh b/ct/alpine-nextcloud.sh
index 20dfbe159e5..ec1a313ea32 100644
--- a/ct/alpine-nextcloud.sh
+++ b/ct/alpine-nextcloud.sh
@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Alpine-Nextcloud"
-TAGS="alpine;cloud"
+var_tags="alpine;cloud"
var_cpu="2"
var_ram="1024"
var_disk="2"
diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh
index f6b9cd4e9e8..9f18067b3d6 100644
--- a/ct/alpine-vaultwarden.sh
+++ b/ct/alpine-vaultwarden.sh
@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Alpine-Vaultwarden"
-TAGS="alpine;vault"
+var_tags="alpine;vault"
var_cpu="1"
var_ram="256"
var_disk="0.3"
diff --git a/ct/alpine-zigbee2mqtt.sh b/ct/alpine-zigbee2mqtt.sh
index d52b7c96a10..688d513d6cf 100644
--- a/ct/alpine-zigbee2mqtt.sh
+++ b/ct/alpine-zigbee2mqtt.sh
@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Alpine-Zigbee2MQTT"
-TAGS="alpine;zigbee;mqtt;smarthome"
+var_tags="alpine;zigbee;mqtt;smarthome"
var_disk="0.3"
var_cpu="1"
var_ram="256"
diff --git a/ct/alpine.sh b/ct/alpine.sh
index 5ce8f9999df..4b1a28bc54b 100644
--- a/ct/alpine.sh
+++ b/ct/alpine.sh
@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Alpine"
-TAGS="os;alpine"
+var_tags="os;alpine"
var_cpu="1"
var_ram="512"
var_disk="0.1"
diff --git a/ct/apache-cassandra.sh b/ct/apache-cassandra.sh
index dcb09a05415..0e0db07b2f4 100644
--- a/ct/apache-cassandra.sh
+++ b/ct/apache-cassandra.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Apache-Cassandra"
-TAGS="database;NoSQL"
+var_tags="database;NoSQL"
var_cpu="1"
var_ram="2048"
var_disk="4"
diff --git a/ct/apache-couchdb.sh b/ct/apache-couchdb.sh
index 4dcc38b10d0..9f1b415997a 100644
--- a/ct/apache-couchdb.sh
+++ b/ct/apache-couchdb.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Apache-CouchDB"
-TAGS="database"
+var_tags="database"
var_cpu="2"
var_ram="4096"
var_disk="10"
diff --git a/ct/apt-cacher-ng.sh b/ct/apt-cacher-ng.sh
index 18ee4f26dc4..52182d22a27 100644
--- a/ct/apt-cacher-ng.sh
+++ b/ct/apt-cacher-ng.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Apt-Cacher-NG"
-TAGS="caching"
+var_tags="caching"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/archivebox.sh b/ct/archivebox.sh
index 81063ba8991..53849d0014f 100644
--- a/ct/archivebox.sh
+++ b/ct/archivebox.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="ArchiveBox"
-TAGS="archive;bookmark"
+var_tags="archive;bookmark"
var_cpu="2"
var_ram="1024"
var_disk="8"
diff --git a/ct/aria2.sh b/ct/aria2.sh
index 1bb5b5d9281..af1bd81854b 100644
--- a/ct/aria2.sh
+++ b/ct/aria2.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Aria2"
-TAGS="download-utility"
+var_tags="download-utility"
var_cpu="2"
var_ram="1024"
var_disk="8"
diff --git a/ct/audiobookshelf.sh b/ct/audiobookshelf.sh
index 9c63c1f7c3b..8c8770f1151 100644
--- a/ct/audiobookshelf.sh
+++ b/ct/audiobookshelf.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="audiobookshelf"
-TAGS="podcast;audiobook"
+var_tags="podcast;audiobook"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/autobrr.sh b/ct/autobrr.sh
index abc14f9e8ec..5497fb2560b 100644
--- a/ct/autobrr.sh
+++ b/ct/autobrr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Autobrr"
-TAGS="arr;"
+var_tags="arr;"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/bazarr.sh b/ct/bazarr.sh
index 0d1dd6d8f68..fd646e614e6 100755
--- a/ct/bazarr.sh
+++ b/ct/bazarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Bazarr"
-TAGS="arr"
+var_tags="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/blocky.sh b/ct/blocky.sh
index 27548c893bd..494e51c0b40 100644
--- a/ct/blocky.sh
+++ b/ct/blocky.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Blocky"
-TAGS="adblock"
+var_tags="adblock"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/bookstack.sh b/ct/bookstack.sh
index bc76c6d4555..d7cf509317c 100644
--- a/ct/bookstack.sh
+++ b/ct/bookstack.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Bookstack"
-TAGS="organizer"
+var_tags="organizer"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/bunkerweb.sh b/ct/bunkerweb.sh
index 6ed24e22b8d..bd5a0b25204 100644
--- a/ct/bunkerweb.sh
+++ b/ct/bunkerweb.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="BunkerWeb"
-TAGS="webserver"
+var_tags="webserver"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/caddy.sh b/ct/caddy.sh
index 72869d45289..5afc686d063 100644
--- a/ct/caddy.sh
+++ b/ct/caddy.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Caddy"
-TAGS="webserver"
+var_tags="webserver"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh
index 2a033ff7e92..cd398c42cdd 100644
--- a/ct/calibre-web.sh
+++ b/ct/calibre-web.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Calibre-Web"
-TAGS="eBook"
+var_tags="eBook"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/casaos.sh b/ct/casaos.sh
index 118de1e56ed..050290a3b1d 100644
--- a/ct/casaos.sh
+++ b/ct/casaos.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="CasaOS"
-TAGS="cloud"
+var_tags="cloud"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/changedetection.sh b/ct/changedetection.sh
index 62c060f74f5..6046b399e3f 100644
--- a/ct/changedetection.sh
+++ b/ct/changedetection.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Change Detection"
-TAGS="monitoring;crawler"
+var_tags="monitoring;crawler"
var_cpu="2"
var_ram="1024"
var_disk="8"
diff --git a/ct/channels.sh b/ct/channels.sh
index 223a626f753..8d09ab4d64a 100644
--- a/ct/channels.sh
+++ b/ct/channels.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Channels"
-TAGS="dvr"
+var_tags="dvr"
var_cpu="2"
var_ram="1024"
var_disk="8"
diff --git a/ct/cloudflared.sh b/ct/cloudflared.sh
index e4b8a3a4b12..c3a43cb2e49 100644
--- a/ct/cloudflared.sh
+++ b/ct/cloudflared.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Cloudflared"
-TAGS="network;cloudflare"
+var_tags="network;cloudflare"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/cockpit.sh b/ct/cockpit.sh
index 4126c39c27b..265f3de2f43 100644
--- a/ct/cockpit.sh
+++ b/ct/cockpit.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Cockpit"
-TAGS="monitoring;network"
+var_tags="monitoring;network"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/commafeed.sh b/ct/commafeed.sh
index b3f72d87741..59d9f44c387 100644
--- a/ct/commafeed.sh
+++ b/ct/commafeed.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="CommaFeed"
-TAGS="rss-reader"
+var_tags="rss-reader"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/cronicle.sh b/ct/cronicle.sh
index 99abc78b035..fd2d563377e 100644
--- a/ct/cronicle.sh
+++ b/ct/cronicle.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Cronicle"
-TAGS="task-scheduler"
+var_tags="task-scheduler"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/daemonsync.sh b/ct/daemonsync.sh
index a58a187b7df..910324befe0 100644
--- a/ct/daemonsync.sh
+++ b/ct/daemonsync.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Daemon Sync"
-TAGS="sync"
+var_tags="sync"
var_cpu="1"
var_ram="512"
var_disk="8"
diff --git a/ct/dashy.sh b/ct/dashy.sh
index 18404b6990b..edce87ed0a4 100644
--- a/ct/dashy.sh
+++ b/ct/dashy.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Dashy"
-TAGS="dashboard"
+var_tags="dashboard"
var_cpu="2"
var_ram="2048"
var_disk="6"
diff --git a/ct/debian.sh b/ct/debian.sh
index a914f673011..be9e3aa9d88 100644
--- a/ct/debian.sh
+++ b/ct/debian.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Debian"
-TAGS="os"
+var_tags="os"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/deconz.sh b/ct/deconz.sh
index 27c6bccbb4c..49f06c81aae 100644
--- a/ct/deconz.sh
+++ b/ct/deconz.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="deCONZ"
-TAGS="zigbee"
+var_tags="zigbee"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/deluge.sh b/ct/deluge.sh
index e8971ed382f..be944b69492 100644
--- a/ct/deluge.sh
+++ b/ct/deluge.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Deluge"
-TAGS="torrent"
+var_tags="torrent"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/docker.sh b/ct/docker.sh
index 7b15a87bcff..fed85f34d54 100644
--- a/ct/docker.sh
+++ b/ct/docker.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Docker"
-TAGS="docker"
+var_tags="docker"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/dockge.sh b/ct/dockge.sh
index b1d6823cd7e..45e3d227898 100644
--- a/ct/dockge.sh
+++ b/ct/dockge.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Dockge"
-TAGS="docker"
+var_tags="docker"
var_cpu="2"
var_ram="2048"
var_disk="18"
diff --git a/ct/emby.sh b/ct/emby.sh
index ce938f9220c..a57d4786c2c 100644
--- a/ct/emby.sh
+++ b/ct/emby.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Emby"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/emqx.sh b/ct/emqx.sh
index fe1d274f9bc..300ac95b7b1 100644
--- a/ct/emqx.sh
+++ b/ct/emqx.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="EMQX"
-TAGS="mqtt"
+var_tags="mqtt"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/ersatztv.sh b/ct/ersatztv.sh
index a15129a5c10..3b9d9fe9b5a 100644
--- a/ct/ersatztv.sh
+++ b/ct/ersatztv.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="ErsatzTV"
-TAGS="iptv"
+var_tags="iptv"
var_cpu="1"
var_ram="1024"
var_disk="5"
diff --git a/ct/esphome.sh b/ct/esphome.sh
index d1a18faedb7..d28c43f276c 100644
--- a/ct/esphome.sh
+++ b/ct/esphome.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="ESPHome"
-TAGS="automation"
+var_tags="automation"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/evcc.sh b/ct/evcc.sh
index 7df1109afdb..a1fedac10e7 100644
--- a/ct/evcc.sh
+++ b/ct/evcc.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="evcc"
-TAGS="solar;ev;automation"
+var_tags="solar;ev;automation"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/fenrus.sh b/ct/fenrus.sh
index c5e5f03a032..45b91696b4f 100644
--- a/ct/fenrus.sh
+++ b/ct/fenrus.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Fenrus"
-TAGS="dashboard"
+var_tags="dashboard"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/fhem.sh b/ct/fhem.sh
index 520f4b925ed..976bef55195 100644
--- a/ct/fhem.sh
+++ b/ct/fhem.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="FHEM"
-TAGS="automation"
+var_tags="automation"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/flaresolverr.sh b/ct/flaresolverr.sh
index 43f48d044d2..4db31142e57 100644
--- a/ct/flaresolverr.sh
+++ b/ct/flaresolverr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="FlareSolverr"
-TAGS="proxy"
+var_tags="proxy"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/flowiseai.sh b/ct/flowiseai.sh
index 979f5e5077f..c83da821608 100644
--- a/ct/flowiseai.sh
+++ b/ct/flowiseai.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="FlowiseAI"
-TAGS="low-code"
+var_tags="low-code"
var_disk="10"
var_cpu="4"
var_ram="4096"
diff --git a/ct/forgejo.sh b/ct/forgejo.sh
index 0d43ff19747..1b5b43e1c09 100644
--- a/ct/forgejo.sh
+++ b/ct/forgejo.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Forgejo"
-TAGS="git"
+var_tags="git"
var_cpu="2"
var_ram="2048"
var_disk="10"
diff --git a/ct/frigate.sh b/ct/frigate.sh
index a68b4e9a07e..e40014701b7 100644
--- a/ct/frigate.sh
+++ b/ct/frigate.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Frigate"
-TAGS="nvr"
+var_tags="nvr"
var_cpu="4"
var_ram="4096"
var_disk="20"
diff --git a/ct/gitea.sh b/ct/gitea.sh
index 2afcf220e28..18561c61c76 100644
--- a/ct/gitea.sh
+++ b/ct/gitea.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Gitea"
-TAGS="git"
+var_tags="git"
var_cpu="1"
var_ram="1024"
var_disk="8"
diff --git a/ct/glance.sh b/ct/glance.sh
index 22e59ef1eca..7cf8dc36f02 100644
--- a/ct/glance.sh
+++ b/ct/glance.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Glance"
-TAGS="dashboard"
+var_tags="dashboard"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh
index a4508796167..b6278d9d741 100644
--- a/ct/go2rtc.sh
+++ b/ct/go2rtc.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="go2rtc"
-TAGS="recorder;video"
+var_tags="recorder;video"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/gokapi.sh b/ct/gokapi.sh
index f0df0568d6b..7f81581bdf0 100644
--- a/ct/gokapi.sh
+++ b/ct/gokapi.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Gokapi"
-TAGS="file;sharing"
+var_tags="file;sharing"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/gotify.sh b/ct/gotify.sh
index 059f89494c1..bf1875f6e91 100644
--- a/ct/gotify.sh
+++ b/ct/gotify.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Gotify"
-TAGS="notification"
+var_tags="notification"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/grafana.sh b/ct/grafana.sh
index 1f052654336..b8edc77415e 100644
--- a/ct/grafana.sh
+++ b/ct/grafana.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Grafana"
-TAGS="monitoring;visualization"
+var_tags="monitoring;visualization"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/grocy.sh b/ct/grocy.sh
index 257b0e76bc2..b9538672665 100644
--- a/ct/grocy.sh
+++ b/ct/grocy.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="grocy"
-TAGS="grocery;household"
+var_tags="grocery;household"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/headscale.sh b/ct/headscale.sh
index 53e37c38c7e..cfa1ec13db2 100644
--- a/ct/headscale.sh
+++ b/ct/headscale.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Headscale"
-TAGS="tailscale"
+var_tags="tailscale"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/heimdall-dashboard.sh b/ct/heimdall-dashboard.sh
index 6bf533417cd..8e5f6fdc378 100644
--- a/ct/heimdall-dashboard.sh
+++ b/ct/heimdall-dashboard.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Heimdall-Dashboard"
-TAGS="dashboard"
+var_tags="dashboard"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/hivemq.sh b/ct/hivemq.sh
index d423db62dbd..6f055f1dcef 100644
--- a/ct/hivemq.sh
+++ b/ct/hivemq.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="HiveMQ"
-TAGS="mqtt"
+var_tags="mqtt"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/hoarder.sh b/ct/hoarder.sh
index 22238e0efe2..6c66c24c52a 100644
--- a/ct/hoarder.sh
+++ b/ct/hoarder.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Hoarder"
-TAGS="bookmark"
+var_tags="bookmark"
var_cpu="2"
var_ram="4096"
var_disk="8"
diff --git a/ct/homarr.sh b/ct/homarr.sh
index 18d0a13256f..a3c24270e92 100644
--- a/ct/homarr.sh
+++ b/ct/homarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Homarr"
-TAGS="arr;dashboard"
+var_tags="arr;dashboard"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/homeassistant-core.sh b/ct/homeassistant-core.sh
index 5b905badd1d..f5d5d0453a7 100644
--- a/ct/homeassistant-core.sh
+++ b/ct/homeassistant-core.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Home Assistant-Core"
-TAGS="automation;smarthome"
+var_tags="automation;smarthome"
var_cpu="2"
var_ram="1024"
var_disk="8"
diff --git a/ct/homeassistant.sh b/ct/homeassistant.sh
index 2ac678b8f7d..9df12ee6340 100644
--- a/ct/homeassistant.sh
+++ b/ct/homeassistant.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Home Assistant"
-TAGS="automation;smarthome"
+var_tags="automation;smarthome"
var_cpu="2"
var_ram="2048"
var_disk="16"
diff --git a/ct/homebox.sh b/ct/homebox.sh
index 121952f485c..a697366d672 100644
--- a/ct/homebox.sh
+++ b/ct/homebox.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="HomeBox"
-TAGS="inventory;household"
+var_tags="inventory;household"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/homebridge.sh b/ct/homebridge.sh
index a17c9f3cbd5..007bfc411fb 100644
--- a/ct/homebridge.sh
+++ b/ct/homebridge.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Homebridge"
-TAGS="smarthome;homekit"
+var_tags="smarthome;homekit"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/homepage.sh b/ct/homepage.sh
index ce4106614ce..a4c62f8b60b 100644
--- a/ct/homepage.sh
+++ b/ct/homepage.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Homepage"
-TAGS="dashboard"
+var_tags="dashboard"
var_cpu="2"
var_ram="1024"
var_disk="3"
diff --git a/ct/homer.sh b/ct/homer.sh
index 1d222e180dc..7b410241f22 100644
--- a/ct/homer.sh
+++ b/ct/homer.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Homer"
-TAGS="dashboard"
+var_tags="dashboard"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/hyperhdr.sh b/ct/hyperhdr.sh
index bdb79134bde..64a4ca8665c 100644
--- a/ct/hyperhdr.sh
+++ b/ct/hyperhdr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="HyperHDR"
-TAGS="ambient lightning"
+var_tags="ambient lightning"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/hyperion.sh b/ct/hyperion.sh
index 8034cf1e1db..552ee49836d 100644
--- a/ct/hyperion.sh
+++ b/ct/hyperion.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Hyperion"
-TAGS="ambient lightning"
+var_tags="ambient lightning"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/influxdb.sh b/ct/influxdb.sh
index 11f5002fada..8d0e3cfd573 100644
--- a/ct/influxdb.sh
+++ b/ct/influxdb.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="InfluxDB"
-TAGS="database"
+var_tags="database"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/inspircd.sh b/ct/inspircd.sh
index 4f9c3d310cb..15bd26cdb97 100644
--- a/ct/inspircd.sh
+++ b/ct/inspircd.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="InspIRCd"
-TAGS="IRC"
+var_tags="IRC"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/iobroker.sh b/ct/iobroker.sh
index 9b602e9d25d..5e9f47b395e 100644
--- a/ct/iobroker.sh
+++ b/ct/iobroker.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="ioBroker"
-TAGS="automtation"
+var_tags="automtation"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/iventoy.sh b/ct/iventoy.sh
index 69ce6797ce1..88da21121bf 100644
--- a/ct/iventoy.sh
+++ b/ct/iventoy.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="iVentoy"
-TAGS="pxe-tool"
+var_tags="pxe-tool"
var_disk="2"
var_cpu="1"
var_ram="512"
diff --git a/ct/jackett.sh b/ct/jackett.sh
index d35a7042225..d55e53619b9 100644
--- a/ct/jackett.sh
+++ b/ct/jackett.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Jackett"
-TAGS="torrent"
+var_tags="torrent"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/jellyfin.sh b/ct/jellyfin.sh
index e39fe8f05cf..84d8e205396 100644
--- a/ct/jellyfin.sh
+++ b/ct/jellyfin.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Jellyfin"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/jellyseerr.sh b/ct/jellyseerr.sh
index 94d2fddefbb..018384f851e 100644
--- a/ct/jellyseerr.sh
+++ b/ct/jellyseerr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Jellyseerr"
-TAGS="media"
+var_tags="media"
var_cpu="4"
var_ram="4096"
var_disk="8"
diff --git a/ct/kavita.sh b/ct/kavita.sh
index 33c65071676..cb44ee2218e 100644
--- a/ct/kavita.sh
+++ b/ct/kavita.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Kavita"
-TAGS="reader"
+var_tags="reader"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/keycloak.sh b/ct/keycloak.sh
index 9d4b742b799..5bc16dcb9e5 100644
--- a/ct/keycloak.sh
+++ b/ct/keycloak.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Keycloak"
-TAGS="access management"
+var_tags="access management"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/kimai.sh b/ct/kimai.sh
index 517be7520dc..c5a974807f6 100644
--- a/ct/kimai.sh
+++ b/ct/kimai.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Kimai"
-TAGS="time tracking"
+var_tags="time tracking"
var_cpu="2"
var_ram="2048"
var_disk="7"
diff --git a/ct/komga.sh b/ct/komga.sh
index 2f2691c1997..05ece8a67c3 100644
--- a/ct/komga.sh
+++ b/ct/komga.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Komga"
-TAGS="media;eBook;comic"
+var_tags="media;eBook;comic"
var_cpu="1"
var_ram="2048"
var_disk="4"
diff --git a/ct/kubo.sh b/ct/kubo.sh
index a02dd98193d..414a6e929b3 100644
--- a/ct/kubo.sh
+++ b/ct/kubo.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Kubo"
-TAGS="sharing"
+var_tags="sharing"
var_cpu="2"
var_ram="4096"
var_disk="4"
diff --git a/ct/lazylibrarian.sh b/ct/lazylibrarian.sh
index 21c4a88b02b..954bbb5992d 100644
--- a/ct/lazylibrarian.sh
+++ b/ct/lazylibrarian.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="LazyLibrarian"
-TAGS="eBook"
+var_tags="eBook"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/lidarr.sh b/ct/lidarr.sh
index 4f2dbbf296c..4ce867560e1 100644
--- a/ct/lidarr.sh
+++ b/ct/lidarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Lidarr"
-TAGS="arr;torrent;usenet"
+var_tags="arr;torrent;usenet"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh
index 169e157c2d2..196bc52d3c9 100644
--- a/ct/linkwarden.sh
+++ b/ct/linkwarden.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Linkwarden"
-TAGS="bookmark"
+var_tags="bookmark"
var_cpu="2"
var_ram="2048"
var_disk="12"
diff --git a/ct/listmonk.sh b/ct/listmonk.sh
index 0ccc39803ca..a2ed4716a5b 100644
--- a/ct/listmonk.sh
+++ b/ct/listmonk.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="listmonk"
-TAGS="newsletter"
+var_tags="newsletter"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/lldap.sh b/ct/lldap.sh
index bf7de386434..83fef11663f 100644
--- a/ct/lldap.sh
+++ b/ct/lldap.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="lldap"
-TAGS="ldap"
+var_tags="ldap"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh
index 33a22913b2e..9bdfbe70c67 100644
--- a/ct/lubelogger.sh
+++ b/ct/lubelogger.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="LubeLogger"
-TAGS="verhicle;car"
+var_tags="verhicle;car"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/mafl.sh b/ct/mafl.sh
index bfe79d3b620..5f0bb003064 100644
--- a/ct/mafl.sh
+++ b/ct/mafl.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Mafl"
-TAGS="dashboard"
+var_tags="dashboard"
var_cpu="2"
var_ram="2048"
var_disk="6"
diff --git a/ct/magicmirror.sh b/ct/magicmirror.sh
index a31dd39a61c..dd068fea3ec 100644
--- a/ct/magicmirror.sh
+++ b/ct/magicmirror.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MagicMirror"
-TAGS="smarthome"
+var_tags="smarthome"
var_cpu="1"
var_ram="512"
var_disk="3"
diff --git a/ct/mariadb.sh b/ct/mariadb.sh
index 956e105bc55..52171c01004 100644
--- a/ct/mariadb.sh
+++ b/ct/mariadb.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MariaDB"
-TAGS="database"
+var_tags="database"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/matterbridge.sh b/ct/matterbridge.sh
index 3b68c7e19b5..103898a9185 100644
--- a/ct/matterbridge.sh
+++ b/ct/matterbridge.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Matterbridge"
-TAGS="matter;smarthome"
+var_tags="matter;smarthome"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/mediamtx.sh b/ct/mediamtx.sh
index b062ef4dd36..a823ef2a87a 100644
--- a/ct/mediamtx.sh
+++ b/ct/mediamtx.sh
@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MediaMTX"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/medusa.sh b/ct/medusa.sh
index a77958a2633..3978812285a 100644
--- a/ct/medusa.sh
+++ b/ct/medusa.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Medusa"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="1024"
var_disk="6"
diff --git a/ct/memos.sh b/ct/memos.sh
index 2df208be0cf..50dba058003 100644
--- a/ct/memos.sh
+++ b/ct/memos.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Memos"
-TAGS="notes"
+var_tags="notes"
var_cpu="2"
var_ram="2048"
var_disk="7"
diff --git a/ct/meshcentral.sh b/ct/meshcentral.sh
index 07a3953a52b..fb1a9717b7b 100644
--- a/ct/meshcentral.sh
+++ b/ct/meshcentral.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MeshCentral"
-TAGS="remote management"
+var_tags="remote management"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/metube.sh b/ct/metube.sh
index 9a2ea57755b..61642a8d96b 100644
--- a/ct/metube.sh
+++ b/ct/metube.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MeTube"
-TAGS="media;youtube"
+var_tags="media;youtube"
var_cpu="1"
var_ram="1024"
var_disk="10"
diff --git a/ct/mongodb.sh b/ct/mongodb.sh
index b2f4b12ceb0..bd86a235e85 100644
--- a/ct/mongodb.sh
+++ b/ct/mongodb.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MongoDB"
-TAGS="database"
+var_tags="database"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/motioneye.sh b/ct/motioneye.sh
index 3105a4d7567..5eab31d385a 100644
--- a/ct/motioneye.sh
+++ b/ct/motioneye.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Motioneye"
-TAGS="nvr"
+var_tags="nvr"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/mqtt.sh b/ct/mqtt.sh
index dcec33f5ec1..335d2574278 100644
--- a/ct/mqtt.sh
+++ b/ct/mqtt.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MQTT"
-TAGS="mqtt"
+var_tags="mqtt"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/mylar3.sh b/ct/mylar3.sh
index 44556f41421..88816bf4c22 100644
--- a/ct/mylar3.sh
+++ b/ct/mylar3.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Mylar3"
-TAGS="torrent;downloader;comic"
+var_tags="torrent;downloader;comic"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/myspeed.sh b/ct/myspeed.sh
index 567f8388292..69de5d148f8 100644
--- a/ct/myspeed.sh
+++ b/ct/myspeed.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MySpeed"
-TAGS="tracking"
+var_tags="tracking"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/mysql.sh b/ct/mysql.sh
index 9218a60d8f6..e61b0a0bdb3 100644
--- a/ct/mysql.sh
+++ b/ct/mysql.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MySQL"
-TAGS="database"
+var_tags="database"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/n8n.sh b/ct/n8n.sh
index aaff50f8f7b..e12caecd79d 100644
--- a/ct/n8n.sh
+++ b/ct/n8n.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="n8n"
-TAGS="automation"
+var_tags="automation"
var_cpu="2"
var_ram="2048"
var_disk="6"
diff --git a/ct/navidrome.sh b/ct/navidrome.sh
index 1d3e40f6df8..e3c7d4656f1 100644
--- a/ct/navidrome.sh
+++ b/ct/navidrome.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Navidrome"
-TAGS="music"
+var_tags="music"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/neo4j.sh b/ct/neo4j.sh
index 5e5894f1513..aa37e39acfc 100644
--- a/ct/neo4j.sh
+++ b/ct/neo4j.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Neo4j"
-TAGS="database"
+var_tags="database"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/netbox.sh b/ct/netbox.sh
index fa80d901af9..bfa96d3f722 100644
--- a/ct/netbox.sh
+++ b/ct/netbox.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="NetBox"
-TAGS="network"
+var_tags="network"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/nextcloudpi.sh b/ct/nextcloudpi.sh
index dfef9addd6a..6aa98306db1 100644
--- a/ct/nextcloudpi.sh
+++ b/ct/nextcloudpi.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="NextCloudPi"
-TAGS="cloud"
+var_tags="cloud"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/nextpvr.sh b/ct/nextpvr.sh
index 4633d2ef58c..52ef0d31ab6 100644
--- a/ct/nextpvr.sh
+++ b/ct/nextpvr.sh
@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="NextPVR"
-TAGS="pvr"
+var_tags="pvr"
var_cpu="1"
var_ram="1024"
var_disk="5"
diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh
index 5ab75058db8..179da17407f 100644
--- a/ct/nginxproxymanager.sh
+++ b/ct/nginxproxymanager.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Nginx Proxy Manager"
-TAGS="proxy"
+var_tags="proxy"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/nocodb.sh b/ct/nocodb.sh
index 7804ee3280f..f5a5a616a61 100644
--- a/ct/nocodb.sh
+++ b/ct/nocodb.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="NocoDB"
-TAGS="noCode"
+var_tags="noCode"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/node-red.sh b/ct/node-red.sh
index 75607cecbf9..a9a615a95a2 100644
--- a/ct/node-red.sh
+++ b/ct/node-red.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Node-Red"
-TAGS="automation"
+var_tags="automation"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/notifiarr.sh b/ct/notifiarr.sh
index afe6be4fc05..26a94e61e70 100644
--- a/ct/notifiarr.sh
+++ b/ct/notifiarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Notifiarr"
-TAGS="arr"
+var_tags="arr"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/ntfy.sh b/ct/ntfy.sh
index 71375d23d4c..8be75ec3ecb 100644
--- a/ct/ntfy.sh
+++ b/ct/ntfy.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="ntfy"
-TAGS="notification"
+var_tags="notification"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/nzbget.sh b/ct/nzbget.sh
index 7d313785d8e..352799aa747 100644
--- a/ct/nzbget.sh
+++ b/ct/nzbget.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="NZBGet"
-TAGS="usenet;downloader"
+var_tags="usenet;downloader"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/octoprint.sh b/ct/octoprint.sh
index 9a1c74b91b7..689cbe9d912 100644
--- a/ct/octoprint.sh
+++ b/ct/octoprint.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="OctoPrint"
-TAGS="3d-printing"
+var_tags="3d-printing"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/ollama.sh b/ct/ollama.sh
index 1082e046cbc..604552b780b 100644
--- a/ct/ollama.sh
+++ b/ct/ollama.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Ollama"
-TAGS="ai"
+var_tags="ai"
var_cpu="4"
var_ram="4096"
var_disk="24"
diff --git a/ct/omada.sh b/ct/omada.sh
index bf73d01e691..26a26df4ad1 100644
--- a/ct/omada.sh
+++ b/ct/omada.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Omada"
-TAGS="tp-link;controller"
+var_tags="tp-link;controller"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/ombi.sh b/ct/ombi.sh
index 59d2c5b2969..a74a9707f40 100644
--- a/ct/ombi.sh
+++ b/ct/ombi.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Ombi"
-TAGS="media"
+var_tags="media"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/omv.sh b/ct/omv.sh
index 67ed7d2f96a..ac1a70f8588 100644
--- a/ct/omv.sh
+++ b/ct/omv.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="OMV"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/onedev.sh b/ct/onedev.sh
index 36e064bfb67..568251b8114 100644
--- a/ct/onedev.sh
+++ b/ct/onedev.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="OneDev"
-TAGS="git"
+var_tags="git"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/openhab.sh b/ct/openhab.sh
index aecc3717d52..9800efedf60 100644
--- a/ct/openhab.sh
+++ b/ct/openhab.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="openHAB"
-TAGS="automation"
+var_tags="automation"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/openobserve.sh b/ct/openobserve.sh
index b87fd8a87c3..ae73a4ed1be 100644
--- a/ct/openobserve.sh
+++ b/ct/openobserve.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="OpenObserve"
-TAGS="monitoring"
+var_tags="monitoring"
var_cpu="1"
var_ram="512"
var_disk="3"
diff --git a/ct/openwebui.sh b/ct/openwebui.sh
index e78ebd7de1c..7bac3e88aa6 100644
--- a/ct/openwebui.sh
+++ b/ct/openwebui.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Open WebUI"
-TAGS="ai;interface"
+var_tags="ai;interface"
var_cpu="4"
var_ram="4096"
var_disk="16"
diff --git a/ct/overseerr.sh b/ct/overseerr.sh
index 64a133cca26..a7245a9dbd3 100644
--- a/ct/overseerr.sh
+++ b/ct/overseerr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Overseerr"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/owncast.sh b/ct/owncast.sh
index ed4c427e07f..3b84d64f5dc 100644
--- a/ct/owncast.sh
+++ b/ct/owncast.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Owncast"
-TAGS="broadcasting"
+var_tags="broadcasting"
var_cpu="2"
var_ram="2048"
var_disk="2"
diff --git a/ct/pairdrop.sh b/ct/pairdrop.sh
index 61a5f512824..b3f6f57a0ac 100644
--- a/ct/pairdrop.sh
+++ b/ct/pairdrop.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="PairDrop"
-TAGS="sharing"
+var_tags="sharing"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh
index efeed56d544..3a641f3eff8 100644
--- a/ct/paperless-ngx.sh
+++ b/ct/paperless-ngx.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Paperless-ngx"
-TAGS="document;management"
+var_tags="document;management"
var_cpu="2"
var_ram="2048"
var_disk="10"
diff --git a/ct/pbs.sh b/ct/pbs.sh
index d71558653b4..d392e1635fd 100644
--- a/ct/pbs.sh
+++ b/ct/pbs.sh
@@ -17,7 +17,7 @@ EOF
}
header_info
APP="PBS"
-TAGS="backup"
+var_tags="backup"
var_cpu="2"
var_ram="2048"
var_disk="10"
diff --git a/ct/peanut.sh b/ct/peanut.sh
index 30951588135..7dedccd785a 100644
--- a/ct/peanut.sh
+++ b/ct/peanut.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="PeaNUT"
-TAGS="network;ups;"
+var_tags="network;ups;"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/petio.sh b/ct/petio.sh
index fbd22f93945..13a72946437 100644
--- a/ct/petio.sh
+++ b/ct/petio.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Petio"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/photoprism.sh b/ct/photoprism.sh
index f23aa0eec10..4762fd83f45 100644
--- a/ct/photoprism.sh
+++ b/ct/photoprism.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="PhotoPrism"
-TAGS="media;photo"
+var_tags="media;photo"
var_cpu="2"
var_ram="3072"
var_disk="8"
diff --git a/ct/pialert.sh b/ct/pialert.sh
index ac9feeab235..ef6ebdd0b3a 100644
--- a/ct/pialert.sh
+++ b/ct/pialert.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="PiAlert"
-TAGS="network"
+var_tags="network"
var_cpu="1"
var_ram="512"
var_disk="3"
diff --git a/ct/pihole.sh b/ct/pihole.sh
index 66489f23523..9947f8d8737 100644
--- a/ct/pihole.sh
+++ b/ct/pihole.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Pihole"
-TAGS="adblock"
+var_tags="adblock"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/pingvin.sh b/ct/pingvin.sh
index 7e21fbfd7d7..53bd0aa2210 100644
--- a/ct/pingvin.sh
+++ b/ct/pingvin.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Pingvin"
-TAGS="sharing"
+var_tags="sharing"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/plex.sh b/ct/plex.sh
index 8d228e2d97a..413a7e65f21 100644
--- a/ct/plex.sh
+++ b/ct/plex.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Plex"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/pocketbase.sh b/ct/pocketbase.sh
index 24f2e20d807..986e20f692d 100644
--- a/ct/pocketbase.sh
+++ b/ct/pocketbase.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Pocketbase"
-TAGS="database"
+var_tags="database"
var_cpu="1"
var_ram="512"
var_disk="8"
diff --git a/ct/podman-homeassistant.sh b/ct/podman-homeassistant.sh
index fee6ae44961..05925edd615 100644
--- a/ct/podman-homeassistant.sh
+++ b/ct/podman-homeassistant.sh
@@ -6,7 +6,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Podman-Home Assistant"
-TAGS="podman;smarthome"
+var_tags="podman;smarthome"
var_cpu="2"
var_ram="2048"
var_disk="16"
diff --git a/ct/podman.sh b/ct/podman.sh
index 0fa863b8462..cdc63cd65d0 100644
--- a/ct/podman.sh
+++ b/ct/podman.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Podman"
-TAGS="container;kubernetes"
+var_tags="container;kubernetes"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/postgresql.sh b/ct/postgresql.sh
index c698ec8d60c..72f567a14e9 100644
--- a/ct/postgresql.sh
+++ b/ct/postgresql.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="PostgreSQL"
-TAGS="database"
+var_tags="database"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/prometheus.sh b/ct/prometheus.sh
index 24cb6c30f62..62c7cd3e0f5 100644
--- a/ct/prometheus.sh
+++ b/ct/prometheus.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Prometheus"
-TAGS="monitoring"
+var_tags="monitoring"
var_cpu="1"
var_ram="2048"
var_disk="4"
diff --git a/ct/prowlarr.sh b/ct/prowlarr.sh
index 5e40ccbb7ae..a8b32963e5a 100644
--- a/ct/prowlarr.sh
+++ b/ct/prowlarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Prowlarr"
-TAGS="arr"
+var_tags="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/qbittorrent.sh b/ct/qbittorrent.sh
index be4ad394420..7b6d95d90e4 100644
--- a/ct/qbittorrent.sh
+++ b/ct/qbittorrent.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="qBittorrent"
-TAGS="torrent"
+var_tags="torrent"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/rabbitmq.sh b/ct/rabbitmq.sh
index 9dea1377981..70ab8742307 100644
--- a/ct/rabbitmq.sh
+++ b/ct/rabbitmq.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="RabbitMQ"
-TAGS="mqtt"
+var_tags="mqtt"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/radarr.sh b/ct/radarr.sh
index 52e757d842c..f4aa3b4c2b3 100644
--- a/ct/radarr.sh
+++ b/ct/radarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Radarr"
-TAGS="arr"
+var_tags="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/rdtclient.sh b/ct/rdtclient.sh
index bec68f47d4a..fa5be48562f 100755
--- a/ct/rdtclient.sh
+++ b/ct/rdtclient.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="RDTClient"
-TAGS="torrent"
+var_tags="torrent"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/readarr.sh b/ct/readarr.sh
index f7f88fc81ba..96d625dcff8 100644
--- a/ct/readarr.sh
+++ b/ct/readarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Readarr"
-TAGS="media;comic;eBook"
+var_tags="media;comic;eBook"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/readeck.sh b/ct/readeck.sh
index 1148cbe4a59..69f29ba370c 100644
--- a/ct/readeck.sh
+++ b/ct/readeck.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Readeck"
-TAGS="bookmark"
+var_tags="bookmark"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/recyclarr.sh b/ct/recyclarr.sh
index af41908be64..5063ec2fe0e 100644
--- a/ct/recyclarr.sh
+++ b/ct/recyclarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Recyclarr"
-TAGS="arr"
+var_tags="arr"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/redis.sh b/ct/redis.sh
index 3a089ff1c4d..6b64f9b7c62 100644
--- a/ct/redis.sh
+++ b/ct/redis.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Redis"
-TAGS="database"
+var_tags="database"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/rtsptoweb.sh b/ct/rtsptoweb.sh
index ccb954f563d..9b85efc416b 100644
--- a/ct/rtsptoweb.sh
+++ b/ct/rtsptoweb.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="RTSPtoWeb"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/runtipi.sh b/ct/runtipi.sh
index 0942e69b00c..641c0236214 100644
--- a/ct/runtipi.sh
+++ b/ct/runtipi.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Runtipi"
-TAGS="os"
+var_tags="os"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/sabnzbd.sh b/ct/sabnzbd.sh
index 0ffaabd7e45..1ef4edada57 100644
--- a/ct/sabnzbd.sh
+++ b/ct/sabnzbd.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="SABnzbd"
-TAGS="downloader"
+var_tags="downloader"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/sftpgo.sh b/ct/sftpgo.sh
index 136349012ed..3e9f7b14d9a 100644
--- a/ct/sftpgo.sh
+++ b/ct/sftpgo.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="SFTPGo"
-TAGS="ftp;sftp"
+var_tags="ftp;sftp"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/shinobi.sh b/ct/shinobi.sh
index 58bf134c98c..de34210a38b 100644
--- a/ct/shinobi.sh
+++ b/ct/shinobi.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Shinobi"
-TAGS="nvr"
+var_tags="nvr"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/smokeping.sh b/ct/smokeping.sh
index 44544ea8d73..4e7473abb28 100644
--- a/ct/smokeping.sh
+++ b/ct/smokeping.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="SmokePing"
-TAGS="network"
+var_tags="network"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/snipeit.sh b/ct/snipeit.sh
index 6591f98dbbe..506e14cb12f 100644
--- a/ct/snipeit.sh
+++ b/ct/snipeit.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="SnipeIT"
-TAGS="assat-management;foss"
+var_tags="assat-management;foss"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/sonarr.sh b/ct/sonarr.sh
index e0a117c6e9f..80e3714bc2a 100644
--- a/ct/sonarr.sh
+++ b/ct/sonarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Sonarr"
-TAGS="arr"
+var_tags="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/spoolman.sh b/ct/spoolman.sh
index 35c371f5dc5..4ddf5a7325c 100644
--- a/ct/spoolman.sh
+++ b/ct/spoolman.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Spoolman"
-TAGS="3d-printing"
+var_tags="3d-printing"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/stirling-pdf.sh b/ct/stirling-pdf.sh
index c728c12f124..67acd496c5e 100644
--- a/ct/stirling-pdf.sh
+++ b/ct/stirling-pdf.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Stirling-PDF"
-TAGS="pdf-editor"
+var_tags="pdf-editor"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/syncthing.sh b/ct/syncthing.sh
index 224b1cde78f..8a685620175 100644
--- a/ct/syncthing.sh
+++ b/ct/syncthing.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Syncthing"
-TAGS="sync"
+var_tags="sync"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/tandoor.sh b/ct/tandoor.sh
index 41f97742c85..0a449c22d5c 100644
--- a/ct/tandoor.sh
+++ b/ct/tandoor.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Tandoor"
-TAGS="recipes"
+var_tags="recipes"
var_cpu="4"
var_ram="4096"
var_disk="10"
diff --git a/ct/tasmoadmin.sh b/ct/tasmoadmin.sh
index e09b3bd7d97..dae77094651 100644
--- a/ct/tasmoadmin.sh
+++ b/ct/tasmoadmin.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="TasmoAdmin"
-TAGS="tasmota;smarthome"
+var_tags="tasmota;smarthome"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/tautulli.sh b/ct/tautulli.sh
index 1a1eb7c4a66..934131c98e2 100644
--- a/ct/tautulli.sh
+++ b/ct/tautulli.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Tautulli"
-TAGS="media"
+var_tags="media"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/tdarr.sh b/ct/tdarr.sh
index 7a5eeeb1a93..c69f2281e09 100644
--- a/ct/tdarr.sh
+++ b/ct/tdarr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Tdarr"
-TAGS="arr"
+var_tags="arr"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/technitiumdns.sh b/ct/technitiumdns.sh
index b786b5f99a0..73920a2ee14 100644
--- a/ct/technitiumdns.sh
+++ b/ct/technitiumdns.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Technitium DNS"
-TAGS="dns"
+var_tags="dns"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/the-lounge.sh b/ct/the-lounge.sh
index b941f888acf..ea854774637 100644
--- a/ct/the-lounge.sh
+++ b/ct/the-lounge.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="The-Lounge"
-TAGS="irc"
+var_tags="irc"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/threadfin.sh b/ct/threadfin.sh
index 65dd715ac24..bb3bc894171 100644
--- a/ct/threadfin.sh
+++ b/ct/threadfin.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Threadfin"
-TAGS="media"
+var_tags="media"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/tianji.sh b/ct/tianji.sh
index 6479c17ff1e..f2882924a53 100644
--- a/ct/tianji.sh
+++ b/ct/tianji.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Tianji"
-TAGS="monitoring"
+var_tags="monitoring"
var_cpu="4"
var_ram="4096"
var_disk="12"
diff --git a/ct/traccar.sh b/ct/traccar.sh
index f3a2d2d3f8a..c8bf88b2632 100644
--- a/ct/traccar.sh
+++ b/ct/traccar.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Traccar"
-TAGS="gps;tracker"
+var_tags="gps;tracker"
var_cpu="1"
var_ram="1024"
var_disk="2"
diff --git a/ct/traefik.sh b/ct/traefik.sh
index 82e1a025694..877943159ae 100644
--- a/ct/traefik.sh
+++ b/ct/traefik.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Traefik"
-TAGS="proxy"
+var_tags="proxy"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/transmission.sh b/ct/transmission.sh
index 12afb2d10e4..ea05ec43804 100644
--- a/ct/transmission.sh
+++ b/ct/transmission.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Transmission"
-TAGS="torrent"
+var_tags="torrent"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/trilium.sh b/ct/trilium.sh
index 9fc950c1936..f65702742a9 100644
--- a/ct/trilium.sh
+++ b/ct/trilium.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Trilium"
-TAGS="notes"
+var_tags="notes"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/ubuntu.sh b/ct/ubuntu.sh
index 0ab070e0211..86ac38615bd 100644
--- a/ct/ubuntu.sh
+++ b/ct/ubuntu.sh
@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
echo -e "Loading..."
APP="Ubuntu"
-TAGS="os"
+var_tags="os"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/umami.sh b/ct/umami.sh
index ac1ed698562..592c7e8df30 100644
--- a/ct/umami.sh
+++ b/ct/umami.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Umami"
-TAGS="analytics"
+var_tags="analytics"
var_cpu="2"
var_ram="2048"
var_disk="12"
diff --git a/ct/umbrel.sh b/ct/umbrel.sh
index a336995c171..4a5b0739c35 100644
--- a/ct/umbrel.sh
+++ b/ct/umbrel.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Umbrel"
-TAGS="os"
+var_tags="os"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/unbound.sh b/ct/unbound.sh
index abc9bba5bba..a8bd86513f9 100644
--- a/ct/unbound.sh
+++ b/ct/unbound.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Unbound"
-TAGS="dns"
+var_tags="dns"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/unifi.sh b/ct/unifi.sh
index 45af19a20c8..0805320fa85 100644
--- a/ct/unifi.sh
+++ b/ct/unifi.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Unifi"
-TAGS="network;controller;unifi"
+var_tags="network;controller;unifi"
var_cpu="2"
var_ram="2048"
var_disk="8"
diff --git a/ct/unmanic.sh b/ct/unmanic.sh
index 7b7d7a9456e..02c53c6828a 100644
--- a/ct/unmanic.sh
+++ b/ct/unmanic.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Unmanic"
-TAGS="file;media"
+var_tags="file;media"
var_cpu="2"
var_ram="2048"
var_disk="4"
diff --git a/ct/uptimekuma.sh b/ct/uptimekuma.sh
index 900f988d96f..7c92b4aee60 100644
--- a/ct/uptimekuma.sh
+++ b/ct/uptimekuma.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Uptime Kuma"
-TAGS="analytics;monitoring"
+var_tags="analytics;monitoring"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/vaultwarden.sh b/ct/vaultwarden.sh
index 9bc744c524a..3d0f30841a2 100644
--- a/ct/vaultwarden.sh
+++ b/ct/vaultwarden.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Vaultwarden"
-TAGS="password-manager"
+var_tags="password-manager"
var_cpu="4"
var_ram="6144"
var_disk="6"
diff --git a/ct/vikunja.sh b/ct/vikunja.sh
index 508d2d4b9ff..7109494444e 100644
--- a/ct/vikunja.sh
+++ b/ct/vikunja.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Vikunja"
-TAGS="todo-app"
+var_tags="todo-app"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/wallos.sh b/ct/wallos.sh
index 34fec89c164..0e06c8e1d76 100644
--- a/ct/wallos.sh
+++ b/ct/wallos.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Wallos"
-TAGS="finance"
+var_tags="finance"
var_cpu="1"
var_ram="1024"
var_disk="5"
diff --git a/ct/wastebin.sh b/ct/wastebin.sh
index 2bdf5ab8681..f0c37343e33 100644
--- a/ct/wastebin.sh
+++ b/ct/wastebin.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Wastebin"
-TAGS="file;code"
+var_tags="file;code"
var_cpu="1"
var_ram="1024"
var_disk="4"
diff --git a/ct/watchyourlan.sh b/ct/watchyourlan.sh
index c38355a0cd2..e79dc367096 100644
--- a/ct/watchyourlan.sh
+++ b/ct/watchyourlan.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="WatchYourLAN"
-TAGS="network"
+var_tags="network"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/wavelog.sh b/ct/wavelog.sh
index 59a5b8f6f1b..1d1c55a9b2e 100644
--- a/ct/wavelog.sh
+++ b/ct/wavelog.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Wavelog"
-TAGS="radio-logging"
+var_tags="radio-logging"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/whisparr.sh b/ct/whisparr.sh
index ce446adbbcf..be18bff9cb4 100644
--- a/ct/whisparr.sh
+++ b/ct/whisparr.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Whisparr"
-TAGS="arr"
+var_tags="arr"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/whoogle.sh b/ct/whoogle.sh
index 189d7f94acf..f7e5b887c34 100644
--- a/ct/whoogle.sh
+++ b/ct/whoogle.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Whoogle"
-TAGS="network;seaching"
+var_tags="network;seaching"
var_cpu="1"
var_ram="512"
var_disk="2"
diff --git a/ct/wikijs.sh b/ct/wikijs.sh
index f3a86aceb78..acec35dfd96 100644
--- a/ct/wikijs.sh
+++ b/ct/wikijs.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Wikijs"
-TAGS="wiki"
+var_tags="wiki"
var_cpu="1"
var_ram="512"
var_disk="3"
diff --git a/ct/wireguard.sh b/ct/wireguard.sh
index 46ca605d553..7fce847e0c8 100644
--- a/ct/wireguard.sh
+++ b/ct/wireguard.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Wireguard"
-TAGS="network;vpn"
+var_tags="network;vpn"
var_cpu="1"
var_ram="512"
var_disk="4"
diff --git a/ct/yunohost.sh b/ct/yunohost.sh
index 84724f906dc..fbd1e8a1d0c 100644
--- a/ct/yunohost.sh
+++ b/ct/yunohost.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="YunoHost"
-TAGS="os"
+var_tags="os"
var_cpu="2"
var_ram="2048"
var_disk="20"
diff --git a/ct/zabbix.sh b/ct/zabbix.sh
index 8112640aff9..79139f90288 100644
--- a/ct/zabbix.sh
+++ b/ct/zabbix.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Zabbix"
-TAGS="monitoring"
+var_tags="monitoring"
var_cpu="2"
var_ram="4096"
var_disk="6"
diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh
index 58d8dbe74e5..c5ba5ef2b9c 100644
--- a/ct/zigbee2mqtt.sh
+++ b/ct/zigbee2mqtt.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Zigbee2MQTT"
-TAGS="smarthome;zigbee;mqtt"
+var_tags="smarthome;zigbee;mqtt"
var_cpu="2"
var_ram="1024"
var_disk="4"
diff --git a/ct/zipline.sh b/ct/zipline.sh
index c82c531277e..b6dfcf94b59 100644
--- a/ct/zipline.sh
+++ b/ct/zipline.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Zipline"
-TAGS="file;sharing"
+var_tags="file;sharing"
var_cpu="2"
var_ram="2048"
var_disk="5"
diff --git a/ct/zoraxy.sh b/ct/zoraxy.sh
index b9be8b7bfa4..71e9c12b48a 100644
--- a/ct/zoraxy.sh
+++ b/ct/zoraxy.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Zoraxy"
-TAGS="network"
+var_tags="network"
var_cpu="2"
var_ram="2048"
var_disk="6"
diff --git a/ct/zwave-js-ui.sh b/ct/zwave-js-ui.sh
index 91c8b99a7e3..9c25a90ad29 100644
--- a/ct/zwave-js-ui.sh
+++ b/ct/zwave-js-ui.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Zwave-JS-UI"
-TAGS="smarthome;zwave"
+var_tags="smarthome;zwave"
var_cpu="2"
var_ram="1024"
var_disk="4"
From b78a919b41450332832d7696803abb0213d9b295 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:33:14 +0100
Subject: [PATCH 045/286] Update CHANGELOG.md (#840)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index beafe97e765..e1534099029 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,8 +22,8 @@ Do not break established syntax in this file, as it is automatically updated by
### 💥 Breaking Changes
-- Update ALL CT's to new default (Part 2) [@MickLesk](https://github.com/MickLesk) ([#710](https://github.com/community-scripts/ProxmoxVE/pull/710))
- Massive Update: build.func | install.func | create_lxc.sh (Part 1) [@MickLesk](https://github.com/MickLesk) ([#643](https://github.com/community-scripts/ProxmoxVE/pull/643))
+- Update ALL CT's to new default (Part 2) [@MickLesk](https://github.com/MickLesk) ([#710](https://github.com/community-scripts/ProxmoxVE/pull/710))
## 2024-12-13
From b547530643b85f4cf5f830f3710c81c61d435417 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:33:34 +0100
Subject: [PATCH 046/286] Increase Size | Description & Download-URL of Debian
VM (#837)
* Update debian-vm.sh
* Update debian-vm.json
---
json/debian-vm.json | 4 ++--
vm/debian-vm.sh | 44 +++++++++++++++++++++++++++++++++++---------
2 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/json/debian-vm.json b/json/debian-vm.json
index 99b3069e0bc..acd0f1e6ebc 100644
--- a/json/debian-vm.json
+++ b/json/debian-vm.json
@@ -20,7 +20,7 @@
"resources": {
"cpu": 2,
"ram": 2048,
- "hdd": 2,
+ "hdd": 4,
"os": null,
"version": null
}
@@ -31,4 +31,4 @@
"password": null
},
"notes": []
-}
\ No newline at end of file
+}
diff --git a/vm/debian-vm.sh b/vm/debian-vm.sh
index 2246f4fcda6..92884abf941 100644
--- a/vm/debian-vm.sh
+++ b/vm/debian-vm.sh
@@ -370,7 +370,7 @@ fi
msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location."
msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}."
msg_info "Retrieving the URL for the Debian 12 Qcow2 Disk Image"
-URL=https://cloud.debian.org/images/cloud/bookworm/20240507-1740/debian-12-nocloud-amd64-20240507-1740.qcow2
+URL=https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.qcow2
sleep 2
msg_ok "${CL}${BL}${URL}${CL}"
wget -q --show-progress $URL
@@ -409,13 +409,39 @@ qm set $VMID \
-efidisk0 ${DISK0_REF}${FORMAT} \
-scsi0 ${DISK1_REF},${DISK_CACHE}${THIN}size=2G \
-boot order=scsi0 \
- -serial0 socket \
- -description "
-
- # Debian 12 VM
-
-

-
" >/dev/null
+ -serial0 socket >/dev/null
+qm resize $VMID scsi0 4G >/dev/null
+ DESCRIPTION=$(cat <
+
+
+
+
+ Debian VM
+
+
+
+
+
+
+
+
+
+ GitHub
+
+
+
+ Discussions
+
+
+
+ Issues
+
+
+EOF
+)
+ qm set "$VMID" -description "$DESCRIPTION" >/dev/null
+
msg_ok "Created a Debian 12 VM ${CL}${BL}(${HN})"
if [ "$START_VM" == "yes" ]; then
msg_info "Starting Debian 12 VM"
@@ -423,4 +449,4 @@ if [ "$START_VM" == "yes" ]; then
msg_ok "Started Debian 12 VM"
fi
msg_ok "Completed Successfully!\n"
-echo "More Info at https://github.com/tteck/Proxmox/discussions/1988"
+echo "More Info at https://github.com/community-scripts/ProxmoxVE/discussions/836"
From 284238d1096b2d0896747adcfd404c3a712c5ef4 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:35:52 +0100
Subject: [PATCH 047/286] Update CHANGELOG.md (#842)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e1534099029..26eea7dfc8e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Massive Update: build.func | install.func | create_lxc.sh (Part 1) [@MickLesk](https://github.com/MickLesk) ([#643](https://github.com/community-scripts/ProxmoxVE/pull/643))
- Update ALL CT's to new default (Part 2) [@MickLesk](https://github.com/MickLesk) ([#710](https://github.com/community-scripts/ProxmoxVE/pull/710))
+### 🚀 Updated Scripts
+
+- Increase Size | Description & Download-URL of Debian VM [@MickLesk](https://github.com/MickLesk) ([#837](https://github.com/community-scripts/ProxmoxVE/pull/837))
+
## 2024-12-13
### Changed
From a00f7af0d2cecbeb5cf088c2d8f14f240d9172b9 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:47:16 +0100
Subject: [PATCH 048/286] New Script: LXC IP-Tag (#536)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* New Script: LXC IP-Tag
* add comma in json
* Update misc/add-lxc-iptag.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update json/add-lxc-iptag.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update json/add-lxc-iptag.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* remove files
* Full-Update to Single-File
* Finalo
* Update add-lxc-iptag.json
---------
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
---
json/add-lxc-iptag.json | 43 +++++
misc/add-lxc-iptag.sh | 351 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 394 insertions(+)
create mode 100644 json/add-lxc-iptag.json
create mode 100644 misc/add-lxc-iptag.sh
diff --git a/json/add-lxc-iptag.json b/json/add-lxc-iptag.json
new file mode 100644
index 00000000000..1657a0acbf3
--- /dev/null
+++ b/json/add-lxc-iptag.json
@@ -0,0 +1,43 @@
+{
+ "name": "Proxmox VE LXC IP-Tag",
+ "slug": "add-lxc-iptag",
+ "categories": [
+ 1
+ ],
+ "date_created": "2024-11-27",
+ "type": "misc",
+ "updateable": false,
+ "privileged": false,
+ "interface_port": null,
+ "documentation": null,
+ "website": null,
+ "logo": "https://raw.githubusercontent.com/home-assistant/brands/master/core_integrations/proxmoxve/icon.png",
+ "description": "This script automatically adds IP address as tags to LXC containers using a Systemd service. The service also updates the tags if a LXC IP address is changed.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "misc/add-lxc-iptag.sh",
+ "resources": {
+ "cpu": null,
+ "ram": null,
+ "hdd": null,
+ "os": null,
+ "version": null
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": [
+ {
+ "text": "Execute within the Proxmox shell",
+ "type": "Info"
+ },
+ {
+ "text": "Configuration: `nano /opt/lxc-iptag/iptag.conf`. iptag.service must be restarted after change.",
+ "type": "Info"
+ }
+ ]
+}
diff --git a/misc/add-lxc-iptag.sh b/misc/add-lxc-iptag.sh
new file mode 100644
index 00000000000..093faaa7f60
--- /dev/null
+++ b/misc/add-lxc-iptag.sh
@@ -0,0 +1,351 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: MickLesk (Canbiz)
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://github.com/gitsang/lxc-iptag
+
+function header_info {
+ clear
+ cat <<"EOF"
+ __ _ ________ ________ ______
+ / / | |/ / ____/ / _/ __ \ /_ __/___ _____ _
+ / / | / / / // /_/ /_____/ / / __ `/ __ `/
+ / /___/ / /___ _/ // ____/_____/ / / /_/ / /_/ /
+/_____/_/|_\____/ /___/_/ /_/ \__,_/\__, /
+ /____/
+EOF
+}
+
+clear
+header_info
+APP="LXC IP-Tag"
+hostname=$(hostname)
+
+# Farbvariablen
+YW=$(echo "\033[33m")
+GN=$(echo "\033[1;92m")
+RD=$(echo "\033[01;31m")
+CL=$(echo "\033[m")
+BFR="\\r\\033[K"
+HOLD=" "
+CM=" ✔️ ${CL}"
+CROSS=" ✖️ ${CL}"
+
+# This function enables error handling in the script by setting options and defining a trap for the ERR signal.
+catch_errors() {
+ set -Eeuo pipefail
+ trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
+}
+
+# This function is called when an error occurs. It receives the exit code, line number, and command that caused the error, and displays an error message.
+error_handler() {
+ if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
+ printf "\e[?25h"
+ local exit_code="$?"
+ local line_number="$1"
+ local command="$2"
+ local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
+ echo -e "\n$error_message\n"
+}
+
+spinner() {
+ local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
+ local spin_i=0
+ local interval=0.1
+ printf "\e[?25l"
+ local orange="\e[38;5;214m"
+
+ while true; do
+ printf "\r ${orange}%s\e[0m " "${frames[spin_i]}"
+ spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
+ sleep "$interval"
+ done
+}
+
+# This function displays an informational message with a yellow color.
+msg_info() {
+ local msg="$1"
+ echo -ne " ${HOLD} ${YW}${msg} "
+ spinner &
+ SPINNER_PID=$!
+}
+
+# This function displays a success message with a green color.
+msg_ok() {
+ if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
+ printf "\e[?25h"
+ local msg="$1"
+ echo -e "${BFR}${CM} ${GN}${msg}${CL}"
+}
+
+# This function displays a error message with a red color.
+msg_error() {
+ if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
+ printf "\e[?25h"
+ local msg="$1"
+ echo -e "${BFR}${CROSS} ${RD}${msg}${CL}"
+}
+
+while true; do
+ read -p "This will install ${APP} on ${hostname}. Proceed? (y/n): " yn
+ case $yn in
+ [Yy]*) break ;;
+ [Nn]*) msg_info "Installation cancelled."; exit ;;
+ *) msg_info "Please answer yes or no." ;;
+ esac
+done
+
+if ! pveversion | grep -Eq "pve-manager/8.[0-3]"; then
+ msg_error "This version of Proxmox Virtual Environment is not supported"
+ msg_error "⚠️ Requires Proxmox Virtual Environment Version 8.0 or later."
+ msg_error "Exiting..."
+ sleep 2
+ exit
+fi
+
+FILE_PATH="/usr/local/bin/iptag"
+if [[ -f "$FILE_PATH" ]]; then
+ msg_info "The file already exists: '$FILE_PATH'. Skipping installation."
+ exit 0
+fi
+
+msg_info "Installing Dependencies"
+apt-get update &>/dev/null
+apt-get install -y ipcalc net-tools &>/dev/null
+msg_ok "Installed Dependencies"
+
+msg_info "Setting up IP-Tag Scripts"
+mkdir -p /opt/lxc-iptag
+
+msg_info "Setup Default Config"
+if [[ ! -f /opt/lxc-iptag/iptag.conf ]]; then
+ cat < /opt/lxc-iptag/iptag.conf
+# Configuration file for LXC IP tagging
+
+# List of allowed CIDRs
+CIDR_LIST=(
+ 192.168.0.0/16
+ 100.64.0.0/10
+ 10.0.0.0/8
+)
+
+# Interval settings (in seconds)
+LOOP_INTERVAL=60
+FW_NET_INTERFACE_CHECK_INTERVAL=60
+LXC_STATUS_CHECK_INTERVAL=-1
+FORCE_UPDATE_INTERVAL=1800
+EOF
+ msg_ok "Setup default config"
+else
+ msg_ok "Default config already exists"
+fi
+
+msg_info "Setup Main Function"
+if [[ ! -f /opt/lxc-iptag/iptag ]]; then
+ cat <<'EOF' > /opt/lxc-iptag/iptag
+#!/bin/bash
+
+# =============== CONFIGURATION =============== #
+
+CONFIG_FILE="/opt/lxc-iptag/iptag.conf"
+
+# Load the configuration file if it exists
+if [ -f "$CONFIG_FILE" ]; then
+ # shellcheck source=./lxc-iptag.conf
+ source "$CONFIG_FILE"
+fi
+
+# Convert IP to integer for comparison
+ip_to_int() {
+ local ip="${1}"
+ local a b c d
+
+ IFS=. read -r a b c d <<< "${ip}"
+ echo "$((a << 24 | b << 16 | c << 8 | d))"
+}
+
+# Check if IP is in CIDR
+ip_in_cidr() {
+ local ip="${1}"
+ local cidr="${2}"
+
+ ip_int=$(ip_to_int "${ip}")
+ netmask_int=$(ip_to_int "$(ipcalc -b "${cidr}" | grep Broadcast | awk '{print $2}')")
+ masked_ip_int=$(( "${ip_int}" & "${netmask_int}" ))
+ [[ ${ip_int} -eq ${masked_ip_int} ]] && return 0 || return 1
+}
+
+# Check if IP is in any CIDRs
+ip_in_cidrs() {
+ local ip="${1}"
+ local cidrs=()
+
+ mapfile -t cidrs < <(echo "${2}" | tr ' ' '\n')
+ for cidr in "${cidrs[@]}"; do
+ ip_in_cidr "${ip}" "${cidr}" && return 0
+ done
+
+ return 1
+}
+
+# Check if IP is valid
+is_valid_ipv4() {
+ local ip=$1
+ local regex="^([0-9]{1,3}\.){3}[0-9]{1,3}$"
+
+ if [[ $ip =~ $regex ]]; then
+ IFS='.' read -r -a parts <<< "$ip"
+ for part in "${parts[@]}"; do
+ if ! [[ $part =~ ^[0-9]+$ ]] || ((part < 0 || part > 255)); then
+ return 1
+ fi
+ done
+ return 0
+ else
+ return 1
+ fi
+}
+
+lxc_status_changed() {
+ current_lxc_status=$(pct list 2>/dev/null)
+ if [ "${last_lxc_status}" == "${current_lxc_status}" ]; then
+ return 1
+ else
+ last_lxc_status="${current_lxc_status}"
+ return 0
+ fi
+}
+
+fw_net_interface_changed() {
+ current_net_interface=$(ifconfig | grep "^fw")
+ if [ "${last_net_interface}" == "${current_net_interface}" ]; then
+ return 1
+ else
+ last_net_interface="${current_net_interface}"
+ return 0
+ fi
+}
+
+# =============== MAIN =============== #
+
+update_lxc_iptags() {
+ vmid_list=$(pct list 2>/dev/null | grep -v VMID | awk '{print $1}')
+ for vmid in ${vmid_list}; do
+ last_tagged_ips=()
+ current_valid_ips=()
+ next_tags=()
+
+ # Parse current tags
+ mapfile -t current_tags < <(pct config "${vmid}" | grep tags | awk '{print $2}' | sed 's/;/\n/g')
+ for current_tag in "${current_tags[@]}"; do
+ if is_valid_ipv4 "${current_tag}"; then
+ last_tagged_ips+=("${current_tag}")
+ continue
+ fi
+ next_tags+=("${current_tag}")
+ done
+
+ # Get current IPs
+ current_ips_full=$(lxc-info -n "${vmid}" -i | awk '{print $2}')
+ for ip in ${current_ips_full}; do
+ if is_valid_ipv4 "${ip}" && ip_in_cidrs "${ip}" "${CIDR_LIST[*]}"; then
+ current_valid_ips+=("${ip}")
+ next_tags+=("${ip}")
+ fi
+ done
+
+ # Skip if no ip change
+ if [[ "$(echo "${last_tagged_ips[@]}" | tr ' ' '\n' | sort -u)" == "$(echo "${current_valid_ips[@]}" | tr ' ' '\n' | sort -u)" ]]; then
+ echo "Skipping ${vmid} cause ip no changes"
+ continue
+ fi
+
+ # Set tags
+ echo "Setting ${vmid} tags from ${current_tags[*]} to ${next_tags[*]}"
+ pct set "${vmid}" -tags "$(IFS=';'; echo "${next_tags[*]}")"
+ done
+}
+
+check() {
+ current_time=$(date +%s)
+
+ time_since_last_lxc_status_check=$((current_time - last_lxc_status_check_time))
+ if [[ "${LXC_STATUS_CHECK_INTERVAL}" -gt 0 ]] \
+ && [[ "${time_since_last_lxc_status_check}" -ge "${STATUS_CHECK_INTERVAL}" ]]; then
+ echo "Checking lxc status..."
+ last_lxc_status_check_time=${current_time}
+ if lxc_status_changed; then
+ update_lxc_iptags
+ last_update_time=${current_time}
+ return
+ fi
+ fi
+
+ time_since_last_fw_net_interface_check=$((current_time - last_fw_net_interface_check_time))
+ if [[ "${FW_NET_INTERFACE_CHECK_INTERVAL}" -gt 0 ]] \
+ && [[ "${time_since_last_fw_net_interface_check}" -ge "${FW_NET_INTERFACE_CHECK_INTERVAL}" ]]; then
+ echo "Checking fw net interface..."
+ last_fw_net_interface_check_time=${current_time}
+ if fw_net_interface_changed; then
+ update_lxc_iptags
+ last_update_time=${current_time}
+ return
+ fi
+ fi
+
+ time_since_last_update=$((current_time - last_update_time))
+ if [ ${time_since_last_update} -ge ${FORCE_UPDATE_INTERVAL} ]; then
+ echo "Force updating lxc iptags..."
+ update_lxc_iptags
+ last_update_time=${current_time}
+ return
+ fi
+}
+
+# main: Set the IP tags for all LXC containers
+main() {
+ while true; do
+ check
+ sleep "${LOOP_INTERVAL}"
+ done
+}
+
+main
+EOF
+ msg_ok "Setup Main Function"
+else
+ msg_ok "Main Function already exists"
+fi
+chmod +x /opt/lxc-iptag/iptag
+
+msg_info "Creating Service"
+if [[ ! -f /lib/systemd/system/iptag.service ]]; then
+ echo "Systemd service file not found. Creating it now..."
+ cat < /lib/systemd/system/iptag.service
+[Unit]
+Description=LXC IP-Tag service
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/opt/lxc-iptag/iptag
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+EOF
+ msg_ok "Created Service"
+else
+ msg_ok "Service already exists."
+fi
+
+msg_ok "Setup IP-Tag Scripts"
+
+msg_info "Starting Service"
+systemctl daemon-reload &>/dev/null
+systemctl enable -q --now iptag.service &>/dev/null
+msg_ok "Started Service"
+
+echo -e "\n${APP} installation completed successfully! ${CL}\n"
From 357f5bcdb6814f0e2982bb7181229a3879d3d766 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:48:15 +0100
Subject: [PATCH 049/286] Update CHANGELOG.md (#843)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26eea7dfc8e..efd2dfdfb84 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Massive Update: build.func | install.func | create_lxc.sh (Part 1) [@MickLesk](https://github.com/MickLesk) ([#643](https://github.com/community-scripts/ProxmoxVE/pull/643))
- Update ALL CT's to new default (Part 2) [@MickLesk](https://github.com/MickLesk) ([#710](https://github.com/community-scripts/ProxmoxVE/pull/710))
+### ✨ New Scripts
+
+- New Script: LXC IP-Tag [@MickLesk](https://github.com/MickLesk) ([#536](https://github.com/community-scripts/ProxmoxVE/pull/536))
+
### 🚀 Updated Scripts
- Increase Size | Description & Download-URL of Debian VM [@MickLesk](https://github.com/MickLesk) ([#837](https://github.com/community-scripts/ProxmoxVE/pull/837))
From 49d8ed135c486be8fbc95472d14de5c247158b2e Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 16 Dec 2024 13:49:32 +0100
Subject: [PATCH 050/286] Update add-lxc-iptag.json
---
json/add-lxc-iptag.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/json/add-lxc-iptag.json b/json/add-lxc-iptag.json
index 1657a0acbf3..244d9d13045 100644
--- a/json/add-lxc-iptag.json
+++ b/json/add-lxc-iptag.json
@@ -4,7 +4,7 @@
"categories": [
1
],
- "date_created": "2024-11-27",
+ "date_created": "2024-12-16",
"type": "misc",
"updateable": false,
"privileged": false,
From 6f2e0dfde9654c5577961364428db417e3148b40 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 04:55:03 -0800
Subject: [PATCH 051/286] Bump nanoid from 3.3.7 to 3.3.8 in /frontend (#845)
---
frontend/package-lock.json | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 0fc06b891fa..36ec168b76e 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -3187,7 +3187,7 @@
"version": "19.0.0-rc.1",
"resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz",
"integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"csstype": "^3.0.2"
}
@@ -3197,7 +3197,7 @@
"version": "19.0.0-rc.1",
"resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz",
"integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"@types/react": "*"
}
@@ -7080,16 +7080,15 @@
}
},
"node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "version": "3.3.8",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
+ "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
- "license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -7768,7 +7767,6 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
"integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
- "dev": true,
"license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
@@ -9415,7 +9413,6 @@
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
- "dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
From 826482897aaaf2522d1776b9eab3ebe4c8f49ba4 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 14:07:16 +0100
Subject: [PATCH 052/286] Update CHANGELOG.md (#846)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index efd2dfdfb84..604276ceed3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,6 +33,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Increase Size | Description & Download-URL of Debian VM [@MickLesk](https://github.com/MickLesk) ([#837](https://github.com/community-scripts/ProxmoxVE/pull/837))
+### 🌐 Website
+
+- Bump nanoid from 3.3.7 to 3.3.8 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#845](https://github.com/community-scripts/ProxmoxVE/pull/845))
+
## 2024-12-13
### Changed
From 9fc81e49e42bada7c338cf5939288525d47c3e65 Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Mon, 16 Dec 2024 14:29:51 +0100
Subject: [PATCH 053/286] Update Script: Remove Docker Compose Question (#847)
---
install/docker-install.sh | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/install/docker-install.sh b/install/docker-install.sh
index 70ebcebe05e..b22e148686b 100644
--- a/install/docker-install.sh
+++ b/install/docker-install.sh
@@ -62,15 +62,6 @@ else
msg_ok "Installed Portainer Agent $PORTAINER_AGENT_LATEST_VERSION"
fi
fi
-read -r -p "Would you like to add Docker Compose? " prompt
-if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
- msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION"
- DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
- mkdir -p $DOCKER_CONFIG/cli-plugins
- curl -sSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
- chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
- msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION"
-fi
motd_ssh
customize
From 7357c1c146fd65f562af4561a142cccb0a317983 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 14:32:00 +0100
Subject: [PATCH 054/286] Update CHANGELOG.md (#848)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 604276ceed3..4f5727e55ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Update Script: Remove Docker Compose Question [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#847](https://github.com/community-scripts/ProxmoxVE/pull/847))
- Increase Size | Description & Download-URL of Debian VM [@MickLesk](https://github.com/MickLesk) ([#837](https://github.com/community-scripts/ProxmoxVE/pull/837))
### 🌐 Website
From e410bdbf5e64ee74d72f2e7d79155725cbb705dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20B=C3=A9dard-Couture?=
Date: Mon, 16 Dec 2024 12:21:41 -0500
Subject: [PATCH 055/286] Keeps the same style after writing the SEARCH icon
(#851)
---
misc/build.func | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index 82dcacf9bd8..6aa9c9f1528 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -611,7 +611,7 @@ install_script() {
;;
2)
header_info
- echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings (${SEARCH} Verbose)${CL}"
+ echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings (${SEARCH}${BOLD}${BL} Verbose)${CL}"
VERB="yes"
base_settings "$VERB"
echo_default
From f449ca707a9b518b07fee740dbe4a8b27c0c2318 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 18:23:38 +0100
Subject: [PATCH 056/286] Update CHANGELOG.md (#852)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4f5727e55ef..a51fefccfef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,13 +31,17 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
-- Update Script: Remove Docker Compose Question [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#847](https://github.com/community-scripts/ProxmoxVE/pull/847))
- Increase Size | Description & Download-URL of Debian VM [@MickLesk](https://github.com/MickLesk) ([#837](https://github.com/community-scripts/ProxmoxVE/pull/837))
+- Update Script: Remove Docker Compose Question [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#847](https://github.com/community-scripts/ProxmoxVE/pull/847))
### 🌐 Website
- Bump nanoid from 3.3.7 to 3.3.8 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#845](https://github.com/community-scripts/ProxmoxVE/pull/845))
+### ❔ Unlabelled
+
+- Keeps the same style after writing the SEARCH icon [@remz1337](https://github.com/remz1337) ([#851](https://github.com/community-scripts/ProxmoxVE/pull/851))
+
## 2024-12-13
### Changed
From db1950a2bbd9a051de0b7d006a27e16297140838 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20B=C3=A9dard-Couture?=
Date: Mon, 16 Dec 2024 16:41:01 -0500
Subject: [PATCH 057/286] Fix variable name for CT_TYPE override (#855)
---
misc/build.func | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index 6aa9c9f1528..c43ef21ca08 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -204,7 +204,7 @@ base_settings() {
TAGS="community-script;"
# Override default settings with variables from ct script
- CT_TYPE=${var_privileged:-$CT_TYPE}
+ CT_TYPE=${var_unprivileged:-$CT_TYPE}
DISK_SIZE=${var_disk:-$DISK_SIZE}
CORE_COUNT=${var_cpu:-$CORE_COUNT}
RAM_SIZE=${var_ram:-$RAM_SIZE}
From 5b3844810763ec5e3289c61dfd91d8ca453adfb0 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 22:43:48 +0100
Subject: [PATCH 058/286] Update CHANGELOG.md (#856)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a51fefccfef..3c0a594938d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -40,6 +40,7 @@ Do not break established syntax in this file, as it is automatically updated by
### ❔ Unlabelled
+- Fix variable name for CT_TYPE override [@remz1337](https://github.com/remz1337) ([#855](https://github.com/community-scripts/ProxmoxVE/pull/855))
- Keeps the same style after writing the SEARCH icon [@remz1337](https://github.com/remz1337) ([#851](https://github.com/community-scripts/ProxmoxVE/pull/851))
## 2024-12-13
From 9256880c9f692e011b5ae056a2a6304dd1639ba1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5vard=20Gj=C3=B8by=20Thom?=
<34199185+havardthom@users.noreply.github.com>
Date: Mon, 16 Dec 2024 23:43:32 +0100
Subject: [PATCH 059/286] Fix SSH root access in install.func (#858)
---
misc/install.func | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/misc/install.func b/misc/install.func
index d701fdfb341..24f752a4894 100644
--- a/misc/install.func
+++ b/misc/install.func
@@ -231,6 +231,11 @@ motd_ssh() {
# Disable default MOTD scripts
chmod -x /etc/update-motd.d/*
+
+ if [[ "${SSH_ROOT}" == "yes" ]]; then
+ sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
+ systemctl restart sshd
+ fi
}
# This function customizes the container by modifying the getty service and enabling auto-login for the root user
From fad540cf4c05080eb05b3b71787930eb3a53b0fe Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 16 Dec 2024 23:47:50 +0100
Subject: [PATCH 060/286] Update CHANGELOG.md (#859)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3c0a594938d..a3fab48a53a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -40,6 +40,7 @@ Do not break established syntax in this file, as it is automatically updated by
### ❔ Unlabelled
+- Fix SSH root access in install.func [@havardthom](https://github.com/havardthom) ([#858](https://github.com/community-scripts/ProxmoxVE/pull/858))
- Fix variable name for CT_TYPE override [@remz1337](https://github.com/remz1337) ([#855](https://github.com/community-scripts/ProxmoxVE/pull/855))
- Keeps the same style after writing the SEARCH icon [@remz1337](https://github.com/remz1337) ([#851](https://github.com/community-scripts/ProxmoxVE/pull/851))
From f511d88502f591744c704aecf5d93818d86c9cac Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Tue, 17 Dec 2024 11:19:08 +0100
Subject: [PATCH 061/286] Fix ports ressources (#867)
* fix Plex Port
* fix ressources adguard
* fix photoprism ressource
---
ct/adguard.sh | 8 ++++----
ct/plex.sh | 2 +-
json/photoprism.json | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/ct/adguard.sh b/ct/adguard.sh
index f814a12de4d..c233e2b4a97 100644
--- a/ct/adguard.sh
+++ b/ct/adguard.sh
@@ -8,9 +8,9 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Adguard"
var_tags="adblock"
-var_cpu="2"
-var_ram="2048"
-var_disk="4"
+var_cpu="1"
+var_ram="512"
+var_disk="2"
var_os="debian"
var_version="12"
var_unprivileged="1"
@@ -43,4 +43,4 @@ 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}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
diff --git a/ct/plex.sh b/ct/plex.sh
index 413a7e65f21..0aebd688f98 100644
--- a/ct/plex.sh
+++ b/ct/plex.sh
@@ -57,4 +57,4 @@ 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}:23400/web${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:32400/web${CL}"
diff --git a/json/photoprism.json b/json/photoprism.json
index 0e796d0de0b..9d7bb13f24b 100644
--- a/json/photoprism.json
+++ b/json/photoprism.json
@@ -19,7 +19,7 @@
"script": "ct/photoprism.sh",
"resources": {
"cpu": 2,
- "ram": 2048,
+ "ram": 3072,
"hdd": 8,
"os": "debian",
"version": "12"
@@ -36,4 +36,4 @@
"type": "warning"
}
]
-}
\ No newline at end of file
+}
From 79d597297ca8589f6a479d146844402e46107939 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Tue, 17 Dec 2024 11:28:26 +0100
Subject: [PATCH 062/286] fix calibre web
direct merge because issue in big merge
---
ct/calibre-web.sh | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh
index cd398c42cdd..2d8849d17bd 100644
--- a/ct/calibre-web.sh
+++ b/ct/calibre-web.sh
@@ -41,13 +41,13 @@ function update_script() {
rm -rf kepubify-linux-64bit
curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit
chmod +x kepubify-linux-64bit
- menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF
- "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF
- "3" "Enables displaying of additional author infos on the authors page" OFF
- "4" "Enables login via LDAP server" OFF
- "5" "Enables login via google or github oauth" OFF
- "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF
- "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF
+ menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \
+ "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \
+ "3" "Enables displaying of additional author infos on the authors page" OFF \
+ "4" "Enables login via LDAP server" OFF \
+ "5" "Enables login via google or github oauth" OFF \
+ "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \
+ "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \
"8" "Enables syncing with your kobo reader" OFF)
if [ -f "/opt/calibre-web/options.txt" ]; then
cps_options="$(cat /opt/calibre-web/options.txt)"
@@ -140,4 +140,4 @@ 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}:8083${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
From a46e66fd9a9153924bc33219bf248c6b163b6827 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Tue, 17 Dec 2024 11:34:58 +0100
Subject: [PATCH 063/286] Update CHANGELOG.md (#868)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a3fab48a53a..f86ab345b1e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-17
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
+
## 2024-12-16
### Changed
From 73d57940866980d22b0749579dca94cf01ed8121 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Tue, 17 Dec 2024 13:18:39 +0100
Subject: [PATCH 064/286] fix figlet for alpine (#869)
---
misc/build.func | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index c43ef21ca08..1907b391396 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -158,7 +158,17 @@ arch_check() {
# This function sets the APP-Name into an ASCII Header in Slant, figlet needed on proxmox main node.
header_info() {
- apt-get install -y figlet &> /dev/null
+ if [ -f /etc/debian_version ]; then
+ # Debian/Ubuntu
+ apt-get install -y figlet &> /dev/null
+ elif [ -f /etc/alpine-release ]; then
+ # Alpine Linux
+ apk add --no-cache figlet &> /dev/null
+ else
+ echo "Unsupported OS"
+ return 1
+ fi
+
ascii_art=$(figlet -f slant "$APP")
clear
cat <
Date: Tue, 17 Dec 2024 13:20:28 +0100
Subject: [PATCH 065/286] Update CHANGELOG.md (#870)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f86ab345b1e..f3d5966c3de 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
+### ❔ Unlabelled
+
+- Fix header creation with figlet for alpine [@MickLesk](https://github.com/MickLesk) ([#869](https://github.com/community-scripts/ProxmoxVE/pull/869))
+
## 2024-12-16
### Changed
From 870313cc58b86d1230d178133ab325de0e50357e Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Tue, 17 Dec 2024 14:21:15 +0100
Subject: [PATCH 066/286] Update keycloak.sh (#874)
---
ct/keycloak.sh | 58 +++++++++++++++++++++++++-------------------------
1 file changed, 29 insertions(+), 29 deletions(-)
diff --git a/ct/keycloak.sh b/ct/keycloak.sh
index 5bc16dcb9e5..26d214f0de8 100644
--- a/ct/keycloak.sh
+++ b/ct/keycloak.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Keycloak"
-var_tags="access management"
+var_tags="access-management"
var_cpu="2"
var_ram="2048"
var_disk="4"
@@ -25,38 +25,38 @@ color
catch_errors
function update_script() {
- header_info
- check_container_storage
- check_container_resources
- if [[ ! -f /etc/systemd/system/keycloak.service ]]; then
- msg_error "No ${APP} Installation Found!"
- exit
- fi
- msg_info "Updating ${APP} LXC"
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/keycloak.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating ${APP} LXC"
- msg_info "Updating packages"
- apt-get update &>/dev/null
- apt-get -y upgrade &>/dev/null
+ msg_info "Updating packages"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
- RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
- msg_info "Updating Keycloak to v$RELEASE"
- cd /opt
- wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
- mv keycloak keycloak.old
- tar -xzf keycloak-$RELEASE.tar.gz
- cp -r keycloak.old/conf keycloak-$RELEASE
- cp -r keycloak.old/providers keycloak-$RELEASE
- cp -r keycloak.old/themes keycloak-$RELEASE
- mv keycloak-$RELEASE keycloak
+ RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ msg_info "Updating Keycloak to v$RELEASE"
+ cd /opt
+ wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
+ mv keycloak keycloak.old
+ tar -xzf keycloak-$RELEASE.tar.gz
+ cp -r keycloak.old/conf keycloak-$RELEASE
+ cp -r keycloak.old/providers keycloak-$RELEASE
+ cp -r keycloak.old/themes keycloak-$RELEASE
+ mv keycloak-$RELEASE keycloak
- msg_info "Delete temporary installation files"
- rm keycloak-$RELEASE.tar.gz
- rm -rf keycloak.old
+ msg_info "Delete temporary installation files"
+ rm keycloak-$RELEASE.tar.gz
+ rm -rf keycloak.old
- msg_info "Restating Keycloak"
- systemctl restart keycloak
- msg_ok "Updated Successfully"
- exit
+ msg_info "Restating Keycloak"
+ systemctl restart keycloak
+ msg_ok "Updated Successfully"
+ exit
}
start
From b18b49ef6fd4d86c5f303e459f11245513521646 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Tue, 17 Dec 2024 14:23:46 +0100
Subject: [PATCH 067/286] Update CHANGELOG.md (#875)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f3d5966c3de..359a349fc79 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Fix Keycloak Installation [@MickLesk](https://github.com/MickLesk) ([#874](https://github.com/community-scripts/ProxmoxVE/pull/874))
- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
### ❔ Unlabelled
From c60b16229b40477eae69e645c0389d638520af4e Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Tue, 17 Dec 2024 15:30:51 +0100
Subject: [PATCH 068/286] fix spinner on lxc-ip-tag (#876)
* fix spinner on lxc-ip-tag
* fix indention
---
misc/add-lxc-iptag.sh | 321 +++++++++++++++++++++---------------------
1 file changed, 163 insertions(+), 158 deletions(-)
diff --git a/misc/add-lxc-iptag.sh b/misc/add-lxc-iptag.sh
index 093faaa7f60..4222694ded6 100644
--- a/misc/add-lxc-iptag.sh
+++ b/misc/add-lxc-iptag.sh
@@ -7,8 +7,8 @@
# Source: https://github.com/gitsang/lxc-iptag
function header_info {
- clear
- cat <<"EOF"
+clear
+cat <<"EOF"
__ _ ________ ________ ______
/ / | |/ / ____/ / _/ __ \ /_ __/___ _____ _
/ / | / / / // /_/ /_____/ / / __ `/ __ `/
@@ -41,7 +41,7 @@ catch_errors() {
# This function is called when an error occurs. It receives the exit code, line number, and command that caused the error, and displays an error message.
error_handler() {
- if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
+ if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
printf "\e[?25h"
local exit_code="$?"
local line_number="$1"
@@ -50,51 +50,56 @@ error_handler() {
echo -e "\n$error_message\n"
}
+# This function displays a spinner.
spinner() {
- local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
- local spin_i=0
- local interval=0.1
- printf "\e[?25l"
- local orange="\e[38;5;214m"
-
- while true; do
- printf "\r ${orange}%s\e[0m " "${frames[spin_i]}"
- spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
- sleep "$interval"
- done
+ local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
+ local spin_i=0
+ local interval=0.1
+ printf "\e[?25l"
+
+ local color="${YWB}"
+
+ while true; do
+ printf "\r ${color}%s${CL}" "${frames[spin_i]}"
+ spin_i=$(((spin_i + 1) % ${#frames[@]}))
+ sleep "$interval"
+ done
}
# This function displays an informational message with a yellow color.
msg_info() {
- local msg="$1"
- echo -ne " ${HOLD} ${YW}${msg} "
- spinner &
- SPINNER_PID=$!
+ local msg="$1"
+ echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}"
+ spinner &
+ SPINNER_PID=$!
}
# This function displays a success message with a green color.
msg_ok() {
- if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
+ if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR}${CM} ${GN}${msg}${CL}"
+ echo -e "${BFR}${CM}${GN}${msg}${CL}"
}
# This function displays a error message with a red color.
msg_error() {
- if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
+ if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
printf "\e[?25h"
local msg="$1"
- echo -e "${BFR}${CROSS} ${RD}${msg}${CL}"
+ echo -e "${BFR}${CROSS}${RD}${msg}${CL}"
}
while true; do
- read -p "This will install ${APP} on ${hostname}. Proceed? (y/n): " yn
- case $yn in
- [Yy]*) break ;;
- [Nn]*) msg_info "Installation cancelled."; exit ;;
- *) msg_info "Please answer yes or no." ;;
- esac
+ read -p "This will install ${APP} on ${hostname}. Proceed? (y/n): " yn
+ case $yn in
+ [Yy]*) break ;;
+ [Nn]*)
+ msg_error "Installation cancelled."
+ exit
+ ;;
+ *) msg_error "Please answer yes or no." ;;
+ esac
done
if ! pveversion | grep -Eq "pve-manager/8.[0-3]"; then
@@ -118,17 +123,18 @@ msg_ok "Installed Dependencies"
msg_info "Setting up IP-Tag Scripts"
mkdir -p /opt/lxc-iptag
+msg_ok "Setup IP-Tag Scripts"
msg_info "Setup Default Config"
if [[ ! -f /opt/lxc-iptag/iptag.conf ]]; then
- cat < /opt/lxc-iptag/iptag.conf
+ cat </opt/lxc-iptag/iptag.conf
# Configuration file for LXC IP tagging
# List of allowed CIDRs
CIDR_LIST=(
- 192.168.0.0/16
- 100.64.0.0/10
- 10.0.0.0/8
+ 192.168.0.0/16
+ 100.64.0.0/10
+ 10.0.0.0/8
)
# Interval settings (in seconds)
@@ -137,14 +143,14 @@ FW_NET_INTERFACE_CHECK_INTERVAL=60
LXC_STATUS_CHECK_INTERVAL=-1
FORCE_UPDATE_INTERVAL=1800
EOF
- msg_ok "Setup default config"
+ msg_ok "Setup default config"
else
- msg_ok "Default config already exists"
+ msg_ok "Default config already exists"
fi
msg_info "Setup Main Function"
if [[ ! -f /opt/lxc-iptag/iptag ]]; then
- cat <<'EOF' > /opt/lxc-iptag/iptag
+ cat <<'EOF' >/opt/lxc-iptag/iptag
#!/bin/bash
# =============== CONFIGURATION =============== #
@@ -153,177 +159,176 @@ CONFIG_FILE="/opt/lxc-iptag/iptag.conf"
# Load the configuration file if it exists
if [ -f "$CONFIG_FILE" ]; then
- # shellcheck source=./lxc-iptag.conf
- source "$CONFIG_FILE"
+ # shellcheck source=./lxc-iptag.conf
+ source "$CONFIG_FILE"
fi
# Convert IP to integer for comparison
ip_to_int() {
- local ip="${1}"
- local a b c d
+ local ip="${1}"
+ local a b c d
- IFS=. read -r a b c d <<< "${ip}"
- echo "$((a << 24 | b << 16 | c << 8 | d))"
+ IFS=. read -r a b c d <<< "${ip}"
+ echo "$((a << 24 | b << 16 | c << 8 | d))"
}
# Check if IP is in CIDR
ip_in_cidr() {
- local ip="${1}"
- local cidr="${2}"
+ local ip="${1}"
+ local cidr="${2}"
- ip_int=$(ip_to_int "${ip}")
- netmask_int=$(ip_to_int "$(ipcalc -b "${cidr}" | grep Broadcast | awk '{print $2}')")
- masked_ip_int=$(( "${ip_int}" & "${netmask_int}" ))
- [[ ${ip_int} -eq ${masked_ip_int} ]] && return 0 || return 1
+ ip_int=$(ip_to_int "${ip}")
+ netmask_int=$(ip_to_int "$(ipcalc -b "${cidr}" | grep Broadcast | awk '{print $2}')")
+ masked_ip_int=$(( "${ip_int}" & "${netmask_int}" ))
+ [[ ${ip_int} -eq ${masked_ip_int} ]] && return 0 || return 1
}
# Check if IP is in any CIDRs
ip_in_cidrs() {
- local ip="${1}"
- local cidrs=()
+ local ip="${1}"
+ local cidrs=()
- mapfile -t cidrs < <(echo "${2}" | tr ' ' '\n')
- for cidr in "${cidrs[@]}"; do
- ip_in_cidr "${ip}" "${cidr}" && return 0
- done
+ mapfile -t cidrs < <(echo "${2}" | tr ' ' '\n')
+ for cidr in "${cidrs[@]}"; do
+ ip_in_cidr "${ip}" "${cidr}" && return 0
+ done
- return 1
+ return 1
}
# Check if IP is valid
is_valid_ipv4() {
- local ip=$1
- local regex="^([0-9]{1,3}\.){3}[0-9]{1,3}$"
-
- if [[ $ip =~ $regex ]]; then
- IFS='.' read -r -a parts <<< "$ip"
- for part in "${parts[@]}"; do
- if ! [[ $part =~ ^[0-9]+$ ]] || ((part < 0 || part > 255)); then
- return 1
- fi
- done
- return 0
- else
+ local ip=$1
+ local regex="^([0-9]{1,3}\.){3}[0-9]{1,3}$"
+
+ if [[ $ip =~ $regex ]]; then
+ IFS='.' read -r -a parts <<< "$ip"
+ for part in "${parts[@]}"; do
+ if ! [[ $part =~ ^[0-9]+$ ]] || ((part < 0 || part > 255)); then
return 1
- fi
+ fi
+ done
+ return 0
+ else
+ return 1
+ fi
}
lxc_status_changed() {
- current_lxc_status=$(pct list 2>/dev/null)
- if [ "${last_lxc_status}" == "${current_lxc_status}" ]; then
- return 1
- else
- last_lxc_status="${current_lxc_status}"
- return 0
- fi
+ current_lxc_status=$(pct list 2>/dev/null)
+ if [ "${last_lxc_status}" == "${current_lxc_status}" ]; then
+ return 1
+ else
+ last_lxc_status="${current_lxc_status}"
+ return 0
+ fi
}
fw_net_interface_changed() {
- current_net_interface=$(ifconfig | grep "^fw")
- if [ "${last_net_interface}" == "${current_net_interface}" ]; then
- return 1
- else
- last_net_interface="${current_net_interface}"
- return 0
- fi
+ current_net_interface=$(ifconfig | grep "^fw")
+ if [ "${last_net_interface}" == "${current_net_interface}" ]; then
+ return 1
+ else
+ last_net_interface="${current_net_interface}"
+ return 0
+ fi
}
# =============== MAIN =============== #
update_lxc_iptags() {
- vmid_list=$(pct list 2>/dev/null | grep -v VMID | awk '{print $1}')
- for vmid in ${vmid_list}; do
- last_tagged_ips=()
- current_valid_ips=()
- next_tags=()
-
- # Parse current tags
- mapfile -t current_tags < <(pct config "${vmid}" | grep tags | awk '{print $2}' | sed 's/;/\n/g')
- for current_tag in "${current_tags[@]}"; do
- if is_valid_ipv4 "${current_tag}"; then
- last_tagged_ips+=("${current_tag}")
- continue
- fi
- next_tags+=("${current_tag}")
- done
-
- # Get current IPs
- current_ips_full=$(lxc-info -n "${vmid}" -i | awk '{print $2}')
- for ip in ${current_ips_full}; do
- if is_valid_ipv4 "${ip}" && ip_in_cidrs "${ip}" "${CIDR_LIST[*]}"; then
- current_valid_ips+=("${ip}")
- next_tags+=("${ip}")
- fi
- done
-
- # Skip if no ip change
- if [[ "$(echo "${last_tagged_ips[@]}" | tr ' ' '\n' | sort -u)" == "$(echo "${current_valid_ips[@]}" | tr ' ' '\n' | sort -u)" ]]; then
- echo "Skipping ${vmid} cause ip no changes"
- continue
- fi
-
- # Set tags
- echo "Setting ${vmid} tags from ${current_tags[*]} to ${next_tags[*]}"
- pct set "${vmid}" -tags "$(IFS=';'; echo "${next_tags[*]}")"
+ vmid_list=$(pct list 2>/dev/null | grep -v VMID | awk '{print $1}')
+ for vmid in ${vmid_list}; do
+ last_tagged_ips=()
+ current_valid_ips=()
+ next_tags=()
+
+ # Parse current tags
+ mapfile -t current_tags < <(pct config "${vmid}" | grep tags | awk '{print $2}' | sed 's/;/\n/g')
+ for current_tag in "${current_tags[@]}"; do
+ if is_valid_ipv4 "${current_tag}"; then
+ last_tagged_ips+=("${current_tag}")
+ continue
+ fi
+ next_tags+=("${current_tag}")
done
-}
-check() {
- current_time=$(date +%s)
-
- time_since_last_lxc_status_check=$((current_time - last_lxc_status_check_time))
- if [[ "${LXC_STATUS_CHECK_INTERVAL}" -gt 0 ]] \
- && [[ "${time_since_last_lxc_status_check}" -ge "${STATUS_CHECK_INTERVAL}" ]]; then
- echo "Checking lxc status..."
- last_lxc_status_check_time=${current_time}
- if lxc_status_changed; then
- update_lxc_iptags
- last_update_time=${current_time}
- return
- fi
- fi
+ # Get current IPs
+ current_ips_full=$(lxc-info -n "${vmid}" -i | awk '{print $2}')
+ for ip in ${current_ips_full}; do
+ if is_valid_ipv4 "${ip}" && ip_in_cidrs "${ip}" "${CIDR_LIST[*]}"; then
+ current_valid_ips+=("${ip}")
+ next_tags+=("${ip}")
+ fi
+ done
- time_since_last_fw_net_interface_check=$((current_time - last_fw_net_interface_check_time))
- if [[ "${FW_NET_INTERFACE_CHECK_INTERVAL}" -gt 0 ]] \
- && [[ "${time_since_last_fw_net_interface_check}" -ge "${FW_NET_INTERFACE_CHECK_INTERVAL}" ]]; then
- echo "Checking fw net interface..."
- last_fw_net_interface_check_time=${current_time}
- if fw_net_interface_changed; then
- update_lxc_iptags
- last_update_time=${current_time}
- return
- fi
+ # Skip if no ip change
+ if [[ "$(echo "${last_tagged_ips[@]}" | tr ' ' '\n' | sort -u)" == "$(echo "${current_valid_ips[@]}" | tr ' ' '\n' | sort -u)" ]]; then
+ echo "Skipping ${vmid} cause ip no changes"
+ continue
fi
- time_since_last_update=$((current_time - last_update_time))
- if [ ${time_since_last_update} -ge ${FORCE_UPDATE_INTERVAL} ]; then
- echo "Force updating lxc iptags..."
- update_lxc_iptags
- last_update_time=${current_time}
- return
+ # Set tags
+ echo "Setting ${vmid} tags from ${current_tags[*]} to ${next_tags[*]}"
+ pct set "${vmid}" -tags "$(IFS=';'; echo "${next_tags[*]}")"
+ done
+}
+
+check() {
+ current_time=$(date +%s)
+
+ time_since_last_lxc_status_check=$((current_time - last_lxc_status_check_time))
+ if [[ "${LXC_STATUS_CHECK_INTERVAL}" -gt 0 ]] \
+ && [[ "${time_since_last_lxc_status_check}" -ge "${STATUS_CHECK_INTERVAL}" ]]; then
+ echo "Checking lxc status..."
+ last_lxc_status_check_time=${current_time}
+ if lxc_status_changed; then
+ update_lxc_iptags
+ last_update_time=${current_time}
+ return
fi
+ fi
+
+ time_since_last_fw_net_interface_check=$((current_time - last_fw_net_interface_check_time))
+ if [[ "${FW_NET_INTERFACE_CHECK_INTERVAL}" -gt 0 ]] \
+ && [[ "${time_since_last_fw_net_interface_check}" -ge "${FW_NET_INTERFACE_CHECK_INTERVAL}" ]]; then
+ echo "Checking fw net interface..."
+ last_fw_net_interface_check_time=${current_time}
+ if fw_net_interface_changed; then
+ update_lxc_iptags
+ last_update_time=${current_time}
+ return
+ fi
+ fi
+
+ time_since_last_update=$((current_time - last_update_time))
+ if [ ${time_since_last_update} -ge ${FORCE_UPDATE_INTERVAL} ]; then
+ echo "Force updating lxc iptags..."
+ update_lxc_iptags
+ last_update_time=${current_time}
+ return
+ fi
}
# main: Set the IP tags for all LXC containers
main() {
- while true; do
- check
- sleep "${LOOP_INTERVAL}"
- done
+ while true; do
+ check
+ sleep "${LOOP_INTERVAL}"
+ done
}
main
EOF
- msg_ok "Setup Main Function"
+ msg_ok "Setup Main Function"
else
- msg_ok "Main Function already exists"
+ msg_ok "Main Function already exists"
fi
-chmod +x /opt/lxc-iptag/iptag
+chmod +x /opt/lxc-iptag/iptag
msg_info "Creating Service"
if [[ ! -f /lib/systemd/system/iptag.service ]]; then
- echo "Systemd service file not found. Creating it now..."
- cat < /lib/systemd/system/iptag.service
+ cat </lib/systemd/system/iptag.service
[Unit]
Description=LXC IP-Tag service
After=network.target
@@ -336,9 +341,9 @@ Restart=always
[Install]
WantedBy=multi-user.target
EOF
- msg_ok "Created Service"
+ msg_ok "Created Service"
else
- msg_ok "Service already exists."
+ msg_ok "Service already exists."
fi
msg_ok "Setup IP-Tag Scripts"
@@ -347,5 +352,5 @@ msg_info "Starting Service"
systemctl daemon-reload &>/dev/null
systemctl enable -q --now iptag.service &>/dev/null
msg_ok "Started Service"
-
+SPINNER_PID=""
echo -e "\n${APP} installation completed successfully! ${CL}\n"
From 7261affcc2fd323007ed07c177fde3897e252860 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Tue, 17 Dec 2024 15:32:44 +0100
Subject: [PATCH 069/286] Update CHANGELOG.md (#877)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 359a349fc79..5a805eb0704 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- fix spinner on lxc-ip-tag [@MickLesk](https://github.com/MickLesk) ([#876](https://github.com/community-scripts/ProxmoxVE/pull/876))
- Fix Keycloak Installation [@MickLesk](https://github.com/MickLesk) ([#874](https://github.com/community-scripts/ProxmoxVE/pull/874))
- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
From a6f377121496c9c7fa8b12318f5608ac9fed310c Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Tue, 17 Dec 2024 16:07:07 +0100
Subject: [PATCH 070/286] calculate terminal size for header_info (#879)
---
misc/build.func | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index 1907b391396..bc15bd0b706 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -169,7 +169,8 @@ header_info() {
return 1
fi
- ascii_art=$(figlet -f slant "$APP")
+ term_width=$(tput cols)
+ ascii_art=$(figlet -f slant -w "$term_width" "$APP")
clear
cat <
Date: Tue, 17 Dec 2024 16:07:20 +0100
Subject: [PATCH 071/286] Small Changes to the PR Template (#862)
* Small Changes to the PR Template
* Changes
* Add hint to remove unnedeed lines
---
.github/pull_request_template.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index e6dbcfddb19..8e2f5b0bc42 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -7,13 +7,13 @@
## ✍️ Description
Provide a summary of the changes made and/or reference the issue being addressed.
--
+
- - -
-
+**_Please remove unneeded lines!_**
- Related Issue: # (issue number, if applicable)
- Related PR: # (if applicable)
-- Related Discussion: [Link](https://github.com/community-scripts/ProxmoxVE/discussions)
+- Related Discussion: []()(if applicable)
---
From d65d64e59e67f272df8c4d5527b709dde921f242 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Tue, 17 Dec 2024 16:08:58 +0100
Subject: [PATCH 072/286] Update CHANGELOG.md (#880)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a805eb0704..0d8525138e4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,8 +26,13 @@ Do not break established syntax in this file, as it is automatically updated by
- Fix Keycloak Installation [@MickLesk](https://github.com/MickLesk) ([#874](https://github.com/community-scripts/ProxmoxVE/pull/874))
- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
+### 🧰 Maintenance
+
+- Small Changes to the PR Template [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#862](https://github.com/community-scripts/ProxmoxVE/pull/862))
+
### ❔ Unlabelled
+- calculate terminal size for header_info [@MickLesk](https://github.com/MickLesk) ([#879](https://github.com/community-scripts/ProxmoxVE/pull/879))
- Fix header creation with figlet for alpine [@MickLesk](https://github.com/MickLesk) ([#869](https://github.com/community-scripts/ProxmoxVE/pull/869))
## 2024-12-16
From 9efb421b5cbdbae53df3a41556954530576dcc73 Mon Sep 17 00:00:00 2001
From: mneten
Date: Tue, 17 Dec 2024 13:09:01 -0700
Subject: [PATCH 073/286] Change Port (#884)
simply changed port from 8086 to 8096 in line 50
---
ct/jellyfin.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/jellyfin.sh b/ct/jellyfin.sh
index 84d8e205396..bc5ec5400df 100644
--- a/ct/jellyfin.sh
+++ b/ct/jellyfin.sh
@@ -47,4 +47,4 @@ 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}:8086${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8096${CL}"
From f19936686772c7bb207b7978debd7d7a1705c9f3 Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Tue, 17 Dec 2024 21:11:09 +0100
Subject: [PATCH 074/286] Fix Alpine-Nextcloud: Bump PHP Version to 8.3 (#865)
* Fix Alpine Nextcloud: Bump PHP Version to 8.3
* Fix Alpine-Nextcloud: Bump PHP Version to 8.3
* Replace deprecated mysql_install_db
---
install/alpine-nextcloud-install.sh | 42 +++++++++++++++--------------
1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/install/alpine-nextcloud-install.sh b/install/alpine-nextcloud-install.sh
index 6d611ba3a16..665e899219a 100644
--- a/install/alpine-nextcloud-install.sh
+++ b/install/alpine-nextcloud-install.sh
@@ -24,18 +24,18 @@ $STD apk add nginx
msg_ok "Installed Dependencies"
msg_info "Installing PHP/Redis"
-$STD apk add php82-opcache
-$STD apk add php82-redis
-$STD apk add php82-apcu
-$STD apk add php82-fpm
-$STD apk add php82-sysvsem
-$STD apk add php82-ftp
-$STD apk add php82-pecl-smbclient
-$STD apk add php82-pecl-imagick
-$STD apk add php82-pecl-vips
-$STD apk add php82-exif
-$STD apk add php82-sodium
-$STD apk add php82-bz2
+$STD apk add php83-opcache
+$STD apk add php83-redis
+$STD apk add php83-apcu
+$STD apk add php83-fpm
+$STD apk add php83-sysvsem
+$STD apk add php83-ftp
+$STD apk add php83-pecl-smbclient
+$STD apk add php83-pecl-imagick
+$STD apk add php83-pecl-vips
+$STD apk add php83-exif
+$STD apk add php83-sodium
+$STD apk add php83-bz2
$STD apk add redis
msg_ok "Installed PHP/Redis"
@@ -50,7 +50,7 @@ echo -e "Nextcloud Database Username: \e[32m$DB_USER\e[0m" >>~/nextcloud.creds
echo -e "Nextcloud Database Password: \e[32m$DB_PASS\e[0m" >>~/nextcloud.creds
echo -e "Nextcloud Database Name: \e[32m$DB_NAME\e[0m" >>~/nextcloud.creds
$STD apk add nextcloud-mysql mariadb mariadb-client
-$STD mysql_install_db --user=mysql --datadir=/var/lib/mysql
+$STD mariadb-install-db --user=mysql --datadir=/var/lib/mysql
$STD service mariadb start
$STD rc-update add mariadb
mysql -uroot -p"$ADMIN_PASS" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '$ADMIN_PASS' WITH GRANT OPTION; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; CREATE DATABASE $DB_NAME; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost.localdomain' IDENTIFIED BY '$DB_PASS'; FLUSH PRIVILEGES;"
@@ -134,11 +134,12 @@ server {
location ^~ /.well-known/nodeinfo { return 301 /index.php/.well-known/nodeinfo; }
}
EOF
-sed -i -e 's|memory_limit = 128M|memory_limit = 512M|; $aapc.enable_cli=1' /etc/php82/php.ini
-sed -i -E '/^php_admin_(flag|value)\[opcache/s/^/;/' /etc/php82/php-fpm.d/nextcloud.conf
+sed -i -e 's|memory_limit = 128M|memory_limit = 512M|; $aapc.enable_cli=1' /etc/php83/php.ini
+sed -i -E '/^php_admin_(flag|value)\[opcache/s/^/;/' /etc/php83/php-fpm.d/nextcloud.conf
msg_ok "Installed Nextcloud"
msg_info "Adding Additional Nextcloud Packages"
+$STD apk add nextcloud-occ
$STD apk add nextcloud-default-apps
$STD apk add nextcloud-activity
$STD apk add nextcloud-admin_audit
@@ -163,9 +164,10 @@ msg_ok "Added Additional Nextcloud Packages"
msg_info "Starting Services"
$STD rc-service redis start
$STD rc-update add redis default
-$STD rc-service php-fpm82 start
+$STD rc-service php-fpm83 start
chown -R nextcloud:www-data /var/log/nextcloud/
-$STD rc-service php-fpm82 restart
+chown -R nextcloud:www-data /usr/share/webapps/nextcloud/
+$STD rc-service php-fpm83 restart
$STD rc-service nginx start
$STD rc-service nextcloud start
$STD rc-update add nginx default
@@ -175,16 +177,16 @@ msg_ok "Started Services"
msg_info "Start Nextcloud Setup-Wizard"
echo -e "export VISUAL=nano\nexport EDITOR=nano" >>/etc/profile
cd /usr/share/webapps/nextcloud
-$STD su nextcloud -s /bin/sh -c "php82 occ maintenance:install \
+$STD su nextcloud -s /bin/sh -c "php83 occ maintenance:install \
--database='mysql' --database-name $DB_NAME \
--database-user '$DB_USER' --database-pass '$DB_PASS' \
--admin-user '$ADMIN_USER' --admin-pass '$ADMIN_PASS' \
--data-dir '/var/lib/nextcloud/data'"
-$STD su nextcloud -s /bin/sh -c 'php82 occ background:cron'
+$STD su nextcloud -s /bin/sh -c 'php83 occ background:cron'
rm -rf /usr/share/webapps/nextcloud/apps/serverinfo
IP4=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
sed -i "/0 => \'localhost\',/a \ \1 => '$IP4'," /usr/share/webapps/nextcloud/config/config.php
-su nextcloud -s /bin/sh -c 'php82 -f /usr/share/webapps/nextcloud/cron.php'
+su nextcloud -s /bin/sh -c 'php83 -f /usr/share/webapps/nextcloud/cron.php'
msg_ok "Finished Nextcloud Setup-Wizard"
motd_ssh
From 3e60e43d05b06801baa43087441d7e18431998b1 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Tue, 17 Dec 2024 21:12:16 +0100
Subject: [PATCH 075/286] Update CHANGELOG.md (#885)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0d8525138e4..11cf6cd9ad0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,8 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Fix Alpine-Nextcloud: Bump PHP Version to 8.3 [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#865](https://github.com/community-scripts/ProxmoxVE/pull/865))
+- Correction of Jellyfin CT Port [@mneten](https://github.com/mneten) ([#884](https://github.com/community-scripts/ProxmoxVE/pull/884))
- fix spinner on lxc-ip-tag [@MickLesk](https://github.com/MickLesk) ([#876](https://github.com/community-scripts/ProxmoxVE/pull/876))
- Fix Keycloak Installation [@MickLesk](https://github.com/MickLesk) ([#874](https://github.com/community-scripts/ProxmoxVE/pull/874))
- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
From 29dcf19c04c7f71161e8a11d7d8c4e173f97cbe0 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Wed, 18 Dec 2024 08:52:27 +0100
Subject: [PATCH 076/286] Fix spaces in TAGS there breaking install
---
ct/kimai.sh | 2 +-
ct/meshcentral.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ct/kimai.sh b/ct/kimai.sh
index c5a974807f6..3d499a73365 100644
--- a/ct/kimai.sh
+++ b/ct/kimai.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Kimai"
-var_tags="time tracking"
+var_tags="time-tracking"
var_cpu="2"
var_ram="2048"
var_disk="7"
diff --git a/ct/meshcentral.sh b/ct/meshcentral.sh
index fb1a9717b7b..1545d004c65 100644
--- a/ct/meshcentral.sh
+++ b/ct/meshcentral.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="MeshCentral"
-var_tags="remote management"
+var_tags="remote-management"
var_cpu="1"
var_ram="512"
var_disk="2"
From 07508d10d0a8966a7f4de2bcb1086bc76610195a Mon Sep 17 00:00:00 2001
From: Paul
Date: Wed, 18 Dec 2024 21:03:30 +1300
Subject: [PATCH 077/286] Moved webmin to server & networking, it is not a file
management tool. (#891)
---
json/webmin.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/json/webmin.json b/json/webmin.json
index 9f05d09365d..3b5694b86a7 100644
--- a/json/webmin.json
+++ b/json/webmin.json
@@ -2,7 +2,7 @@
"name": "Webmin System Administration",
"slug": "webmin",
"categories": [
- 16
+ 11
],
"date_created": "2024-05-02",
"type": "misc",
From cd374c296f21df0a6c0fe670e85c0cb88f0268a4 Mon Sep 17 00:00:00 2001
From: Paul
Date: Wed, 18 Dec 2024 21:03:41 +1300
Subject: [PATCH 078/286] Add new category and put coding and ai into it.
(#890)
---
json/code-server.json | 2 +-
json/flowiseai.json | 2 +-
json/forgejo.json | 2 +-
json/gitea.json | 2 +-
json/metadata.json | 3 ++-
json/openwebui.json | 2 +-
6 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/json/code-server.json b/json/code-server.json
index 9a4007e6374..03e38d0dfc2 100644
--- a/json/code-server.json
+++ b/json/code-server.json
@@ -2,7 +2,7 @@
"name": "VS Code Server",
"slug": "code-server",
"categories": [
- 16
+ 19
],
"date_created": "2024-05-02",
"type": "misc",
diff --git a/json/flowiseai.json b/json/flowiseai.json
index 3813bda04a4..b2f99b5c788 100644
--- a/json/flowiseai.json
+++ b/json/flowiseai.json
@@ -2,7 +2,7 @@
"name": "FlowiseAI",
"slug": "flowiseai",
"categories": [
- 0
+ 19
],
"date_created": "2024-05-02",
"type": "ct",
diff --git a/json/forgejo.json b/json/forgejo.json
index 729fa26d9cb..3a16cf9a5d5 100644
--- a/json/forgejo.json
+++ b/json/forgejo.json
@@ -2,7 +2,7 @@
"name": "Forgejo",
"slug": "forgejo",
"categories": [
- 16
+ 19
],
"date_created": "2024-06-12",
"type": "ct",
diff --git a/json/gitea.json b/json/gitea.json
index 65143b0d279..17d2a29c273 100644
--- a/json/gitea.json
+++ b/json/gitea.json
@@ -2,7 +2,7 @@
"name": "Gitea",
"slug": "gitea",
"categories": [
- 16
+ 19
],
"date_created": "2024-07-26",
"type": "ct",
diff --git a/json/metadata.json b/json/metadata.json
index 05b5ab1e6b6..d915465253a 100644
--- a/json/metadata.json
+++ b/json/metadata.json
@@ -5,11 +5,12 @@
{"name": "AdBlocker & DNS", "id": 13, "sort_order": 2.0},
{"name": "*Arr Suite", "id": 18, "sort_order": 3.0},
{"name": "Automation", "id": 3, "sort_order": 4.0},
+ {"name": "Coding & AI", "id": 19, "sort_order": 5.0},
{"name": "Dashboards", "id": 15, "sort_order": 5.0},
{"name": "Database", "id": 5, "sort_order": 6.0},
{"name": "Docker & Kubernetes", "id": 8, "sort_order": 7.0},
{"name": "Document & Notes", "id": 14, "sort_order": 8.0},
- {"name": "File & Code", "id": 16, "sort_order": 9.0},
+ {"name": "File & Downloads", "id": 16, "sort_order": 9.0},
{"name": "Home Assistant", "id": 2, "sort_order": 10.0},
{"name": "Media & Photo", "id": 12, "sort_order": 11.0},
{"name": "Monitoring & Analytics", "id": 7, "sort_order": 12.0},
diff --git a/json/openwebui.json b/json/openwebui.json
index 1a3c2017797..bcc5030ee91 100644
--- a/json/openwebui.json
+++ b/json/openwebui.json
@@ -2,7 +2,7 @@
"name": "Open WebUI",
"slug": "openwebui",
"categories": [
- 0
+ 19
],
"date_created": "2024-10-24",
"type": "ct",
From 22c0757b4dac12cace463823e1e3b50f493087a1 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Wed, 18 Dec 2024 09:05:39 +0100
Subject: [PATCH 079/286] Update CHANGELOG.md (#892)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 11cf6cd9ad0..a4887cf3639 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,15 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-18
+
+### Changed
+
+### 🌐 Website
+
+- New Metadata Category: "Coding & AI" [@newzealandpaul](https://github.com/newzealandpaul) ([#890](https://github.com/community-scripts/ProxmoxVE/pull/890))
+- Moved Webmin to "Server & Networking" [@newzealandpaul](https://github.com/newzealandpaul) ([#891](https://github.com/community-scripts/ProxmoxVE/pull/891))
+
## 2024-12-17
### Changed
From d0f2c71038e8b7a9943b139331664e7be3354fc3 Mon Sep 17 00:00:00 2001
From: bvdberg01 <74251551+bvdberg01@users.noreply.github.com>
Date: Wed, 18 Dec 2024 12:05:30 +0100
Subject: [PATCH 080/286] New script: Part-DB LXC (#591)
* New script: Part-DB LXC
* Improved based on PR feedback MickLesk
* Migrate header & footer to latest version
* formatting and remove old header
* formatting
* fix json
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
ct/part-db.sh | 85 ++++++++++++++++++++++++++++
install/part-db-install.sh | 112 +++++++++++++++++++++++++++++++++++++
json/part-db.json | 39 +++++++++++++
3 files changed, 236 insertions(+)
create mode 100644 ct/part-db.sh
create mode 100644 install/part-db-install.sh
create mode 100644 json/part-db.json
diff --git a/ct/part-db.sh b/ct/part-db.sh
new file mode 100644
index 00000000000..bf7217e20e7
--- /dev/null
+++ b/ct/part-db.sh
@@ -0,0 +1,85 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: bvdberg01
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://docs.part-db.de/
+
+# App Default Values
+APP="Part-DB"
+var_tags="inventory;parts"
+var_cpu="2"
+var_ram="1024"
+var_disk="8"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/partdb ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/Part-DB/Part-DB-server/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
+ msg_info "Stopping Service"
+ systemctl stop apache2
+ msg_ok "Stopped Service"
+
+ msg_info "Updating $APP to v${RELEASE}"
+ cd /opt
+ mv /opt/partdb/ /opt/partdb-backup
+ wget -q "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q "v${RELEASE}.zip"
+ mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb
+
+ cd /opt/partdb/
+ cp -r "/opt/partdb-backup/.env.local" /opt/partdb/
+ cp -r "/opt/partdb-backup/public/media" /opt/partdb/public/
+ cp -r "/opt/partdb-backup/config/banner.md" /opt/partdb/config/
+
+ export COMPOSER_ALLOW_SUPERUSER=1
+ composer install --no-dev -o --no-interaction &>/dev/null
+ yarn install &>/dev/null
+ yarn build &>/dev/null
+ php bin/console cache:clear &>/dev/null
+ php bin/console doctrine:migrations:migrate -n &>/dev/null
+ chown -R www-data:www-data /opt/partdb
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated $APP to v${RELEASE}"
+
+ msg_info "Starting Service"
+ systemctl start apache2
+ msg_ok "Started Service"
+
+ msg_info "Cleaning up"
+ rm -r "/opt/v${RELEASE}.zip"
+ rm -r /opt/partdb-backup
+ msg_ok "Cleaned"
+ msg_ok "Updated Successfully"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}"
+ 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}${CL}"
diff --git a/install/part-db-install.sh b/install/part-db-install.sh
new file mode 100644
index 00000000000..020d9e55ae2
--- /dev/null
+++ b/install/part-db-install.sh
@@ -0,0 +1,112 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: bvdberg01
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ curl \
+ sudo \
+ mc \
+ zip \
+ ca-certificates \
+ software-properties-common \
+ apt-transport-https \
+ lsb-release \
+ php-{opcache,curl,gd,mbstring,xml,bcmath,intl,zip,xsl,pgsql} \
+ libapache2-mod-php \
+ composer \
+ postgresql
+msg_ok "Installed Dependencies"
+
+msg_info "Setting up PostgreSQL"
+DB_NAME=partdb
+DB_USER=partdb
+DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
+$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
+$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;"
+{
+echo "Part-DB Credentials"
+echo "Part-DB Database User: $DB_USER"
+echo "Part-DB Database Password: $DB_PASS"
+echo "Part-DB Database Name: $DB_NAME"
+} >> ~/partdb.creds
+msg_ok "Set up PostgreSQL"
+
+msg_info "Setting up Node.js/Yarn"
+mkdir -p /etc/apt/keyrings
+curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
+echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
+$STD apt-get update
+$STD apt-get install -y nodejs
+$STD npm install -g npm@latest
+$STD npm install -g yarn
+msg_ok "Installed Node.js/Yarn"
+
+msg_info "Installing Part-DB (Patience)"
+cd /opt
+RELEASE=$(curl -s https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+wget -q "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip"
+unzip -q "v${RELEASE}.zip"
+mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb
+
+cd /opt/partdb/
+cp .env .env.local
+sed -i "s|DATABASE_URL=\"sqlite:///%kernel.project_dir%/var/app.db\"|DATABASE_URL=\"postgresql://${DB_USER}:${DB_PASS}@127.0.0.1:5432/${DB_NAME}?serverVersion=12.19&charset=utf8\"|" .env.local
+
+export COMPOSER_ALLOW_SUPERUSER=1
+$STD composer install --no-dev -o --no-interaction
+$STD yarn install
+$STD yarn build
+$STD php bin/console cache:clear
+php bin/console doctrine:migrations:migrate -n > ~/database-migration-output
+chown -R www-data:www-data /opt/partdb
+ADMIN_PASS=$(grep -oP 'The initial password for the "admin" user is: \K\w+' ~/database-migration-output)
+{
+echo ""
+echo "Part-DB Admin User: admin"
+echo "Part-DB Admin Password: $ADMIN_PASS"
+} >> ~/partdb.creds
+echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
+msg_ok "Installed Part-DB"
+
+msg_info "Creating Service"
+cat </etc/apache2/sites-available/partdb.conf
+
+ ServerName partdb
+ DocumentRoot /opt/partdb/public
+
+ Options FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+ ErrorLog /var/log/apache2/partdb_error.log
+ CustomLog /var/log/apache2/partdb_access.log combined
+
+EOF
+$STD a2ensite partdb
+$STD a2enmod rewrite
+$STD a2dissite 000-default.conf
+$STD systemctl reload apache2
+msg_ok "Created Service"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+rm -rf ~/database-migration-output
+rm -rf "/opt/v${RELEASE}.zip"
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
diff --git a/json/part-db.json b/json/part-db.json
new file mode 100644
index 00000000000..3a8d8d4647b
--- /dev/null
+++ b/json/part-db.json
@@ -0,0 +1,39 @@
+{
+ "name": "Part-DB",
+ "slug": "part-db",
+ "categories": [
+ 0
+ ],
+ "date_created": "2024-12-18",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 80,
+ "documentation": "https://docs.part-db.de/",
+ "website": "https://github.com/Part-DB/Part-DB-server",
+ "logo": "https://avatars.githubusercontent.com/u/36010898?s=48&v=4",
+ "description": "Part-DB is an Open source inventory management system for your electronic components",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/part-db.sh",
+ "resources": {
+ "cpu": 2,
+ "ram": 1024,
+ "hdd": 8,
+ "os": "debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": [
+ {
+ "text": "Show login and database credentials: `cat part-db.creds`",
+ "type": "info"
+ }
+ ]
+}
From 17eaedf3353fe708a9c3c26477a6d0deec8ed9f7 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Wed, 18 Dec 2024 12:09:28 +0100
Subject: [PATCH 081/286] Update CHANGELOG.md (#896)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a4887cf3639..b3c7c17c2f8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,10 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### ✨ New Scripts
+
+- New script: Part-DB LXC [@bvdberg01](https://github.com/bvdberg01) ([#591](https://github.com/community-scripts/ProxmoxVE/pull/591))
+
### 🌐 Website
- New Metadata Category: "Coding & AI" [@newzealandpaul](https://github.com/newzealandpaul) ([#890](https://github.com/community-scripts/ProxmoxVE/pull/890))
From 9236f97009f4a442b0198dc77eabbbfc07f42636 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20B=C3=A9dard-Couture?=
Date: Wed, 18 Dec 2024 09:40:13 -0500
Subject: [PATCH 082/286] Remove SSE 4.2 from instruction set supporting
OpenVino. Although the docs says it supports it, many users have reported it
not working without AVX. (#902)
---
install/frigate-install.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/install/frigate-install.sh b/install/frigate-install.sh
index 3eda5afd42f..649e5ffae27 100644
--- a/install/frigate-install.sh
+++ b/install/frigate-install.sh
@@ -104,8 +104,8 @@ fi
echo "tmpfs /tmp/cache tmpfs defaults 0 0" >> /etc/fstab
msg_ok "Installed Frigate $RELEASE"
-if grep -q -o -m1 -E 'avx[^ ]* | sse4_2' /proc/cpuinfo; then
- msg_ok "AVX or SSE 4.2 Support Detected"
+if grep -q -o -m1 -E 'avx[^ ]*' /proc/cpuinfo; then
+ msg_ok "AVX Support Detected"
msg_info "Installing Openvino Object Detection Model (Resilience)"
$STD pip install -r /opt/frigate/docker/main/requirements-ov.txt
cd /opt/frigate/models
From fe3faccc42a29360c8fee19682e11e1b877985f1 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Wed, 18 Dec 2024 15:41:53 +0100
Subject: [PATCH 083/286] Update CHANGELOG.md (#903)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b3c7c17c2f8..8914dc11ffe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,10 @@ Do not break established syntax in this file, as it is automatically updated by
- New script: Part-DB LXC [@bvdberg01](https://github.com/bvdberg01) ([#591](https://github.com/community-scripts/ProxmoxVE/pull/591))
+### 🚀 Updated Scripts
+
+- [Frigate] Remove SSE 4.2 from instruction set supporting OpenVino [@remz1337](https://github.com/remz1337) ([#902](https://github.com/community-scripts/ProxmoxVE/pull/902))
+
### 🌐 Website
- New Metadata Category: "Coding & AI" [@newzealandpaul](https://github.com/newzealandpaul) ([#890](https://github.com/community-scripts/ProxmoxVE/pull/890))
From 056d8902fbfe345337ff5dfaa6f5e75455c5bc14 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Wed, 18 Dec 2024 15:52:44 +0100
Subject: [PATCH 084/286] Fix Kernel-Clean for Proxmox 8.x (#904)
---
misc/kernel-clean.sh | 77 +++++++++++++++++++++++++++++++++++---------
1 file changed, 61 insertions(+), 16 deletions(-)
diff --git a/misc/kernel-clean.sh b/misc/kernel-clean.sh
index adee9d3fa22..058ed240324 100644
--- a/misc/kernel-clean.sh
+++ b/misc/kernel-clean.sh
@@ -16,6 +16,8 @@ function header_info {
EOF
}
+
+# Color variables for output
YW=$(echo "\033[33m")
RD=$(echo "\033[01;31m")
GN=$(echo "\033[1;92m")
@@ -23,10 +25,8 @@ CL=$(echo "\033[m")
BFR="\\r\\033[K"
HOLD="-"
CM="${GN}✓${CL}"
-current_kernel=$(uname -r)
-available_kernels=$(dpkg --list | grep 'kernel-.*-pve' | awk '{print $2}' | grep -v "$current_kernel" | sort -V)
-header_info
+# Functions for logging messages
function msg_info() {
local msg="$1"
echo -ne " ${HOLD} ${YW}${msg}..."
@@ -37,39 +37,84 @@ function msg_ok() {
echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
}
-whiptail --backtitle "Proxmox VE Helper Scripts" --title "Proxmox VE Kernel Clean" --yesno "This will Clean Unused Kernel Images, USE AT YOUR OWN RISK. Proceed?" 10 68 || exit
+# Detect current kernel
+current_kernel=$(uname -r)
+
+# Detect all installed kernels except the current one
+available_kernels=$(dpkg --list | grep 'kernel-.*-pve' | awk '{print $2}' | grep -v "$current_kernel" | sort -V)
+
+header_info
+
+# If no old kernels are available, exit with a message
if [ -z "$available_kernels" ]; then
- whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Old Kernels" --msgbox "It appears there are no old Kernels on your system. \nCurrent kernel ($current_kernel)." 10 68
+ whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Old Kernels" \
+ --msgbox "It appears there are no old kernels on your system.\nCurrent kernel: $current_kernel" 10 68
echo "Exiting..."
sleep 2
clear
exit
fi
- KERNEL_MENU=()
- MSG_MAX_LENGTH=0
+
+# Prepare kernel options for selection
+KERNEL_MENU=()
while read -r TAG ITEM; do
OFFSET=2
- ((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=${#ITEM}+OFFSET
+ MSG_MAX_LENGTH=$((MSG_MAX_LENGTH < ${#ITEM} + OFFSET ? ${#ITEM} + OFFSET : MSG_MAX_LENGTH))
KERNEL_MENU+=("$TAG" "$ITEM " "OFF")
done < <(echo "$available_kernels")
-remove_kernels=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Current Kernel $current_kernel" --checklist "\nSelect Kernels to remove:\n" 16 $((MSG_MAX_LENGTH + 58)) 6 "${KERNEL_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit
+# Display checklist to select kernels for removal
+remove_kernels=$(whiptail --backtitle "Proxmox VE Helper Scripts" \
+ --title "Current Kernel: $current_kernel" \
+ --checklist "\nSelect kernels to remove:\n" \
+ 16 $((MSG_MAX_LENGTH + 58)) 6 "${KERNEL_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit
+
+# Exit if no kernel was selected
[ -z "$remove_kernels" ] && {
- whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Kernel Selected" --msgbox "It appears that no Kernel was selected" 10 68
+ whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Kernel Selected" \
+ --msgbox "It appears no kernel was selected." 10 68
echo "Exiting..."
sleep 2
clear
exit
}
-whiptail --backtitle "Proxmox VE Helper Scripts" --title "Remove Kernels" --yesno "Would you like to remove the $(echo $remove_kernels | awk '{print NF}') previously selected Kernels?" 10 68 || exit
-msg_info "Removing ${CL}${RD}$(echo $remove_kernels | awk '{print NF}') ${CL}${YW}old Kernels${CL}"
-/usr/bin/apt purge -y $remove_kernels >/dev/null 2>&1
-msg_ok "Successfully Removed Kernels"
+# Confirm removal
+whiptail --backtitle "Proxmox VE Helper Scripts" --title "Remove Kernels" \
+ --yesno "Would you like to remove the $(echo $remove_kernels | awk '{print NF}') selected kernels?" 10 68 || exit
+# Process kernel removal
+msg_info "Removing ${RD}$(echo $remove_kernels | awk '{print NF}') ${YW}old kernels${CL}"
+for kernel in $remove_kernels; do
+ if [[ $kernel == *"-signed" ]]; then
+ # Handle signed kernels with dependencies
+ touch /please-remove-proxmox-ve # Temporarily bypass Proxmox warnings
+ if sudo apt-get purge -y "$kernel" >/dev/null 2>&1; then
+ msg_ok "Removed kernel: $kernel"
+ else
+ msg_info "Failed to remove kernel: $kernel. Check dependencies or manual removal."
+ fi
+ rm -f /please-remove-proxmox-ve # Clean up bypass file
+ else
+ # Standard kernel removal
+ if sudo apt-get purge -y "$kernel" >/dev/null 2>&1; then
+ msg_ok "Removed kernel: $kernel"
+ else
+ msg_info "Failed to remove kernel: $kernel. Check dependencies or manual removal."
+ fi
+ fi
+ sleep 1
+done
+
+# Update GRUB configuration
msg_info "Updating GRUB"
-/usr/sbin/update-grub >/dev/null 2>&1
-msg_ok "Successfully Updated GRUB"
+if /usr/sbin/update-grub >/dev/null 2>&1; then
+ msg_ok "GRUB updated successfully"
+else
+ msg_info "Failed to update GRUB"
+fi
+
+# Completion message
msg_info "Exiting"
sleep 2
msg_ok "Finished"
From a9a640bb758300d523cd1d9269f8f59cb6f1e31f Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Wed, 18 Dec 2024 15:53:19 +0100
Subject: [PATCH 085/286] Update CHANGELOG.md (#905)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8914dc11ffe..38ece4093c9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Fix Kernel-Clean for Proxmox 8.x [@MickLesk](https://github.com/MickLesk) ([#904](https://github.com/community-scripts/ProxmoxVE/pull/904))
- [Frigate] Remove SSE 4.2 from instruction set supporting OpenVino [@remz1337](https://github.com/remz1337) ([#902](https://github.com/community-scripts/ProxmoxVE/pull/902))
### 🌐 Website
From 6f96aebc271d190b1854a275a490b8707ec89cf2 Mon Sep 17 00:00:00 2001
From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com>
Date: Thu, 19 Dec 2024 00:16:54 -0800
Subject: [PATCH 086/286] Enhance Tooltip component by adding CircleHelp icon
and fix instructions in script component (#910)
* Enhance Tooltip component by adding CircleHelp icon and adjusting layout. Updated TooltipContent max width for better display.
* Refactor ScriptItem and InstallCommand components to improve conditional rendering based on item type. Updated text to clarify usage instructions for 'misc' type scripts.
---
frontend/src/app/scripts/_components/ScriptItem.tsx | 2 +-
.../_components/ScriptItems/InstallCommand.tsx | 11 ++++++-----
.../app/scripts/_components/ScriptItems/Tooltips.tsx | 7 +++++--
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/frontend/src/app/scripts/_components/ScriptItem.tsx b/frontend/src/app/scripts/_components/ScriptItem.tsx
index 835fce57698..fb9e64e0b85 100644
--- a/frontend/src/app/scripts/_components/ScriptItem.tsx
+++ b/frontend/src/app/scripts/_components/ScriptItem.tsx
@@ -81,7 +81,7 @@ function ScriptItem({
- How to {item.type ? "install" : "use"}
+ How to {item.type == "misc" ? "use" : "install"}
diff --git a/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx b/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx
index 58525f6b4ef..26d941cf395 100644
--- a/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx
+++ b/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx
@@ -28,15 +28,16 @@ export default function InstallCommand({ item }: { item: Script }) {
time and minimal system resource usage. You are also obliged to
adhere to updates provided by the package maintainer.
>
- ) : item.type ? (
+ ) : item.type == "misc" ? (
<>
- To create a new Proxmox VE {item.name}{" "}
- {getDisplayValueFromType(item.type)}, run the command below in the
- Proxmox VE Shell.
+ To use the {item.name} script, run the command below in the shell.
>
) : (
<>
- To use the {item.name} script, run the command below in the shell.
+ {" "}
+ To create a new Proxmox VE {item.name}{" "}
+ {getDisplayValueFromType(item.type)}, run the command below in the
+ Proxmox VE Shell.
>
)}
diff --git a/frontend/src/app/scripts/_components/ScriptItems/Tooltips.tsx b/frontend/src/app/scripts/_components/ScriptItems/Tooltips.tsx
index 7e70b68e996..9adb58b740b 100644
--- a/frontend/src/app/scripts/_components/ScriptItems/Tooltips.tsx
+++ b/frontend/src/app/scripts/_components/ScriptItems/Tooltips.tsx
@@ -6,6 +6,7 @@ import {
TooltipTrigger,
} from "@/components/ui/tooltip";
import { Script } from "@/lib/types";
+import { CircleHelp } from "lucide-react";
import React from "react";
interface TooltipProps {
@@ -18,9 +19,11 @@ const TooltipBadge: React.FC
= ({ variant, label, content }) => (
- {label}
+
+ {label}
+
-
+
{content}
From bda30403daff70a94c3155aa9aef67e123047948 Mon Sep 17 00:00:00 2001
From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com>
Date: Thu, 19 Dec 2024 00:17:21 -0800
Subject: [PATCH 087/286] Fix script path formatting in InstallMethod component
(#909)
---
frontend/src/app/json-editor/_components/InstallMethod.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/src/app/json-editor/_components/InstallMethod.tsx b/frontend/src/app/json-editor/_components/InstallMethod.tsx
index 85368999e11..792ec403aaf 100644
--- a/frontend/src/app/json-editor/_components/InstallMethod.tsx
+++ b/frontend/src/app/json-editor/_components/InstallMethod.tsx
@@ -34,7 +34,7 @@ function InstallMethod({
setScript((prev) => {
const method = InstallMethodSchema.parse({
type: "default",
- script: `/${prev.type}/${prev.slug}.sh`,
+ script: `${prev.type}/${prev.slug}.sh`,
resources: {
cpu: null,
ram: null,
From c0ac8a7fabbc7581f774997a170ca9f1412cf98d Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 19 Dec 2024 09:18:50 +0100
Subject: [PATCH 088/286] Update CHANGELOG.md (#916)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 38ece4093c9..7bf54aa232f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,15 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-19
+
+### Changed
+
+### 🌐 Website
+
+- Fix script path formatting in InstallMethod component [@BramSuurdje](https://github.com/BramSuurdje) ([#909](https://github.com/community-scripts/ProxmoxVE/pull/909))
+- Enhance Tooltip component by adding CircleHelp icon and fix instructions in script component [@BramSuurdje](https://github.com/BramSuurdje) ([#910](https://github.com/community-scripts/ProxmoxVE/pull/910))
+
## 2024-12-18
### Changed
From 94d81fdf5ca4fe219ea377bccffed2ec20119fc7 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Thu, 19 Dec 2024 09:27:10 +0100
Subject: [PATCH 089/286] Fix - Set Warning LXC-IPTag
---
json/add-lxc-iptag.json | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/json/add-lxc-iptag.json b/json/add-lxc-iptag.json
index 244d9d13045..fe9a629de45 100644
--- a/json/add-lxc-iptag.json
+++ b/json/add-lxc-iptag.json
@@ -38,6 +38,10 @@
{
"text": "Configuration: `nano /opt/lxc-iptag/iptag.conf`. iptag.service must be restarted after change.",
"type": "Info"
+ },
+ {
+ "text": "The Proxmox Node must contain ipcalc and net-tools. ´apt-get install -y ipcalc net-tools´",
+ "type": "warn"
}
]
}
From 25049290b09da91b88cba95c93e9ac8e7b539c47 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Thu, 19 Dec 2024 09:36:46 +0100
Subject: [PATCH 090/286] Update add-lxc-iptag.json
---
json/add-lxc-iptag.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/json/add-lxc-iptag.json b/json/add-lxc-iptag.json
index fe9a629de45..641896214e3 100644
--- a/json/add-lxc-iptag.json
+++ b/json/add-lxc-iptag.json
@@ -40,7 +40,7 @@
"type": "Info"
},
{
- "text": "The Proxmox Node must contain ipcalc and net-tools. ´apt-get install -y ipcalc net-tools´",
+ "text": "The Proxmox Node must contain ipcalc and net-tools. `apt-get install -y ipcalc net-tools`",
"type": "warn"
}
]
From 08f6042f65749490728ed8c20a5af861d45c05d4 Mon Sep 17 00:00:00 2001
From: EvilBlood
Date: Thu, 19 Dec 2024 09:49:14 +0100
Subject: [PATCH 091/286] Update part-db.json (#898)
Fix Typo in Cerds-Filename
---
json/part-db.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/json/part-db.json b/json/part-db.json
index 3a8d8d4647b..a48f91570d4 100644
--- a/json/part-db.json
+++ b/json/part-db.json
@@ -32,7 +32,7 @@
},
"notes": [
{
- "text": "Show login and database credentials: `cat part-db.creds`",
+ "text": "Show login and database credentials: `cat partdb.creds`",
"type": "info"
}
]
From ba76b4fe37fff9eb91de8e63d224a8de29786265 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 19 Dec 2024 09:50:49 +0100
Subject: [PATCH 092/286] Update CHANGELOG.md (#917)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7bf54aa232f..309ba8a6e10 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,8 +22,9 @@ Do not break established syntax in this file, as it is automatically updated by
### 🌐 Website
-- Fix script path formatting in InstallMethod component [@BramSuurdje](https://github.com/BramSuurdje) ([#909](https://github.com/community-scripts/ProxmoxVE/pull/909))
+- Fix Part-DB Docu (cred command) [@EvilBlood](https://github.com/EvilBlood) ([#898](https://github.com/community-scripts/ProxmoxVE/pull/898))
- Enhance Tooltip component by adding CircleHelp icon and fix instructions in script component [@BramSuurdje](https://github.com/BramSuurdje) ([#910](https://github.com/community-scripts/ProxmoxVE/pull/910))
+- Fix script path formatting in InstallMethod component [@BramSuurdje](https://github.com/BramSuurdje) ([#909](https://github.com/community-scripts/ProxmoxVE/pull/909))
## 2024-12-18
From 773e3ba983f19429fb310e56e4bcc1136dc2ced8 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Thu, 19 Dec 2024 10:15:42 +0100
Subject: [PATCH 093/286] Update add-lxc-iptag.json
---
json/add-lxc-iptag.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/json/add-lxc-iptag.json b/json/add-lxc-iptag.json
index 641896214e3..468d2745363 100644
--- a/json/add-lxc-iptag.json
+++ b/json/add-lxc-iptag.json
@@ -33,11 +33,11 @@
"notes": [
{
"text": "Execute within the Proxmox shell",
- "type": "Info"
+ "type": "info"
},
{
"text": "Configuration: `nano /opt/lxc-iptag/iptag.conf`. iptag.service must be restarted after change.",
- "type": "Info"
+ "type": "info"
},
{
"text": "The Proxmox Node must contain ipcalc and net-tools. `apt-get install -y ipcalc net-tools`",
From a5d6023da82ea2d5f545979886d3d92648ddf6b7 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Thu, 19 Dec 2024 11:11:10 +0100
Subject: [PATCH 094/286] Fix Omada - Crawling latest version (#918)
* Fix Update Function Omada
* Fix Omada Install Latest URL
* Fix Dependencies
---
ct/omada.sh | 6 +++---
install/omada-install.sh | 13 +++++++------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/ct/omada.sh b/ct/omada.sh
index 26a26df4ad1..3befcfb7867 100644
--- a/ct/omada.sh
+++ b/ct/omada.sh
@@ -32,8 +32,8 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
- latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -o 'https://.*x64.deb' | head -n1)
- latest_version=$(basename "${latest_url}")
+ latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)"' | sed 's/href="//' | sort | tail -n 1)
+ latest_version=$(basename "$latest_url")
if [ -z "${latest_version}" ]; then
msg_error "It seems that the server (tp-link.com) might be down. Please try again at a later time."
exit
@@ -53,4 +53,4 @@ 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}:8043${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8043${CL}"
diff --git a/install/omada-install.sh b/install/omada-install.sh
index 318851048ba..14764747831 100644
--- a/install/omada-install.sh
+++ b/install/omada-install.sh
@@ -14,11 +14,12 @@ network_check
update_os
msg_info "Installing Dependencies"
-$STD apt-get install -y curl
-$STD apt-get install -y sudo
-$STD apt-get install -y mc
-$STD apt-get install -y gnupg
-$STD apt-get install -y jsvc
+$STD apt-get install -y \
+ curl \
+ sudo \
+ mc \
+ gnupg \
+ jsvc
msg_ok "Installed Dependencies"
msg_info "Installing Azul Zulu"
@@ -37,7 +38,7 @@ wget -qL https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/3.6/multiv
$STD dpkg -i mongodb-org-server_3.6.23_amd64.deb
msg_ok "Installed MongoDB"
-latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -o 'https://.*x64.deb' | head -n1)
+latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)"' | sed 's/href="//' | sort | tail -n 1)
latest_version=$(basename "$latest_url")
msg_info "Installing Omada Controller"
From 785d745b22d212d11b7a827242289c5a33cf24b1 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 19 Dec 2024 11:45:14 +0100
Subject: [PATCH 095/286] Update CHANGELOG.md (#919)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 309ba8a6e10..d9d3deba0cb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,11 +20,15 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### 🚀 Updated Scripts
+
+- Fix Omada - Crawling latest version [@MickLesk](https://github.com/MickLesk) ([#918](https://github.com/community-scripts/ProxmoxVE/pull/918))
+
### 🌐 Website
+- Fix script path formatting in InstallMethod component [@BramSuurdje](https://github.com/BramSuurdje) ([#909](https://github.com/community-scripts/ProxmoxVE/pull/909))
- Fix Part-DB Docu (cred command) [@EvilBlood](https://github.com/EvilBlood) ([#898](https://github.com/community-scripts/ProxmoxVE/pull/898))
- Enhance Tooltip component by adding CircleHelp icon and fix instructions in script component [@BramSuurdje](https://github.com/BramSuurdje) ([#910](https://github.com/community-scripts/ProxmoxVE/pull/910))
-- Fix script path formatting in InstallMethod component [@BramSuurdje](https://github.com/BramSuurdje) ([#909](https://github.com/community-scripts/ProxmoxVE/pull/909))
## 2024-12-18
From 9da79b9a973aeaebfe37a22fccb51db708c68656 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Thu, 19 Dec 2024 14:15:12 +0100
Subject: [PATCH 096/286] Update omada.sh
---
ct/omada.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/omada.sh b/ct/omada.sh
index 3befcfb7867..a82cd3d3626 100644
--- a/ct/omada.sh
+++ b/ct/omada.sh
@@ -32,7 +32,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
- latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)"' | sed 's/href="//' | sort | tail -n 1)
+ latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)' | sed 's/href="//' | sort | tail -n 1)
latest_version=$(basename "$latest_url")
if [ -z "${latest_version}" ]; then
msg_error "It seems that the server (tp-link.com) might be down. Please try again at a later time."
From 4c04a33a293edf4a281f170b425db2351ed076fd Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Thu, 19 Dec 2024 14:15:25 +0100
Subject: [PATCH 097/286] Update omada-install.sh
---
install/omada-install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/omada-install.sh b/install/omada-install.sh
index 14764747831..6cb1eb008db 100644
--- a/install/omada-install.sh
+++ b/install/omada-install.sh
@@ -38,7 +38,7 @@ wget -qL https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/3.6/multiv
$STD dpkg -i mongodb-org-server_3.6.23_amd64.deb
msg_ok "Installed MongoDB"
-latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)"' | sed 's/href="//' | sort | tail -n 1)
+latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)' | sed 's/href="//' | sort | tail -n 1)
latest_version=$(basename "$latest_url")
msg_info "Installing Omada Controller"
From 23d7587f04689911e53a4ffcd50c13c6d8a5f5d6 Mon Sep 17 00:00:00 2001
From: Maximilian Bosche
Date: Thu, 19 Dec 2024 15:09:19 +0100
Subject: [PATCH 098/286] mysql not showing ip after install (#924)
---
ct/mysql.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/mysql.sh b/ct/mysql.sh
index e61b0a0bdb3..9c43b59e65d 100644
--- a/ct/mysql.sh
+++ b/ct/mysql.sh
@@ -46,4 +46,4 @@ 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 IP:${CL}"
-echo -e "${TAB}${GATEWAY}${BGN}{IP}:3306${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}${IP}:3306${CL}"
From 700902ba2ed1f1703c15431d36d713535c0d3687 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 19 Dec 2024 15:35:28 +0100
Subject: [PATCH 099/286] Update CHANGELOG.md (#925)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d9d3deba0cb..27d95bea1b3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- mysql not showing ip after install [@snow2k9](https://github.com/snow2k9) ([#924](https://github.com/community-scripts/ProxmoxVE/pull/924))
- Fix Omada - Crawling latest version [@MickLesk](https://github.com/MickLesk) ([#918](https://github.com/community-scripts/ProxmoxVE/pull/918))
### 🌐 Website
From 6487885f4bdf1270d5b9c7b7c31f801b9ff4dd9c Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Thu, 19 Dec 2024 16:31:30 +0100
Subject: [PATCH 100/286] Fix: Bookstack Update Function (#844)
* Fix: Bookstack Update Function
* Fixed Formating
* Update Identions and Spaces
* Changes
* Add leadng / to unzip
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
ct/bookstack.sh | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/ct/bookstack.sh b/ct/bookstack.sh
index d7cf509317c..a54a11e2aad 100644
--- a/ct/bookstack.sh
+++ b/ct/bookstack.sh
@@ -38,32 +38,41 @@ function update_script() {
systemctl stop apache2
msg_ok "Services Stopped"
- msg_info "Updating ${APP} to ${RELEASE}"
- cp /opt/bookstack/.env /opt/.env
- wget -q "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip"
- unzip -q v${RELEASE}.zip
- mv BookStack-${RELEASE} /opt/bookstack
- mv /opt/.env /opt/bookstack/.env
+ msg_info "Updating ${APP} to v${RELEASE}"
+ mv /opt/bookstack /opt/bookstack-backup
+ wget -q --directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip"
+ unzip -q /opt/v${RELEASE}.zip -d /opt
+ mv /opt/BookStack-${RELEASE} /opt/bookstack
+ cp /opt/bookstack-backup/.env /opt/bookstack/.env
+ cp -r /opt/bookstack-backup/public/uploads/ /opt/bookstack/public/uploads
+ cp -r /opt/bookstack-backup/storage/uploads/ /opt/bookstack/storage/uploads
+ cp -r /opt/bookstack-backup/themes/ /opt/bookstack/themes
cd /opt/bookstack
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
php artisan key:generate --force &>/dev/null
php artisan migrate --force &>/dev/null
+ chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
+ chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
+ chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads
+ chmod -R 640 /opt/bookstack/.env
echo "${RELEASE}" >/opt/${APP}_version.txt
- msg_ok "Updated ${APP}"
+ msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Apache2"
systemctl start apache2
msg_ok "Started Apache2"
msg_info "Cleaning Up"
- rm -rf v${RELEASE}.zip
+ rm -rf /opt/bookstack-backup
+ rm -rf /opt/v${RELEASE}.zip
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
- msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
+
start
build_container
description
From 94b51fefeb26c7c48614f2dc83c989378b5edfb0 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 19 Dec 2024 16:32:49 +0100
Subject: [PATCH 101/286] Update CHANGELOG.md (#928)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 27d95bea1b3..5bad34f36e0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Fix: Bookstack Update Function [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#844](https://github.com/community-scripts/ProxmoxVE/pull/844))
- mysql not showing ip after install [@snow2k9](https://github.com/snow2k9) ([#924](https://github.com/community-scripts/ProxmoxVE/pull/924))
- Fix Omada - Crawling latest version [@MickLesk](https://github.com/MickLesk) ([#918](https://github.com/community-scripts/ProxmoxVE/pull/918))
From 2326e1169923453ade0852a5106b0fc1e0977c98 Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Fri, 20 Dec 2024 10:01:32 +0100
Subject: [PATCH 102/286] New Script: CheckMk (#926)
* New Script: CheckMk
* Add sudo
* Change to dpkg -i
---
ct/checkmk.sh | 59 ++++++++++++++++++++++++++++++++++++++
install/checkmk-install.sh | 48 +++++++++++++++++++++++++++++++
json/checkmk.json | 34 ++++++++++++++++++++++
3 files changed, 141 insertions(+)
create mode 100644 ct/checkmk.sh
create mode 100644 install/checkmk-install.sh
create mode 100644 json/checkmk.json
diff --git a/ct/checkmk.sh b/ct/checkmk.sh
new file mode 100644
index 00000000000..e76a69d8fcb
--- /dev/null
+++ b/ct/checkmk.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: Michel Roegl-Brunner (michelroegl-brunner)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://checkmk.com/
+
+APP="checkmk"
+var_tags="monitoring"
+var_cpu="2"
+var_ram="2048"
+var_disk="4"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+header_info "$APP"
+base_settings
+
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /opt/checkmk_version.txt ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | grep -v "*-rc" | tail -n +2 | head -n 1)
+ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Updating ${APP} to v${RELEASE}"
+ omd stop monitoring &>/dev/null
+ omd cp monitoring monitoringbackup &>/dev/null
+ wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb
+ dpkg -i /opt/checkmk.deb &>/dev/null
+ omd --force -V ${RELEASE}.cre update --conflict=install monitoring &>/dev/null
+ omd start monitoring &>/dev/null
+ omd -f rm monitoringbackup &>/dev/null
+ omd cleanup &>/dev/null
+ rm -rf /opt/checkmk.deb
+ msg_ok "Updated ${APP} to v${RELEASE}"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}."
+ 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}/monitoring${CL}"
diff --git a/install/checkmk-install.sh b/install/checkmk-install.sh
new file mode 100644
index 00000000000..9c44d8414a9
--- /dev/null
+++ b/install/checkmk-install.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+#Copyright (c) 2021-2024 community-scripts ORG
+# Author: Michel Roegl-Brunner (michelroegl-brunner)
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+
+source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ curl \
+ sudo \
+ mc
+msg_ok "Installed Dependencies"
+
+msg_info "Install Checkmk"
+RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | grep -v "*-rc" | tail -n +2 | head -n 1)
+wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb
+$STD dpkg -i /opt/checkmk.deb
+echo "${RELEASE}" >"/opt/checkmk_version.txt"
+msg_ok "Installed Checkmk"
+
+msg_info "Creating Service"
+PASSWORD=$(omd create monitoring | grep "password:" | awk '{print $NF}')
+$STD omd start &>/dev/null
+{
+ echo "Application-Credentials"
+ echo "Username: cmkadmin"
+ echo "Password: $PASSWORD"
+} >> ~/checkmk.creds
+msg_ok "Created Service"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+rm -rf /opt/checkmk.deb
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
diff --git a/json/checkmk.json b/json/checkmk.json
new file mode 100644
index 00000000000..0305c7b21e3
--- /dev/null
+++ b/json/checkmk.json
@@ -0,0 +1,34 @@
+{
+ "name": "Checkmk",
+ "slug": "checkmk",
+ "categories": [
+ 7
+ ],
+ "date_created": "2024-12-19",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 80,
+ "documentation": "https://docs.checkmk.com/",
+ "website": "https://checkmk.com/",
+ "logo": "https://github.com/Checkmk/checkmk/blob/master/omd/license_sources/checkmk_logo.svg",
+ "description": "Checkmk - Your complete IT monitoring solution",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/checkmk.sh",
+ "resources": {
+ "cpu": 2,
+ "ram": 2048,
+ "hdd": 4,
+ "os": null,
+ "version": null
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": []
+}
\ No newline at end of file
From 9379ac4032f46e9f9fceccdce0ffcae3d4216ae2 Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Fri, 20 Dec 2024 10:02:06 +0100
Subject: [PATCH 103/286] New Script: Zammad (#640)
* New Script: Zammad
* Implement changes
* Changes after review
* Added changes
* Added changes
* Change to new System
* Change to new Default System
* formatting
* Update zammad.json
* fix json
* Update zammad.json
fix OS
* remove / in json
* Sync with develop branch
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
ct/zammad.sh | 56 +++++++++++++++++++++++++++++++++++
install/zammad-install.sh | 61 +++++++++++++++++++++++++++++++++++++++
json/zammad.json | 34 ++++++++++++++++++++++
3 files changed, 151 insertions(+)
create mode 100644 ct/zammad.sh
create mode 100644 install/zammad-install.sh
create mode 100644 json/zammad.json
diff --git a/ct/zammad.sh b/ct/zammad.sh
new file mode 100644
index 00000000000..81bd5e835e5
--- /dev/null
+++ b/ct/zammad.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: Michel Roegl-Brunner (michelroegl-brunner)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://zammad.com
+
+#App Default Values
+APP="Zammad"
+TAGS="webserver;ticket-system"
+var_disk="8"
+var_cpu="2"
+var_ram="4096"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/zamad ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Stopping Service"
+ systemctl stop zammad &>/dev/null
+ msg_info "Updating ${APP}"
+ apt-get update &>/dev/null
+ apt-mark hold zammad &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ apt-mark unhold zammad &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_info "Starting Service"
+ systemctl start zammad &>/dev/null
+ msg_ok "Updated ${APP} LXC"
+ 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}"
\ No newline at end of file
diff --git a/install/zammad-install.sh b/install/zammad-install.sh
new file mode 100644
index 00000000000..274df3a3e96
--- /dev/null
+++ b/install/zammad-install.sh
@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+
+#Copyright (c) 2021-2024 community-scripts ORG
+# Author: Michel Roegl-Brunner (michelroegl-brunner)
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ curl \
+ git \
+ sudo \
+ gpg \
+ wget \
+ nginx \
+ apt-transport-https \
+ gnupg
+msg_ok "Installed Dependencies"
+
+msg_info "Setting up Elasticsearch"
+curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
+echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list >/dev/null
+$STD apt-get update
+$STD apt-get -y install elasticsearch
+echo "-Xms2g" >>/etc/elasticsearch/jvm.options
+echo "-Xmx2g" >>/etc/elasticsearch/jvm.options
+$STD /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment -b
+systemctl -q restart elasticsearch
+msg_ok "Setup Elasticsearch"
+
+msg_info "Installing Zammad"
+curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg --dearmor | sudo tee /etc/apt/keyrings/pkgr-zammad.gpg >/dev/null
+echo "deb [signed-by=/etc/apt/keyrings/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/debian 12 main" | sudo tee /etc/apt/sources.list.d/zammad.list >/dev/null
+$STD apt-get update
+$STD apt-get -y install zammad
+$STD zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
+$STD zammad run rake zammad:searchindex:rebuild
+msg_ok "Installed Zammad"
+
+msg_info "Setup Services"
+cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/sites-available/zammad.conf
+IPADDRESS=$(hostname -I | awk '{print $1}')
+sed -i "s/server_name localhost;/server_name $IPADDRESS;/g" /etc/nginx/sites-available/zammad.conf
+$STD systemctl reload nginx
+msg_ok "Created Service"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
\ No newline at end of file
diff --git a/json/zammad.json b/json/zammad.json
new file mode 100644
index 00000000000..1e6f5a96d50
--- /dev/null
+++ b/json/zammad.json
@@ -0,0 +1,34 @@
+{
+ "name": "Zammad",
+ "slug": "zammad",
+ "categories": [
+ 11
+ ],
+ "date_created": "2024-12-18",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": null,
+ "documentation": "https://docs.zammad.org/en/latest/",
+ "website": "https://zammad.com/",
+ "logo": "https://raw.githubusercontent.com/zammad/zammad/refs/heads/develop/public/assets/images/logo.svg",
+ "description": "Zammad is a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and emails. It is distributed under version 3 of the GNU AFFERO General Public License (GNU AGPLv3).",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/zammad.sh",
+ "resources": {
+ "cpu": 2,
+ "ram": 4096,
+ "hdd": 8,
+ "os": "debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": []
+}
From 949ec3d1810b16bf7539fb9370db7e09fa1571ca Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Fri, 20 Dec 2024 10:03:10 +0100
Subject: [PATCH 104/286] New Script: Apache Guacamole (#657)
* New Script: Apache Guacamole
* Changes as requested
* Changed to new System
* Changes
* Update apache-guacamole.json
* Update apache-guacamole.sh
* Update apache-guacamole.sh
* remove / in json
* update install script from dev (changed functions)
* Update apache-guacamole.json
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
ct/apache-guacamole.sh | 47 ++++++++++
install/apache-guacamole-install.sh | 135 ++++++++++++++++++++++++++++
json/apache-guacamole.json | 34 +++++++
3 files changed, 216 insertions(+)
create mode 100644 ct/apache-guacamole.sh
create mode 100644 install/apache-guacamole-install.sh
create mode 100644 json/apache-guacamole.json
diff --git a/ct/apache-guacamole.sh b/ct/apache-guacamole.sh
new file mode 100644
index 00000000000..96df515fd86
--- /dev/null
+++ b/ct/apache-guacamole.sh
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: Michel Roegl-Brunner (michelroegl-brunner)
+# License: | MIT https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://guacamole.apache.org/
+
+#App Default Values
+APP="Apache-Guacamole"
+TAGS="webserver;remote"
+var_disk="4"
+var_cpu="1"
+var_ram="2048"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/apache-guacamole ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_error "Ther is currently no automatic update function for ${APP}."
+ 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}:8080/guacamole${CL}"
+
diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh
new file mode 100644
index 00000000000..0c95a69b244
--- /dev/null
+++ b/install/apache-guacamole-install.sh
@@ -0,0 +1,135 @@
+#!/usr/bin/env bash
+#Copyright (c) 2021-2024 community-scripts ORG
+# Author: Michel Roegl-Brunner (michelroegl-brunner) | MickLesk (CanbiZ)
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ build-essential \
+ curl \
+ jq \
+ libcairo2-dev \
+ libturbojpeg0 \
+ libpng-dev \
+ libtool-bin \
+ libossp-uuid-dev \
+ libvncserver-dev \
+ freerdp2-dev \
+ libssh2-1-dev \
+ libtelnet-dev \
+ libwebsockets-dev \
+ libpulse-dev \
+ libvorbis-dev \
+ libwebp-dev \
+ libssl-dev \
+ libpango1.0-dev \
+ libswscale-dev \
+ libavcodec-dev \
+ libavutil-dev \
+ libavformat-dev \
+ mariadb-server \
+ default-jdk
+msg_ok "Installed Dependencies"
+
+msg_info "Setup Apache Tomcat"
+RELEASE=$(wget -qO- https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//')
+mkdir -p /opt/apache-guacamole/tomcat9
+mkdir -p /opt/apache-guacamole/server
+wget -qO- "https://dlcdn.apache.org/tomcat/tomcat-9/v${RELEASE}/bin/apache-tomcat-${RELEASE}.tar.gz" | tar -xz -C /opt/apache-guacamole/tomcat9 --strip-components=1
+useradd -r -d /opt/apache-guacamole/tomcat9 -s /bin/false tomcat
+chown -R tomcat: /opt/apache-guacamole/tomcat9
+chmod -R g+r /opt/apache-guacamole/tomcat9/conf
+chmod g+x /opt/apache-guacamole/tomcat9/conf
+msg_ok "Setup Apache Tomcat"
+
+msg_info "Setup Apache Guacamole"
+mkdir -p /etc/guacamole/{extensions,lib}
+RELEASE_SERVER=$(curl -sL https://api.github.com/repos/apache/guacamole-server/tags | jq -r '.[0].name')
+wget -qO- https://api.github.com/repos/apache/guacamole-server/tarball/refs/tags/${RELEASE_SERVER} | tar -xz --strip-components=1 -C /opt/apache-guacamole/server
+cd /opt/apache-guacamole/server
+$STD autoreconf -fi
+$STD ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots
+$STD make
+$STD make install
+$STD ldconfig
+RELEASE_CLIENT=$(curl -sL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name')
+wget -q -O /opt/apache-guacamole/tomcat9/webapps/guacamole.war https://downloads.apache.org/guacamole/${RELEASE_CLIENT}/binary/guacamole-${RELEASE_CLIENT}.war
+cd /root
+wget -q --directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz
+$STD tar -xf ~/mysql-connector-java-8.0.26.tar.gz
+mv ~/mysql-connector-java-8.0.26/mysql-connector-java-8.0.26.jar /etc/guacamole/lib/
+wget -q --directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz
+$STD tar -xf ~/guacamole-auth-jdbc-1.5.5.tar.gz
+mv ~/guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/
+msg_ok "Setup Apache Guacamole"
+
+msg_info "Setup Database"
+DB_NAME=guacamole_db
+DB_USER=guacamole_user
+DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
+mysql -u root -e "CREATE DATABASE $DB_NAME;"
+mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
+mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
+{
+ echo "SnipeIT-Credentials"
+ echo "SnipeIT Database User: $DB_USER"
+ echo "SnipeIT Database Password: $DB_PASS"
+ echo "SnipeIT Database Name: $DB_NAME"
+} >> ~/guacamole.creds
+cd guacamole-auth-jdbc-1.5.5/mysql/schema
+cat *.sql | mysql -u root ${DB_NAME}
+{
+ echo "mysql-hostname: 127.0.0.1"
+ echo "mysql-port: 3306"
+ echo "mysql-database: $DB_NAME"
+ echo "mysql-username: $DB_USER"
+ echo "mysql-password: $DB_PASS"
+
+} >> /etc/guacamole/guacamole.properties
+msg_ok "Setup Database"
+
+msg_info "Setup Service"
+JAVA_HOME=$(update-alternatives --query javadoc | grep Value: | head -n1 | sed 's/Value: //' | sed 's@bin/javadoc$@@')
+cat </etc/systemd/system/tomcat.service
+[Unit]
+Description=Apache Tomcat Web Application Container
+After=network.target
+[Service]
+Type=forking
+Environment="JAVA_HOME=${JAVA_HOME}"
+Environment="CATALINA_PID=/opt/apache-guacamole/tomcat9/temp/tomcat.pid"
+Environment="CATALINA_HOME=/opt/apache-guacamole/tomcat9/"
+Environment="CATALINA_BASE=/opt/apache-guacamole/tomcat9/"
+Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
+Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
+ExecStart=/opt/apache-guacamole/tomcat9/bin/startup.sh
+ExecStop=/opt/apache-guacamole/tomcat9/bin/shutdown.sh
+User=tomcat
+Group=tomcat
+UMask=0007
+RestartSec=10
+Restart=always
+[Install]
+WantedBy=multi-user.target
+EOF
+systemctl -q enable --now tomcat guacd mysql
+msg_ok "Setup Service"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+rm -rf ~/mysql-connector-java-8.0.26{,.tar.gz}
+rm -rf ~/guacamole-auth-jdbc-1.5.5{,.tar.gz}
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
diff --git a/json/apache-guacamole.json b/json/apache-guacamole.json
new file mode 100644
index 00000000000..cf095ea8be7
--- /dev/null
+++ b/json/apache-guacamole.json
@@ -0,0 +1,34 @@
+{
+ "name": "Apache Guacamole",
+ "slug": "apache-guacamole",
+ "categories": [
+ 11
+ ],
+ "date_created": "2024-12-19",
+ "type": "ct",
+ "updateable": false,
+ "privileged": false,
+ "interface_port": 8080,
+ "documentation": null,
+ "website": "https://guacamole.apache.org/",
+ "logo": "https://guacamole.apache.org/images/logos/guac-tricolor-logo.svg",
+ "description": "Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/apache-guacamole.sh",
+ "resources": {
+ "cpu": 1,
+ "ram": 2048,
+ "hdd": 4,
+ "os": "Debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": "guacadmin",
+ "password": "guacadmin"
+ },
+ "notes": []
+}
From 7f86418cf57f22281f7a03b19310bc392bd7826f Mon Sep 17 00:00:00 2001
From: Dominik Siebel <145283+dsiebel@users.noreply.github.com>
Date: Fri, 20 Dec 2024 10:03:49 +0100
Subject: [PATCH 105/286] new script: silverbullet (#659)
* new script: silverbullet
* update copyright and author information
* address code review comments and suggestions
* fix: overwrite existing binary on unzip
* address remaining review comments
* add documenation link
* update header and footer to new standard
* little fixes
* little fixes
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
ct/silverbullet.sh | 61 +++++++++++++++++++++++++++++++++
install/silverbullet-install.sh | 59 +++++++++++++++++++++++++++++++
json/silverbullet.json | 34 ++++++++++++++++++
3 files changed, 154 insertions(+)
create mode 100644 ct/silverbullet.sh
create mode 100644 install/silverbullet-install.sh
create mode 100644 json/silverbullet.json
diff --git a/ct/silverbullet.sh b/ct/silverbullet.sh
new file mode 100644
index 00000000000..744379b5b00
--- /dev/null
+++ b/ct/silverbullet.sh
@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: Dominik Siebel (dsiebel)
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://silverbullet.md
+
+# App default values
+APP="Silverbullet"
+var_tags="notes"
+var_cpu="1"
+var_disk="2"
+var_ram="512"
+var_os="debian"
+var_version="12"
+
+# App Output & Base Settings
+header_info "${APP}"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /opt/silverbullet ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ RELEASE=$(curl -s https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ ! -f "/opt/${APP}_version.txt" || "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop silverbullet
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Updating ${APP} to v${RELEASE}"
+ wget -q https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip
+ unzip -q silverbullet-server-linux-x86_64.zip
+ mv silverbullet /opt/silverbullet/bin/
+ chmod +x /opt/silverbullet/bin/silverbullet
+ echo "${RELEASE}" >/opt/silverbullet/${APP}_version.txt
+ msg_ok "Updated ${APP} to v${RELEASE}"
+
+ msg_info "Starting ${APP}"
+ systemctl start silverbullet
+ msg_ok "Started ${APP}"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}"
+ 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}"
diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh
new file mode 100644
index 00000000000..7338acd5f21
--- /dev/null
+++ b/install/silverbullet-install.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: Dominik Siebel (dsiebel)
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ curl \
+ sudo \
+ mc
+msg_ok "Installed Dependencies"
+
+msg_info "Installing Silverbullet"
+RELEASE=$(curl -s https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+mkdir -p /opt/silverbullet/bin /opt/silverbullet/space
+wget -q https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip
+unzip -oq -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip
+chmod +x /opt/silverbullet/bin/silverbullet
+echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
+msg_ok "Installed Silverbullet"
+
+msg_info "Creating Service"
+
+cat </etc/systemd/system/silverbullet.service
+[Unit]
+Description=Silverbullet Daemon
+After=syslog.target network.target
+
+[Service]
+User=root
+Type=simple
+ExecStart=/opt/silverbullet/bin/silverbullet --hostname 0.0.0.0 --port 3000 /opt/silverbullet/space
+WorkingDirectory=/opt/silverbullet
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
+EOF
+systemctl enable --now -q silverbullet
+msg_ok "Created Service"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+rm -rf silverbullet-server-linux-x86_64.zip
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
diff --git a/json/silverbullet.json b/json/silverbullet.json
new file mode 100644
index 00000000000..fd82f0366a4
--- /dev/null
+++ b/json/silverbullet.json
@@ -0,0 +1,34 @@
+{
+ "name": "Silverbullet",
+ "slug": "silverbullet",
+ "categories": [
+ 14
+ ],
+ "date_created": "2024-12-03",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 3000,
+ "documentation": "https://silverbullet.md/Manual",
+ "website": "https://silverbullet.md",
+ "logo": "https://silverbullet.md/.client/logo.png",
+ "description": "SilverBullet is a note-taking application optimized for people with a hacker mindset.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/silverbullet.sh",
+ "resources": {
+ "cpu": 1,
+ "ram": 512,
+ "hdd": 2,
+ "os": "debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": []
+}
From 5214c3d531d76f3a08762374e441aaf1bd2c6355 Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Fri, 20 Dec 2024 10:04:27 +0100
Subject: [PATCH 106/286] Update build.func to display the Proxmox Hostname
(#894)
* Update build.func to display the PROXMOX Hostname
* Add to Advanced Settings
* Changes
* Change placement
* Remove blank line
* Changed Style
* Changes
* Remove Uppercasing
---
misc/build.func | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/misc/build.func b/misc/build.func
index bc15bd0b706..d632f0b600f 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -8,6 +8,7 @@ variables() {
NSAPP=$(echo ${APP,,} | tr -d ' ') # This function sets the NSAPP variable by converting the value of the APP variable to lowercase and removing any spaces.
var_install="${NSAPP}-install" # sets the var_install variable by appending "-install" to the value of NSAPP.
INTEGER='^[0-9]+([.][0-9]+)?$' # it defines the INTEGER regular expression pattern.
+ PVEHOST_NAME=$(hostname) # gets the Proxmox Hostname and sets it to Uppercase
}
# This function sets various color variables using ANSI escape codes for formatting text in the terminal.
@@ -314,7 +315,6 @@ advanced_settings() {
fi
done
fi
-
# Setting Default Tag for Advanced Settings
TAGS="community-script;"
@@ -580,7 +580,7 @@ advanced_settings() {
else
clear
header_info
- echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}"
+ echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings on node $PVEHOST_NAME${CL}"
advanced_settings
fi
}
@@ -614,7 +614,7 @@ install_script() {
case $CHOICE in
1)
header_info
- echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings${CL}"
+ echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME${CL}"
VERB="no"
base_settings "$VERB"
echo_default
@@ -622,7 +622,7 @@ install_script() {
;;
2)
header_info
- echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings (${SEARCH}${BOLD}${BL} Verbose)${CL}"
+ echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME(${SEARCH}${BOLD}${BL} Verbose)${CL}"
VERB="yes"
base_settings "$VERB"
echo_default
@@ -630,7 +630,7 @@ install_script() {
;;
3)
header_info
- echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}"
+ echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings on node $PVEHOST_NAME${CL}"
advanced_settings
break
;;
From d283d0a1cb8254d5e4054d73485a9c05afc69e6f Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 20 Dec 2024 10:07:40 +0100
Subject: [PATCH 107/286] Update CHANGELOG.md (#934)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5bad34f36e0..a21a734c430 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,21 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-20
+
+### Changed
+
+### ✨ New Scripts
+
+- New Script: silverbullet [@dsiebel](https://github.com/dsiebel) ([#659](https://github.com/community-scripts/ProxmoxVE/pull/659))
+- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
+- New Script: Zammad [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#640](https://github.com/community-scripts/ProxmoxVE/pull/640))
+- New Script: CheckMk [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#926](https://github.com/community-scripts/ProxmoxVE/pull/926))
+
+### ❔ Unlabelled
+
+- Update build.func to display the Proxmox Hostname [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#894](https://github.com/community-scripts/ProxmoxVE/pull/894))
+
## 2024-12-19
### Changed
From af30823bef207e6d536b04cb55c4be7c0eda4b81 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 10:09:32 +0100
Subject: [PATCH 108/286] checkmk logo
---
json/checkmk.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/json/checkmk.json b/json/checkmk.json
index 0305c7b21e3..00fec923207 100644
--- a/json/checkmk.json
+++ b/json/checkmk.json
@@ -11,7 +11,7 @@
"interface_port": 80,
"documentation": "https://docs.checkmk.com/",
"website": "https://checkmk.com/",
- "logo": "https://github.com/Checkmk/checkmk/blob/master/omd/license_sources/checkmk_logo.svg",
+ "logo": "https://checkmk.com/application/files/cache/thumbnails/67fc39c599afdf20557d538416e3efd3.png",
"description": "Checkmk - Your complete IT monitoring solution",
"install_methods": [
{
@@ -31,4 +31,4 @@
"password": null
},
"notes": []
-}
\ No newline at end of file
+}
From 6efc6504d4bb3ec766326ee023f3ee32102756a5 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 11:15:41 +0100
Subject: [PATCH 109/286] Update checkmk-install.sh
---
install/checkmk-install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/checkmk-install.sh b/install/checkmk-install.sh
index 9c44d8414a9..ae2d0c42658 100644
--- a/install/checkmk-install.sh
+++ b/install/checkmk-install.sh
@@ -24,7 +24,7 @@ msg_ok "Installed Dependencies"
msg_info "Install Checkmk"
RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | grep -v "*-rc" | tail -n +2 | head -n 1)
wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb
-$STD dpkg -i /opt/checkmk.deb
+$STD apt-get install -y /opt/checkmk.deb
echo "${RELEASE}" >"/opt/checkmk_version.txt"
msg_ok "Installed Checkmk"
From 45c1a73eda71d6ab8004d1457ebc5dfbe1a927ed Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 11:15:53 +0100
Subject: [PATCH 110/286] Update checkmk.sh
---
ct/checkmk.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/checkmk.sh b/ct/checkmk.sh
index e76a69d8fcb..4a08f504a13 100644
--- a/ct/checkmk.sh
+++ b/ct/checkmk.sh
@@ -35,7 +35,7 @@ function update_script() {
omd stop monitoring &>/dev/null
omd cp monitoring monitoringbackup &>/dev/null
wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb
- dpkg -i /opt/checkmk.deb &>/dev/null
+ apt-get install -y /opt/checkmk.deb &>/dev/null
omd --force -V ${RELEASE}.cre update --conflict=install monitoring &>/dev/null
omd start monitoring &>/dev/null
omd -f rm monitoringbackup &>/dev/null
From 2892762a8085a29d2102a23615be4bd6872e8726 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 12:53:57 +0100
Subject: [PATCH 111/286] Update checkmk-install.sh
---
install/checkmk-install.sh | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/install/checkmk-install.sh b/install/checkmk-install.sh
index ae2d0c42658..17182008a30 100644
--- a/install/checkmk-install.sh
+++ b/install/checkmk-install.sh
@@ -29,12 +29,11 @@ echo "${RELEASE}" >"/opt/checkmk_version.txt"
msg_ok "Installed Checkmk"
msg_info "Creating Service"
-PASSWORD=$(omd create monitoring | grep "password:" | awk '{print $NF}')
-$STD omd start &>/dev/null
+$STD omd start
{
echo "Application-Credentials"
echo "Username: cmkadmin"
- echo "Password: $PASSWORD"
+ echo "Password: cmkadmin"
} >> ~/checkmk.creds
msg_ok "Created Service"
From 8e1644ab6e77c7e0032114114fb638f308f1e9b3 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:18:25 +0100
Subject: [PATCH 112/286] Update checkmk-install.sh
---
install/checkmk-install.sh | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/install/checkmk-install.sh b/install/checkmk-install.sh
index 17182008a30..a802bfc3462 100644
--- a/install/checkmk-install.sh
+++ b/install/checkmk-install.sh
@@ -28,18 +28,19 @@ $STD apt-get install -y /opt/checkmk.deb
echo "${RELEASE}" >"/opt/checkmk_version.txt"
msg_ok "Installed Checkmk"
+motd_ssh
+customize
+
msg_info "Creating Service"
+PASSWORD=$(omd create monitoring | grep "password:" | awk '{print $NF}')
$STD omd start
{
echo "Application-Credentials"
echo "Username: cmkadmin"
- echo "Password: cmkadmin"
+ echo "Password: $PASSWORD"
} >> ~/checkmk.creds
msg_ok "Created Service"
-motd_ssh
-customize
-
msg_info "Cleaning up"
rm -rf /opt/checkmk.deb
$STD apt-get -y autoremove
From abb0e0f96d074ec4a02a9816ebc4ead1e3183e64 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:23:25 +0100
Subject: [PATCH 113/286] Update build.func
---
misc/build.func | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index d632f0b600f..b43746eac9e 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -622,7 +622,7 @@ install_script() {
;;
2)
header_info
- echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME(${SEARCH}${BOLD}${BL} Verbose)${CL}"
+ echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (${SEARCH}${BL}Verbose)${CL}"
VERB="yes"
base_settings "$VERB"
echo_default
From 4c042c180f3c3e2c32a5a4a4b0e61a8ac15a0f5c Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:28:53 +0100
Subject: [PATCH 114/286] Update CHANGELOG.md (#936)
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a21a734c430..50237a38298 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,8 +23,8 @@ Do not break established syntax in this file, as it is automatically updated by
### ✨ New Scripts
- New Script: silverbullet [@dsiebel](https://github.com/dsiebel) ([#659](https://github.com/community-scripts/ProxmoxVE/pull/659))
-- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
- New Script: Zammad [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#640](https://github.com/community-scripts/ProxmoxVE/pull/640))
+- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
- New Script: CheckMk [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#926](https://github.com/community-scripts/ProxmoxVE/pull/926))
### ❔ Unlabelled
From f40c606808414c3270837fc3dd526944a2a852bd Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:29:03 +0100
Subject: [PATCH 115/286] Add Login Note for Checkmk (#940)
---
json/checkmk.json | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/json/checkmk.json b/json/checkmk.json
index 00fec923207..be96b017c25 100644
--- a/json/checkmk.json
+++ b/json/checkmk.json
@@ -30,5 +30,10 @@
"username": null,
"password": null
},
- "notes": []
+ "notes": [
+ {
+ "text": "Login Credentials : `cat ~/checkmk.creds`",
+ "type": "info"
+ }
+ ]
}
From 57b881db45ef473acb89cc644265132b88cfe867 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:31:05 +0100
Subject: [PATCH 116/286] Update CHANGELOG.md (#941)
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 50237a38298..0b5f395771e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,10 @@ Do not break established syntax in this file, as it is automatically updated by
- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
- New Script: CheckMk [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#926](https://github.com/community-scripts/ProxmoxVE/pull/926))
+### 🌐 Website
+
+- Add Login Note for Checkmk [@MickLesk](https://github.com/MickLesk) ([#940](https://github.com/community-scripts/ProxmoxVE/pull/940))
+
### ❔ Unlabelled
- Update build.func to display the Proxmox Hostname [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#894](https://github.com/community-scripts/ProxmoxVE/pull/894))
From e715adf3ba2f87f0195e51147d7486dae515e594 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:49:28 +0100
Subject: [PATCH 117/286] Update omada-install.sh
---
install/omada-install.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/install/omada-install.sh b/install/omada-install.sh
index 6cb1eb008db..e29372fc874 100644
--- a/install/omada-install.sh
+++ b/install/omada-install.sh
@@ -38,7 +38,9 @@ wget -qL https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/3.6/multiv
$STD dpkg -i mongodb-org-server_3.6.23_amd64.deb
msg_ok "Installed MongoDB"
-latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)' | sed 's/href="//' | sort | tail -n 1)
+latest_url=$(curl -s "https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" | \
+grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | \
+head -n 1)
latest_version=$(basename "$latest_url")
msg_info "Installing Omada Controller"
From 326f7066727368cd3b5a6bb513ef9bfeb29dcbd1 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:49:58 +0100
Subject: [PATCH 118/286] Update omada.sh
---
ct/omada.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ct/omada.sh b/ct/omada.sh
index a82cd3d3626..59232dcfa5f 100644
--- a/ct/omada.sh
+++ b/ct/omada.sh
@@ -32,7 +32,9 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
- latest_url=$(curl -fsSL "https://www.tp-link.com/en/support/download/omada-software-controller/" | grep -oP 'href="([^"]+linux_x64[^"]+\.deb)' | sed 's/href="//' | sort | tail -n 1)
+ latest_url=$(curl -s "https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" | \
+ grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | \
+ head -n 1)
latest_version=$(basename "$latest_url")
if [ -z "${latest_version}" ]; then
msg_error "It seems that the server (tp-link.com) might be down. Please try again at a later time."
From 8c989eee8e28ab8dbc37f9e78512c77fc663316b Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 14:08:25 +0100
Subject: [PATCH 119/286] Update omada.sh
---
ct/omada.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/omada.sh b/ct/omada.sh
index 59232dcfa5f..0ef88d784d7 100644
--- a/ct/omada.sh
+++ b/ct/omada.sh
@@ -55,4 +55,4 @@ 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}:8043${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8043${CL}"
From d74ad31e72390530da3dd633e10314c9cb9972a4 Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Fri, 20 Dec 2024 20:07:12 +0100
Subject: [PATCH 120/286] Hotfix: Remove new Keygeneration in Bookstack Update
(#948)
---
ct/bookstack.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/ct/bookstack.sh b/ct/bookstack.sh
index a54a11e2aad..e8b6aa1698e 100644
--- a/ct/bookstack.sh
+++ b/ct/bookstack.sh
@@ -49,7 +49,6 @@ function update_script() {
cp -r /opt/bookstack-backup/themes/ /opt/bookstack/themes
cd /opt/bookstack
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
- php artisan key:generate --force &>/dev/null
php artisan migrate --force &>/dev/null
chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
From 5e22f990d262974a98d318d488c7e988f3f59451 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 20 Dec 2024 20:08:20 +0100
Subject: [PATCH 121/286] Update CHANGELOG.md (#950)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b5f395771e..beba4331913 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,10 @@ Do not break established syntax in this file, as it is automatically updated by
- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
- New Script: CheckMk [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#926](https://github.com/community-scripts/ProxmoxVE/pull/926))
+### 🚀 Updated Scripts
+
+- Fix: Remove PHP Key generation in Bookstack Update [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#948](https://github.com/community-scripts/ProxmoxVE/pull/948))
+
### 🌐 Website
- Add Login Note for Checkmk [@MickLesk](https://github.com/MickLesk) ([#940](https://github.com/community-scripts/ProxmoxVE/pull/940))
From 53fcbb46bec01b77316cdafe5bba73361958be58 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 20:29:56 +0100
Subject: [PATCH 122/286] update guacamole creds
---
install/apache-guacamole-install.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh
index 0c95a69b244..39b10cb4efb 100644
--- a/install/apache-guacamole-install.sh
+++ b/install/apache-guacamole-install.sh
@@ -80,10 +80,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{
- echo "SnipeIT-Credentials"
- echo "SnipeIT Database User: $DB_USER"
- echo "SnipeIT Database Password: $DB_PASS"
- echo "SnipeIT Database Name: $DB_NAME"
+ echo "Guacamole-Credentials"
+ echo "Database User: $DB_USER"
+ echo "Database Password: $DB_PASS"
+ echo "Database Name: $DB_NAME"
} >> ~/guacamole.creds
cd guacamole-auth-jdbc-1.5.5/mysql/schema
cat *.sql | mysql -u root ${DB_NAME}
From 48e86b063b12dcf214b47f09bb19909077578d6f Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 20 Dec 2024 20:32:05 +0100
Subject: [PATCH 123/286] Update CHANGELOG.md (#951)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index beba4331913..e639d5c8e44 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,9 +22,9 @@ Do not break established syntax in this file, as it is automatically updated by
### ✨ New Scripts
+- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
- New Script: silverbullet [@dsiebel](https://github.com/dsiebel) ([#659](https://github.com/community-scripts/ProxmoxVE/pull/659))
- New Script: Zammad [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#640](https://github.com/community-scripts/ProxmoxVE/pull/640))
-- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
- New Script: CheckMk [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#926](https://github.com/community-scripts/ProxmoxVE/pull/926))
### 🚀 Updated Scripts
From e98d96a232e953e77ef2927dbe4cb19f2f2b672b Mon Sep 17 00:00:00 2001
From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com>
Date: Fri, 20 Dec 2024 13:31:27 -0800
Subject: [PATCH 124/286] Update checkmk.json (#954)
---
json/checkmk.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/json/checkmk.json b/json/checkmk.json
index be96b017c25..db23ab85730 100644
--- a/json/checkmk.json
+++ b/json/checkmk.json
@@ -12,7 +12,7 @@
"documentation": "https://docs.checkmk.com/",
"website": "https://checkmk.com/",
"logo": "https://checkmk.com/application/files/cache/thumbnails/67fc39c599afdf20557d538416e3efd3.png",
- "description": "Checkmk - Your complete IT monitoring solution",
+ "description": "Checkmk is an IT monitoring software that tracks the health and performance of your systems, networks, servers, applications, and cloud services. It provides real-time insights, alerts for issues, and tools for troubleshooting, helping ensure smooth operations across your infrastructure.",
"install_methods": [
{
"type": "default",
From 1c4c3b71e3002b907fefee5871a39937f1640ebc Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 20 Dec 2024 22:33:11 +0100
Subject: [PATCH 125/286] Update CHANGELOG.md (#955)
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e639d5c8e44..a12bc326bd4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -33,6 +33,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🌐 Website
+- Update checkmk description [@BramSuurdje](https://github.com/BramSuurdje) ([#954](https://github.com/community-scripts/ProxmoxVE/pull/954))
- Add Login Note for Checkmk [@MickLesk](https://github.com/MickLesk) ([#940](https://github.com/community-scripts/ProxmoxVE/pull/940))
### ❔ Unlabelled
From 67a0c06b806aff58688d1bf9dd6c9ff5564a771e Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 20 Dec 2024 23:18:29 +0100
Subject: [PATCH 126/286] update width for alpine
---
misc/build.func | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/misc/build.func b/misc/build.func
index b43746eac9e..5eed7c40d0f 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -164,13 +164,14 @@ header_info() {
apt-get install -y figlet &> /dev/null
elif [ -f /etc/alpine-release ]; then
# Alpine Linux
- apk add --no-cache figlet &> /dev/null
+ apk add --no-cache figlet ncurses &> /dev/null
+ export TERM=xterm
else
echo "Unsupported OS"
return 1
fi
- term_width=$(tput cols)
+ term_width=$(tput cols 2>/dev/null || echo 120) # Fallback to 120 columns
ascii_art=$(figlet -f slant -w "$term_width" "$APP")
clear
cat <
Date: Sat, 21 Dec 2024 11:24:51 -0500
Subject: [PATCH 127/286] Update homeassistant-core.sh (#961)
Corrected the port number to 8123
---
ct/homeassistant-core.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/homeassistant-core.sh b/ct/homeassistant-core.sh
index f5d5d0453a7..733489b27e0 100644
--- a/ct/homeassistant-core.sh
+++ b/ct/homeassistant-core.sh
@@ -128,4 +128,4 @@ 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}:8132${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
From 9523491c0ae3a71afb2d4ad872f6beb7176e7af5 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 21 Dec 2024 17:26:34 +0100
Subject: [PATCH 128/286] Update CHANGELOG.md (#965)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a12bc326bd4..8f83ee4ea74 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-21
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- update Port in homeassistant-core CT [@fraefel](https://github.com/fraefel) ([#961](https://github.com/community-scripts/ProxmoxVE/pull/961))
+
## 2024-12-20
### Changed
From ae67ee8768ca4314bb8cc83906e76793b1e5c690 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 23 Dec 2024 13:29:39 +0100
Subject: [PATCH 129/286] Bugfix Tag in Hyperion CT
---
ct/hyperion.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/hyperion.sh b/ct/hyperion.sh
index 552ee49836d..d862196eecc 100644
--- a/ct/hyperion.sh
+++ b/ct/hyperion.sh
@@ -7,7 +7,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# App Default Values
APP="Hyperion"
-var_tags="ambient lightning"
+var_tags="ambient-lightning"
var_cpu="1"
var_ram="512"
var_disk="2"
From b65d55282f0c3eed83c408df92caa4221643ae8d Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 23 Dec 2024 13:54:49 +0100
Subject: [PATCH 130/286] Update CHANGELOG.md (#984)
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f83ee4ea74..aaac30ee34d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-23
+
+### Changed
+
## 2024-12-21
### Changed
From 88120fcbccd8d452f5cc1d9e3a7c16ff05a8ad4a Mon Sep 17 00:00:00 2001
From: "Darin B."
Date: Mon, 23 Dec 2024 10:48:41 -0600
Subject: [PATCH 131/286] Update emby.sh to correct port (#989)
Updating echo to show correct port
---
ct/emby.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/emby.sh b/ct/emby.sh
index a57d4786c2c..91e04bee404 100644
--- a/ct/emby.sh
+++ b/ct/emby.sh
@@ -57,4 +57,4 @@ 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}:8086${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8096${CL}"
From 6debf20d1945b949c6cb37d225daeb60c78b0c5e Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 23 Dec 2024 17:50:23 +0100
Subject: [PATCH 132/286] Update CHANGELOG.md (#990)
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aaac30ee34d..84d09666af3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,10 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### 🚀 Updated Scripts
+
+- Update emby.sh to correct port [@Rageplant](https://github.com/Rageplant) ([#989](https://github.com/community-scripts/ProxmoxVE/pull/989))
+
## 2024-12-21
### Changed
From 4ed5bf0c12027658e7700d894aa1502191615780 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Mon, 23 Dec 2024 19:08:55 +0100
Subject: [PATCH 133/286] Fix Navidrome Update & Install (#991)
* Update navidrome.sh
* Update navidrome-install.sh
* remove develop
* remove empty line
---
ct/navidrome.sh | 12 +++++++-----
install/navidrome-install.sh | 4 ++--
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/ct/navidrome.sh b/ct/navidrome.sh
index e3c7d4656f1..3c606f68777 100644
--- a/ct/navidrome.sh
+++ b/ct/navidrome.sh
@@ -34,16 +34,18 @@ function update_script() {
fi
RELEASE=$(curl -s https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Stopping ${APP}"
- systemctl stop navidrome.service
+ systemctl stop navidrome
msg_ok "Stopped Navidrome"
msg_info "Updating to v${RELEASE}"
- wget https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz -O Navidrome.tar.gz &>/dev/null
+ cd /opt
+ wget -q https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz -O Navidrome.tar.gz
tar -xvzf Navidrome.tar.gz -C /opt/navidrome/ &>/dev/null
+ chmod +x /opt/navidrome/navidrome
msg_ok "Updated ${APP}"
- rm Navidrome.tar.gz
+ rm -rf /opt/Navidrome.tar.gz
- msg_info "${GN} Starting ${APP}"
+ msg_info "Starting ${APP}"
systemctl start navidrome.service
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
@@ -57,4 +59,4 @@ 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}:4533${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4533${CL}"
diff --git a/install/navidrome-install.sh b/install/navidrome-install.sh
index a78f5e91726..2bf37bcbf8a 100644
--- a/install/navidrome-install.sh
+++ b/install/navidrome-install.sh
@@ -20,14 +20,14 @@ $STD apt-get install -y mc
$STD apt-get install -y ffmpeg
msg_ok "Installed Dependencies"
-RELEASE=$(curl -s https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
-
msg_info "Installing Navidrome"
+RELEASE=$(curl -s https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
install -d -o root -g root /opt/navidrome
install -d -o root -g root /var/lib/navidrome
wget -q https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz -O Navidrome.tar.gz
$STD tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
chown -R root:root /opt/navidrome
+chmod +x /opt/navidrome/navidrome
mkdir -p /music
cat </var/lib/navidrome/navidrome.toml
MusicFolder = '/music'
From d71bf7bcdfe22438bcc03c393e84dccadce0ee4e Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Mon, 23 Dec 2024 19:10:15 +0100
Subject: [PATCH 134/286] Update CHANGELOG.md (#994)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 84d09666af3..1ef7222f5c1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Fix Navidrome Update & Install [@MickLesk](https://github.com/MickLesk) ([#991](https://github.com/community-scripts/ProxmoxVE/pull/991))
- Update emby.sh to correct port [@Rageplant](https://github.com/Rageplant) ([#989](https://github.com/community-scripts/ProxmoxVE/pull/989))
## 2024-12-21
From 0f2e49fbeb300861faae99ebacdbb75ec7f8b87e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Johanna=20R=C3=BChrig?=
Date: Wed, 25 Dec 2024 22:12:44 +0100
Subject: [PATCH 135/286] Doubled RAM for SAB (#1007)
Having only 2GB of RAM will result in unrar OOM crashes: https://github.com/sabnzbd/sabnzbd/issues/3007
---
ct/sabnzbd.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ct/sabnzbd.sh b/ct/sabnzbd.sh
index 1ef4edada57..5f58c02c99a 100644
--- a/ct/sabnzbd.sh
+++ b/ct/sabnzbd.sh
@@ -9,7 +9,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
APP="SABnzbd"
var_tags="downloader"
var_cpu="2"
-var_ram="2048"
+var_ram="4096"
var_disk="8"
var_os="debian"
var_version="12"
@@ -57,4 +57,4 @@ 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}:7777${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7777${CL}"
From 72df7e432d80ce3315d8e58e44d1fad0c5dff168 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Wed, 25 Dec 2024 22:14:17 +0100
Subject: [PATCH 136/286] Update CHANGELOG.md (#1008)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1ef7222f5c1..53ac54edc12 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-25
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Doubled RAM for SAB [@TheRealVira](https://github.com/TheRealVira) ([#1007](https://github.com/community-scripts/ProxmoxVE/pull/1007))
+
## 2024-12-23
### Changed
From 55e02d8bdda944c32ae1715179db8a9729a9ec4b Mon Sep 17 00:00:00 2001
From: Michel Roegl-Brunner
<73236783+michelroegl-brunner@users.noreply.github.com>
Date: Wed, 25 Dec 2024 22:14:57 +0100
Subject: [PATCH 137/286] Fix Script: Alpine Nextcloud Upload File Size Limit
(#933)
* Max File Size
* Small changes
---
install/alpine-nextcloud-install.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/install/alpine-nextcloud-install.sh b/install/alpine-nextcloud-install.sh
index 665e899219a..3fe273b28a2 100644
--- a/install/alpine-nextcloud-install.sh
+++ b/install/alpine-nextcloud-install.sh
@@ -103,6 +103,8 @@ server {
listen 80;
return 301 https://$host$request_uri;
server_name localhost;
+ client_max_body_size 16G;
+ fastcgi_read_timeout 120s;
}
server {
listen 443 ssl http2;
@@ -127,6 +129,8 @@ server {
fastcgi_pass unix:/run/nextcloud/fastcgi.sock; # From the nextcloud-initscript package
fastcgi_index index.php;
include fastcgi.conf;
+ fastcgi_read_timeout 120s;
+ client_max_body_size 16G;
}
location ^~ /.well-known/carddav { return 301 /remote.php/dav/; }
location ^~ /.well-known/caldav { return 301 /remote.php/dav/; }
@@ -135,6 +139,7 @@ server {
}
EOF
sed -i -e 's|memory_limit = 128M|memory_limit = 512M|; $aapc.enable_cli=1' /etc/php83/php.ini
+sed -i -e 's|upload_max_file_size = 2M|upload_max_file_size = 16G|' /etc/php83/php.ini
sed -i -E '/^php_admin_(flag|value)\[opcache/s/^/;/' /etc/php83/php-fpm.d/nextcloud.conf
msg_ok "Installed Nextcloud"
From b8885e8d6cdab4de516a2cd2b1c558c32cc3957c Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Wed, 25 Dec 2024 22:16:50 +0100
Subject: [PATCH 138/286] Update CHANGELOG.md (#1009)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 53ac54edc12..17a69e0c343 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Fix Script: Alpine Nextcloud Upload File Size Limit [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#933](https://github.com/community-scripts/ProxmoxVE/pull/933))
- Doubled RAM for SAB [@TheRealVira](https://github.com/TheRealVira) ([#1007](https://github.com/community-scripts/ProxmoxVE/pull/1007))
## 2024-12-23
From ee62a56cb959abe957ca3deee56c4f4ee9986eb2 Mon Sep 17 00:00:00 2001
From: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
Date: Wed, 25 Dec 2024 22:17:42 +0100
Subject: [PATCH 139/286] add: pve-datacenter-manager (#947)
* add: pve-datacenter-manager
* fix: scheming
* add: warn pre-alpha-state
* fix: naming & pve gpg key
* fix: naming
* fix: naming & correct install path
* Fix Tag
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
ct/proxmox-datacenter-manager.sh | 46 +++++++++++++++++++
install/proxmox-datacenter-manager-install.sh | 39 ++++++++++++++++
json/proxmox-datacenter-manager.json | 44 ++++++++++++++++++
3 files changed, 129 insertions(+)
create mode 100644 ct/proxmox-datacenter-manager.sh
create mode 100644 install/proxmox-datacenter-manager-install.sh
create mode 100644 json/proxmox-datacenter-manager.json
diff --git a/ct/proxmox-datacenter-manager.sh b/ct/proxmox-datacenter-manager.sh
new file mode 100644
index 00000000000..21fd5ee6f65
--- /dev/null
+++ b/ct/proxmox-datacenter-manager.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: CrazyWolf13
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: Proxmox Server Solution GmbH
+
+# App Default Values
+APP="proxmox-datacenter-manager"
+var_tags="datacenter"
+var_cpu="2"
+var_ram="2048"
+var_disk="10"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -e /usr/sbin/proxmox-datacenter-manager-admin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ 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}https://${IP}:8443${CL}"
diff --git a/install/proxmox-datacenter-manager-install.sh b/install/proxmox-datacenter-manager-install.sh
new file mode 100644
index 00000000000..8cd86eddc6a
--- /dev/null
+++ b/install/proxmox-datacenter-manager-install.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: CrazyWolf13
+# License: MIT
+# Source: Proxmox Server Solution GmbH
+
+source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ curl \
+ sudo \
+ gpg \
+ mc
+msg_ok "Installed Dependencies"
+
+msg_info "Installing Proxmox Datacenter Manager"
+curl -fsSL https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg | gpg --dearmor -o /etc/apt/keyrings/proxmox-release-bookworm.gpg
+echo "deb [signed-by=/etc/apt/keyrings/proxmox-release-bookworm.gpg] http://download.proxmox.com/debian/pdm bookworm pdm-test " >/etc/apt/sources.list.d/proxmox-release-bookworm.list
+$STD apt-get update
+$STD apt-get install -y \
+ proxmox-datacenter-manager \
+ proxmox-datacenter-manager-ui
+msg_ok "Installed Proxmox Datacenter Manager"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
\ No newline at end of file
diff --git a/json/proxmox-datacenter-manager.json b/json/proxmox-datacenter-manager.json
new file mode 100644
index 00000000000..13cde8b1930
--- /dev/null
+++ b/json/proxmox-datacenter-manager.json
@@ -0,0 +1,44 @@
+{
+ "name": "Proxmox Datacenter Manager",
+ "slug": "proxmox-datacenter-manager",
+ "categories": [
+ 11,
+ 1
+ ],
+ "date_created": "2024-12-20",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 8443,
+ "documentation": "https://pve.proxmox.com/wiki/Proxmox_Datacenter_Manager_Roadmap",
+ "website": "https://pve.proxmox.com/wiki/Proxmox_Datacenter_Manager_Roadmap",
+ "logo": "https://raw.githubusercontent.com/home-assistant/brands/master/core_integrations/proxmoxve/icon.png",
+ "description": "The Proxmox Datacenter Manager project has been developed with the objective of providing a centralized overview of all your individual nodes and clusters. It also enables basic management like migrations of virtual guests without any cluster network requirements. ",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/proxmox-datacenter-manager.sh",
+ "resources": {
+ "cpu": 2,
+ "ram": 2048,
+ "hdd": 10,
+ "os": "Debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": [
+ {
+ "text": "Set a root password if using autologin. This will be the Proxmox-Datacenter-Manager password. `sudo passwd root`",
+ "type": "info"
+ },
+ {
+ "text": "Proxmox Datacenter Manager is in an alpha stage of development. Use it cautiously, as bugs, incomplete features, and potential instabilities are expected.",
+ "type": "warning"
+ }
+ ]
+ }
\ No newline at end of file
From cf8dd2bfac113665d6ee4ea550f13ce4c2ebe2cc Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Wed, 25 Dec 2024 22:18:32 +0100
Subject: [PATCH 140/286] Update CHANGELOG.md (#1010)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 17a69e0c343..0a7c4785bdf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,10 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### ✨ New Scripts
+
+- add: pve-datacenter-manager [@CrazyWolf13](https://github.com/CrazyWolf13) ([#947](https://github.com/community-scripts/ProxmoxVE/pull/947))
+
### 🚀 Updated Scripts
- Fix Script: Alpine Nextcloud Upload File Size Limit [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#933](https://github.com/community-scripts/ProxmoxVE/pull/933))
From 7aca36a3f0a37d62de9797964d4c3a6895da388c Mon Sep 17 00:00:00 2001
From: Ryan Bradley <70593983+rbradley0@users.noreply.github.com>
Date: Thu, 26 Dec 2024 02:52:52 -0500
Subject: [PATCH 141/286] Fix Script: Fix broken build.func url (#1013)
---
ct/proxmox-datacenter-manager.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/proxmox-datacenter-manager.sh b/ct/proxmox-datacenter-manager.sh
index 21fd5ee6f65..d254d6835a2 100644
--- a/ct/proxmox-datacenter-manager.sh
+++ b/ct/proxmox-datacenter-manager.sh
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/build.func)
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 community-scripts ORG
# Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
From be66aefd9a76a8d75b7ed6753f8c780f6d184aba Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 26 Dec 2024 08:56:26 +0100
Subject: [PATCH 142/286] Update CHANGELOG.md (#1015)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0a7c4785bdf..f8c1b13084a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-26
+
+### Changed
+
+### 🚀 Updated Scripts
+
+- Fix Proxmox DataCenter: incorrect build.func url [@rbradley0](https://github.com/rbradley0) ([#1013](https://github.com/community-scripts/ProxmoxVE/pull/1013))
+
## 2024-12-25
### Changed
From 9b07fe41785e9fd11bb4f9245e1511ea1aab59c6 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Thu, 26 Dec 2024 10:18:47 +0100
Subject: [PATCH 143/286] Update proxmox-datacenter-manager.json
---
json/proxmox-datacenter-manager.json | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/json/proxmox-datacenter-manager.json b/json/proxmox-datacenter-manager.json
index 13cde8b1930..a9a1234abb1 100644
--- a/json/proxmox-datacenter-manager.json
+++ b/json/proxmox-datacenter-manager.json
@@ -2,10 +2,9 @@
"name": "Proxmox Datacenter Manager",
"slug": "proxmox-datacenter-manager",
"categories": [
- 11,
1
],
- "date_created": "2024-12-20",
+ "date_created": "2024-12-25",
"type": "ct",
"updateable": true,
"privileged": false,
@@ -41,4 +40,4 @@
"type": "warning"
}
]
- }
\ No newline at end of file
+ }
From b30e8c534f794d16c195603e80cca1b30bab1e3d Mon Sep 17 00:00:00 2001
From: Janek <6506725+jkrgr0@users.noreply.github.com>
Date: Thu, 26 Dec 2024 10:36:17 +0100
Subject: [PATCH 144/286] New Script: 2FAuth (#943)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* feat(2fauth): :sparkles: Added 2FAuth
* refactor: :truck: Changed path to user repo
* refactor: :truck: Changed path to user repo
* refactor: :truck: Changed path to user repo
* refactor: :truck: Changed path to user repo
* refactor: :truck: Changed path to user repo
* fix(2fauth): :bug: Fixed path to build functions file
* fix(2fauth): :bug: Fixed unbound variable
* fix(2fauth): :bug: Use instead of for the directory name
* chore(2fauth): :sparkles: Added dependency package for improved composer performance
* chore(2fauth): :sparkles: Added dependency package as it's required
* chore(2fauth): :sparkles: Added dependency package `php8.2-fpm` as it's required
* fix(2fauth): :bug: Fixed unbound variable
* fix(2fauth): :bug: Fixed installation
* fix(install): :bug: Fixed unassigned variable
* fix(install): :bug: Fixed installation
* fix(install): :bug: explicitly set ownership as last step
* revert: :rewind: Revert path rewrite to user repo
* revert: :rewind: Revert path rewrite to user repo
* refactor(2fauth): :coffin: Removed commented-out code
* fix(2fauth): :truck: Fixed path to remove correctly
* refactor(2fauth): :art: Changed from variables to static as requested
* docs(2fauth): :memo: Added notes for db credentials and the first account being an administrator account
* fix(2fauth): :loud_sound: Updated progress logging
* test(2fauth): :truck: Changed pathes temporarily to user repo to test the App
* fix(2fauth): :ambulance: Fixed wrong version file in update_script
* fix(2fauth): :lipstick: Removed duplicated version prefix v in messages
* Revert 'test(2fauth): 🚚 Changed pathes temporarily to user repo to test the App'
---
ct/2fauth.sh | 90 ++++++++++++++++++++++++++++
install/2fauth-install.sh | 123 ++++++++++++++++++++++++++++++++++++++
json/2fauth.json | 43 +++++++++++++
3 files changed, 256 insertions(+)
create mode 100644 ct/2fauth.sh
create mode 100644 install/2fauth-install.sh
create mode 100644 json/2fauth.json
diff --git a/ct/2fauth.sh b/ct/2fauth.sh
new file mode 100644
index 00000000000..1f930ac41e6
--- /dev/null
+++ b/ct/2fauth.sh
@@ -0,0 +1,90 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: jkrgr0
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://docs.2fauth.app/
+
+# App Default Values
+APP="2FAuth"
+TAGS="2fa;authenticator"
+var_cpu="1"
+var_ram="512"
+var_disk="2"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+
+ # Check if installation is present | -f for file, -d for folder
+ if [[ ! -d "/opt/2fauth" ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+
+ # Crawling the new version and checking whether an update is required
+ RELEASE=$(curl -s https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+ if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
+ msg_info "Updating $APP to ${RELEASE}"
+
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+
+ # Creating Backup
+ msg_info "Creating Backup"
+ mv "/opt/2fauth" "/opt/2fauth-backup"
+ msg_ok "Backup Created"
+
+ # Execute Update
+ wget -q "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
+ unzip -q "${RELEASE}.zip"
+ mv "2FAuth-${RELEASE//v}/" "/opt/2fauth"
+ mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
+ mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
+ cd "/opt/2fauth" || return
+
+ chown -R www-data: "/opt/2fauth"
+ chmod -R 755 "/opt/2fauth"
+
+ export COMPOSER_ALLOW_SUPERUSER=1
+ composer install --no-dev --prefer-source &>/dev/null
+
+ php artisan 2fauth:install
+
+ # Cleaning up
+ msg_info "Cleaning Up"
+ rm -rf "v${RELEASE}.zip"
+ $STD apt-get -y autoremove
+ $STD apt-get -y autoclean
+ msg_ok "Cleanup Completed"
+
+ # Last Action
+ echo "${RELEASE}" >/opt/2fauth_version.txt
+ msg_ok "Updated $APP to ${RELEASE}"
+ else
+ msg_ok "No update required. ${APP} is already at ${RELEASE}"
+ 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}:80${CL}"
\ No newline at end of file
diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh
new file mode 100644
index 00000000000..949b84b2e57
--- /dev/null
+++ b/install/2fauth-install.sh
@@ -0,0 +1,123 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: jkrgr0
+# License: MIT
+# Source: https://docs.2fauth.app/
+
+# Import Functions und Setup
+source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+# Installing Dependencies with the 3 core dependencies (curl;sudo;mc)
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ curl \
+ sudo \
+ mc \
+ nginx \
+ composer \
+ php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli} \
+ mariadb-server
+msg_ok "Installed Dependencies"
+
+# Template: MySQL Database
+msg_info "Setting up Database"
+DB_NAME=2fauth_db
+DB_USER=2fauth
+DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
+$STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
+$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
+$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
+{
+ echo "2FAuth Credentials"
+ echo "Database User: $DB_USER"
+ echo "Database Password: $DB_PASS"
+ echo "Database Name: $DB_NAME"
+} >> ~/2FAuth.creds
+msg_ok "Set up Database"
+
+# Setup App
+msg_info "Setup 2FAuth"
+RELEASE=$(curl -s https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+wget -q "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
+unzip -q "${RELEASE}.zip"
+mv "2FAuth-${RELEASE//v}/" /opt/2fauth
+
+cd "/opt/2fauth" || return
+cp .env.example .env
+IPADDRESS=$(hostname -I | awk '{print $1}')
+
+sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
+ -e "s|^DB_CONNECTION=$|DB_CONNECTION=mysql|" \
+ -e "s|^DB_DATABASE=$|DB_DATABASE=$DB_NAME|" \
+ -e "s|^DB_HOST=$|DB_HOST=127.0.0.1|" \
+ -e "s|^DB_PORT=$|DB_PORT=3306|" \
+ -e "s|^DB_USERNAME=$|DB_USERNAME=$DB_USER|" \
+ -e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env
+
+export COMPOSER_ALLOW_SUPERUSER=1
+$STD composer update --no-plugins --no-scripts
+$STD composer install --no-dev --prefer-source --no-plugins --no-scripts
+
+$STD php artisan key:generate --force
+
+$STD php artisan migrate:refresh
+$STD php artisan passport:install -q -n
+$STD php artisan storage:link
+$STD php artisan config:cache
+
+chown -R www-data: /opt/2fauth
+chmod -R 755 /opt/2fauth
+
+echo "${RELEASE}" >"/opt/2fauth_version.txt"
+msg_ok "Setup 2fauth"
+
+# Configure Service (NGINX)
+msg_info "Configure Service"
+cat </etc/nginx/conf.d/2fauth.conf
+server {
+ listen 80;
+ root /opt/2fauth/public;
+ server_name $IPADDRESS;
+ index index.php;
+ charset utf-8;
+
+ location / {
+ try_files \$uri \$uri/ /index.php?\$query_string;
+ }
+
+ location = /favicon.ico { access_log off; log_not_found off; }
+ location = /robots.txt { access_log off; log_not_found off; }
+
+ error_page 404 /index.php;
+
+ location ~ \.php\$ {
+ fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
+ fastcgi_param SCRIPT_FILENAME \$realpath_root\$fastcgi_script_name;
+ include fastcgi_params;
+ }
+
+ location ~ /\.(?!well-known).* {
+ deny all;
+ }
+}
+EOF
+
+systemctl reload nginx
+msg_ok "Configured Service"
+
+motd_ssh
+customize
+
+# Cleanup
+msg_info "Cleaning up"
+rm -f "/opt/v${RELEASE}.zip"
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
diff --git a/json/2fauth.json b/json/2fauth.json
new file mode 100644
index 00000000000..1fb77270251
--- /dev/null
+++ b/json/2fauth.json
@@ -0,0 +1,43 @@
+{
+ "name": "2FAuth",
+ "slug": "2fauth",
+ "categories": [
+ 0
+ ],
+ "date_created": "2024-12-20",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 80,
+ "documentation": null,
+ "website": "https://docs.2fauth.app/",
+ "logo": "https://raw.githubusercontent.com/Bubka/2FAuth/refs/heads/master/public/logo.svg",
+ "description": "2FAuth is a web based self-hosted alternative to One Time Passcode (OTP) generators like Google Authenticator, designed for both mobile and desktop. It aims to ease you perform your 2FA authentication steps whatever the device you handle, with a clean and suitable interface.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/2fauth.sh",
+ "resources": {
+ "cpu": 1,
+ "ram": 512,
+ "hdd": 2,
+ "os": "Debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": [
+ {
+ "text": "Database credentials: `cat ~/2FAuth.creds`",
+ "type": "info"
+ },
+ {
+ "text": "The very first account created is automatically set up as an administrator account.",
+ "type": "info"
+ }
+ ]
+ }
\ No newline at end of file
From 8f243c74fff420544a73642fdf98e7a9b4e2319a Mon Sep 17 00:00:00 2001
From: Alice Knag
Date: Thu, 26 Dec 2024 02:36:52 -0700
Subject: [PATCH 145/286] ensure all RFC1918 local Ipv4 addresses are in iptag
script (#992)
* ensure all RFC1918 local Ipv4 addresses are in iptag script
* fix indent
---
misc/add-lxc-iptag.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/misc/add-lxc-iptag.sh b/misc/add-lxc-iptag.sh
index 4222694ded6..3b556cc24a8 100644
--- a/misc/add-lxc-iptag.sh
+++ b/misc/add-lxc-iptag.sh
@@ -133,8 +133,9 @@ if [[ ! -f /opt/lxc-iptag/iptag.conf ]]; then
# List of allowed CIDRs
CIDR_LIST=(
192.168.0.0/16
- 100.64.0.0/10
+ 172.16.0.0/12
10.0.0.0/8
+ 100.64.0.0/10
)
# Interval settings (in seconds)
From b1dc0bc20fee576c096d6c680f826ca97544f516 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 26 Dec 2024 14:29:03 +0100
Subject: [PATCH 146/286] Update CHANGELOG.md (#1017)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f8c1b13084a..d7e336f8903 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,8 +20,13 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### ✨ New Scripts
+
+- New Script: 2FAuth [@jkrgr0](https://github.com/jkrgr0) ([#943](https://github.com/community-scripts/ProxmoxVE/pull/943))
+
### 🚀 Updated Scripts
+- ensure all RFC1918 local Ipv4 addresses are in iptag script [@AskAlice](https://github.com/AskAlice) ([#992](https://github.com/community-scripts/ProxmoxVE/pull/992))
- Fix Proxmox DataCenter: incorrect build.func url [@rbradley0](https://github.com/rbradley0) ([#1013](https://github.com/community-scripts/ProxmoxVE/pull/1013))
## 2024-12-25
From 1b57be94fd4d9b37cde60d3702da828c585fd2bd Mon Sep 17 00:00:00 2001
From: Kristo Copani <31226503+quantumryuu@users.noreply.github.com>
Date: Thu, 26 Dec 2024 20:00:20 +0200
Subject: [PATCH 147/286] New Script: Jenkins (#1019)
* jenkins
* push jenkins
* cleanup
* Create jenkins.json
* Update jenkins.json
* Added # Source before # App Default Values
* Update jenkins.sh var_tags
---
ct/jenkins.sh | 50 ++++++++++++++++++++++++++++++++++++++
install/jenkins-install.sh | 36 +++++++++++++++++++++++++++
json/jenkins.json | 34 ++++++++++++++++++++++++++
3 files changed, 120 insertions(+)
create mode 100644 ct/jenkins.sh
create mode 100644 install/jenkins-install.sh
create mode 100644 json/jenkins.json
diff --git a/ct/jenkins.sh b/ct/jenkins.sh
new file mode 100644
index 00000000000..235c43c8c3a
--- /dev/null
+++ b/ct/jenkins.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: kristocopani
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+# Source: https://www.jenkins.io/
+
+# App Default Values
+APP="Jenkins"
+var_tags="automation"
+var_cpu="2"
+var_ram="1024"
+var_disk="4"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -d /var/lib/jenkins ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ msg_info "Updating $APP LXC"
+ apt-get update &>/dev/null
+ apt-get -y upgrade &>/dev/null
+ msg_ok "Updated $APP LXC"
+ 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}:8080${CL}"
diff --git a/install/jenkins-install.sh b/install/jenkins-install.sh
new file mode 100644
index 00000000000..9283fb7aca9
--- /dev/null
+++ b/install/jenkins-install.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: kristocopani
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies"
+$STD apt-get install -y \
+ curl \
+ mc \
+ sudo \
+ openjdk-17-jre
+msg_ok "Installed Dependencies"
+
+msg_info "Setup Jenkins"
+wget -qO /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian/jenkins.io-2023.key
+echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" https://pkg.jenkins.io/debian binary/ >/etc/apt/sources.list.d/jenkins.list
+$STD apt-get update
+$STD apt-get install -y jenkins
+msg_ok "Setup Jenkins"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
\ No newline at end of file
diff --git a/json/jenkins.json b/json/jenkins.json
new file mode 100644
index 00000000000..9e2abbb2176
--- /dev/null
+++ b/json/jenkins.json
@@ -0,0 +1,34 @@
+{
+ "name": "Jenkins",
+ "slug": "jenkins",
+ "categories": [
+ 3
+ ],
+ "date_created": "2024-12-26",
+ "type": "ct",
+ "updateable": false,
+ "privileged": false,
+ "interface_port": 8080,
+ "documentation": "https://www.jenkins.io/doc/",
+ "website": "https://www.jenkins.io/",
+ "logo": "https://www.jenkins.io/images/logos/jenkins/jenkins.svg",
+ "description": "Jenkins provides hundreds of plugins to support building, deploying and automating any project. ",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/jenkins.sh",
+ "resources": {
+ "cpu": 2,
+ "ram": 1024,
+ "hdd": 4,
+ "os": "Debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": []
+ }
From ff3d2026a56891eaf8c4892fe605c9d9b3222ddb Mon Sep 17 00:00:00 2001
From: Andy Grunwald
Date: Thu, 26 Dec 2024 19:00:33 +0100
Subject: [PATCH 148/286] [GitHub Actions] Introduce Shellcheck to check bash
code (#1018)
---
.github/workflows/shellcheck.yml | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 .github/workflows/shellcheck.yml
diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml
new file mode 100644
index 00000000000..842ebabd587
--- /dev/null
+++ b/.github/workflows/shellcheck.yml
@@ -0,0 +1,25 @@
+name: Shellcheck
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ workflow_dispatch:
+ schedule:
+ - cron: "5 1 * * *"
+
+jobs:
+ shellcheck:
+ name: Shellcheck
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Run ShellCheck
+ uses: ludeeus/action-shellcheck@master
+ with:
+ ignore_paths: >-
+ frontend
+ json
From 4b0fff5a8848756fe53fe7d5595e121e7b16f1eb Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 26 Dec 2024 20:31:46 +0100
Subject: [PATCH 149/286] Update CHANGELOG.md (#1025)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d7e336f8903..84e33778fb0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@ Do not break established syntax in this file, as it is automatically updated by
### ✨ New Scripts
+- New Script: Jenkins [@quantumryuu](https://github.com/quantumryuu) ([#1019](https://github.com/community-scripts/ProxmoxVE/pull/1019))
- New Script: 2FAuth [@jkrgr0](https://github.com/jkrgr0) ([#943](https://github.com/community-scripts/ProxmoxVE/pull/943))
### 🚀 Updated Scripts
@@ -29,6 +30,10 @@ Do not break established syntax in this file, as it is automatically updated by
- ensure all RFC1918 local Ipv4 addresses are in iptag script [@AskAlice](https://github.com/AskAlice) ([#992](https://github.com/community-scripts/ProxmoxVE/pull/992))
- Fix Proxmox DataCenter: incorrect build.func url [@rbradley0](https://github.com/rbradley0) ([#1013](https://github.com/community-scripts/ProxmoxVE/pull/1013))
+### 🧰 Maintenance
+
+- [GitHub Actions] Introduce Shellcheck to check bash code [@andygrunwald](https://github.com/andygrunwald) ([#1018](https://github.com/community-scripts/ProxmoxVE/pull/1018))
+
## 2024-12-25
### Changed
From e253fe6cee8795252ea27c44140f201dacfa4591 Mon Sep 17 00:00:00 2001
From: Niklas <33813894+Niklas04@users.noreply.github.com>
Date: Thu, 26 Dec 2024 21:34:33 +0100
Subject: [PATCH 150/286] ChangeDetection Update: Update also Browsers (#1027)
* Changedetection: Update also browsers
* Changedetection: Adding more msg for updating, Make code more readable
---
ct/changedetection.sh | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/ct/changedetection.sh b/ct/changedetection.sh
index 6046b399e3f..86901e7d6bf 100644
--- a/ct/changedetection.sh
+++ b/ct/changedetection.sh
@@ -28,28 +28,45 @@ function update_script() {
header_info
check_container_storage
check_container_resources
+
if [[ ! -f /etc/systemd/system/changedetection.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
- msg_info "Updating ${APP} LXC"
+
if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
+ msg_info "Installing Dependencies"
apt-get update
apt-get install -y libjpeg-dev
+ msg_ok "Updated Dependencies"
fi
+
+ msg_info "Updating ${APP}"
pip3 install changedetection.io --upgrade &>/dev/null
+ msg_ok "Updated ${APP}"
+
+ msg_info "Updating Playwright"
pip3 install playwright --upgrade &>/dev/null
+ msg_ok "Updated Playwright"
+
if [[ -f /etc/systemd/system/browserless.service ]]; then
+ msg_info "Updating Browserless (Patience)"
git -C /opt/browserless/ fetch --all &>/dev/null
git -C /opt/browserless/ reset --hard origin/main &>/dev/null
npm update --prefix /opt/browserless &>/dev/null
+ /opt/browserless/node_modules/playwright-core/cli.js install --with-deps &>/dev/null
+ # Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
+ /opt/browserless/node_modules/playwright-core/cli.js install --force chrome &>/dev/null
+ /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit &>/dev/null
npm run build --prefix /opt/browserless &>/dev/null
npm run build:function --prefix /opt/browserless &>/dev/null
npm prune production --prefix /opt/browserless &>/dev/null
systemctl restart browserless
+ msg_ok "Updated Browserless"
else
msg_error "No Browserless Installation Found!"
fi
+
systemctl restart changedetection
msg_ok "Updated Successfully"
exit
@@ -62,4 +79,4 @@ 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}:5000${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
From 943e6967f45f1716c3e5da2aeae2b1199e54367c Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Thu, 26 Dec 2024 21:35:38 +0100
Subject: [PATCH 151/286] Update CHANGELOG.md (#1029)
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 84e33778fb0..75ab4ab6637 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- ChangeDetection Update: Update also Browsers [@Niklas04](https://github.com/Niklas04) ([#1027](https://github.com/community-scripts/ProxmoxVE/pull/1027))
- ensure all RFC1918 local Ipv4 addresses are in iptag script [@AskAlice](https://github.com/AskAlice) ([#992](https://github.com/community-scripts/ProxmoxVE/pull/992))
- Fix Proxmox DataCenter: incorrect build.func url [@rbradley0](https://github.com/rbradley0) ([#1013](https://github.com/community-scripts/ProxmoxVE/pull/1013))
From 0c31f437894e5eaa63cf7a8585086406505ebafa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Johanna=20R=C3=BChrig?=
Date: Fri, 27 Dec 2024 16:42:18 +0100
Subject: [PATCH 152/286] Updated documentation based on RAM increase (#1035)
https://github.com/community-scripts/ProxmoxVE/commit/0f2e49fbeb300861faae99ebacdbb75ec7f8b87e
---
json/sabnzbd.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/json/sabnzbd.json b/json/sabnzbd.json
index 003f5d8faad..ae6ebf43b3b 100644
--- a/json/sabnzbd.json
+++ b/json/sabnzbd.json
@@ -19,7 +19,7 @@
"script": "ct/sabnzbd.sh",
"resources": {
"cpu": 2,
- "ram": 2048,
+ "ram": 4096,
"hdd": 8,
"os": "debian",
"version": "12"
@@ -31,4 +31,4 @@
"password": null
},
"notes": []
-}
\ No newline at end of file
+}
From 8d96c5135d090bf6e6a4f617d73a688bfd858508 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20B=C3=A9dard-Couture?=
Date: Fri, 27 Dec 2024 10:42:46 -0500
Subject: [PATCH 153/286] new scripts for Authentik (#291)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* new scripts for Authentik
* Minor clean up based on initial PR review
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update json/authentik.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update json/authentik.json
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Minor fixes from havard's review
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update ct/authentik.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* More fixes addressing havard's review
* Update install/authentik-install.sh
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* Cleanup duplicate NodeJS installation commands
* Change port value type to numeric
* Change resources values type to numeric
* Addressing latest feedback from PR review
* merge from dev
Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
* merge from dev
Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
* merge from dev
Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---------
Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
ct/authentik.sh | 85 +++++++++++++++
install/authentik-install.sh | 195 +++++++++++++++++++++++++++++++++++
json/authentik.json | 39 +++++++
3 files changed, 319 insertions(+)
create mode 100644 ct/authentik.sh
create mode 100644 install/authentik-install.sh
create mode 100644 json/authentik.json
diff --git a/ct/authentik.sh b/ct/authentik.sh
new file mode 100644
index 00000000000..4b40b6def3d
--- /dev/null
+++ b/ct/authentik.sh
@@ -0,0 +1,85 @@
+#!/usr/bin/env bash
+source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: remz1337
+# License: MIT
+# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+# App Default Values
+APP="Authentik"
+var_tags="identity-provider"
+var_disk="15"
+var_cpu="6"
+var_ram="8192"
+var_os="debian"
+var_version="12"
+var_unprivileged="1"
+
+# App Output & Base Settings
+header_info "$APP"
+base_settings
+
+# Core
+variables
+color
+catch_errors
+
+function update_script() {
+ header_info
+ check_container_storage
+ check_container_resources
+ if [[ ! -f /etc/systemd/system/authentik-server.service ]]; then
+ msg_error "No ${APP} Installation Found!"
+ exit
+ fi
+ RELEASE=$(curl -s https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
+ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
+ msg_info "Stopping ${APP}"
+ systemctl stop authentik-server
+ systemctl stop authentik-worker
+ msg_ok "Stopped ${APP}"
+
+ msg_info "Building ${APP} website"
+ mkdir -p /opt/authentik
+ wget -qO authentik.tar.gz "${RELEASE}"
+ tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
+ rm -rf authentik.tar.gz
+ cd /opt/authentik/website
+ npm install &>/dev/null
+ npm run build-bundled &>/dev/null
+ cd /opt/authentik/web
+ npm install &>/dev/null
+ npm run build &>/dev/null
+ msg_ok "Built ${APP} website"
+
+ msg_info "Installing Python Dependencies"
+ cd /opt/authentik
+ poetry install --only=main --no-ansi --no-interaction --no-root &>/dev/null
+ poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt &>/dev/null
+ pip install --no-cache-dir -r requirements.txt &>/dev/null
+ pip install . &>/dev/null
+ msg_ok "Installed Python Dependencies"
+
+ msg_info "Updating ${APP} to v${RELEASE} (Patience)"
+ cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
+ bash /opt/authentik/lifecycle/ak migrate &>/dev/null
+ echo "${RELEASE}" >/opt/${APP}_version.txt
+ msg_ok "Updated ${APP} to v${RELEASE}"
+
+ msg_info "Starting ${APP}"
+ systemctl start authentik-server
+ systemctl start authentik-worker
+ msg_ok "Started ${APP}"
+ else
+ msg_ok "No update required. ${APP} is already at v${RELEASE}"
+ fi
+ exit
+}
+
+start
+build_container
+description
+
+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}/if/flow/initial-setup/${CL}"
diff --git a/install/authentik-install.sh b/install/authentik-install.sh
new file mode 100644
index 00000000000..cd863b09701
--- /dev/null
+++ b/install/authentik-install.sh
@@ -0,0 +1,195 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021-2024 community-scripts ORG
+# Author: remz1337
+# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
+
+source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
+color
+verb_ip6
+catch_errors
+setting_up_container
+network_check
+update_os
+
+msg_info "Installing Dependencies (Patience)"
+$STD apt-get install -y \
+ curl \
+ sudo \
+ mc \
+ gpg \
+ pkg-config \
+ libffi-dev \
+ build-essential \
+ libpq-dev \
+ libkrb5-dev \
+ libssl-dev \
+ libsqlite3-dev \
+ tk-dev \
+ libgdbm-dev \
+ libc6-dev \
+ libbz2-dev \
+ zlib1g-dev \
+ libxmlsec1 \
+ libxmlsec1-dev \
+ libxmlsec1-openssl \
+ libmaxminddb0 \
+ python3-pip \
+ git
+msg_ok "Installed Dependencies"
+
+msg_info "Installing yq"
+cd /tmp
+YQ_LATEST="$(wget -qO- "https://api.github.com/repos/mikefarah/yq/releases/latest" | grep -Po '"tag_name": "\K.*?(?=")')"
+wget -q "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq
+chmod +x /usr/bin/yq
+msg_ok "Installed yq"
+
+msg_info "Installing GeoIP"
+cd /tmp
+GEOIP_RELEASE=$(curl -s https://api.github.com/repos/maxmind/geoipupdate/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+wget -qO geoipupdate.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_RELEASE}/geoipupdate_${GEOIP_RELEASE}_linux_amd64.deb
+$STD dpkg -i geoipupdate.deb
+cat </etc/GeoIP.conf
+#GEOIPUPDATE_EDITION_IDS="GeoLite2-City GeoLite2-ASN"
+#GEOIPUPDATE_VERBOSE="1"
+#GEOIPUPDATE_ACCOUNT_ID_FILE="/run/secrets/GEOIPUPDATE_ACCOUNT_ID"
+#GEOIPUPDATE_LICENSE_KEY_FILE="/run/secrets/GEOIPUPDATE_LICENSE_KEY"
+EOF
+msg_ok "Installed GeoIP"
+
+msg_info "Setting up Python 3"
+cd /tmp
+wget -q https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz -O Python.tgz
+tar -zxf Python.tgz
+cd Python-3.12.1
+$STD ./configure --enable-optimizations
+$STD make altinstall
+cd ~
+$STD update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.12 1
+msg_ok "Setup Python 3"
+
+msg_info "Setting up Node.js Repository"
+mkdir -p /etc/apt/keyrings
+curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
+echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
+msg_ok "Set up Node.js Repository"
+
+msg_info "Installing Node.js"
+$STD apt-get update
+$STD apt-get install -y nodejs
+msg_ok "Installed Node.js"
+
+msg_info "Installing Golang"
+cd /tmp
+set +o pipefail
+GO_RELEASE=$(curl -s https://go.dev/dl/ | grep -o -m 1 "go.*\linux-amd64.tar.gz")
+wget -q https://golang.org/dl/${GO_RELEASE}
+tar -xzf ${GO_RELEASE} -C /usr/local
+ln -s /usr/local/go/bin/go /usr/bin/go
+set -o pipefail
+msg_ok "Installed Golang"
+
+msg_info "Installing Redis"
+$STD apt-get install -y redis-server
+systemctl enable -q --now redis-server
+msg_ok "Installed Redis"
+
+msg_info "Installing PostgreSQL"
+$STD apt-get install -y postgresql postgresql-contrib
+DB_NAME="authentik"
+DB_USER="authentik"
+DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
+$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;"
+$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';"
+$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;"
+$STD sudo -u postgres psql -c "ALTER DATABASE $DB_NAME OWNER TO $DB_USER;"
+$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;"
+msg_ok "Installed PostgreSQL"
+
+msg_info "Installing authentik"
+RELEASE=$(curl -s https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
+mkdir -p /opt/authentik
+wget -qO authentik.tar.gz "${RELEASE}"
+tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
+cd /opt/authentik/website
+$STD npm install
+$STD npm run build-bundled
+cd /opt/authentik/web
+$STD npm install
+$STD npm run build
+echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
+cd /opt/authentik
+$STD go mod download
+$STD go build -o /go/authentik ./cmd/server
+$STD go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
+cd /opt/authentik
+$STD pip3 install --upgrade pip
+$STD pip3 install poetry poetry-plugin-export
+ln -s /usr/local/bin/poetry /usr/bin/poetry
+$STD poetry install --only=main --no-ansi --no-interaction --no-root
+$STD poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt
+$STD pip install --no-cache-dir -r requirements.txt
+$STD pip install .
+mkdir -p /etc/authentik
+mv /opt/authentik/authentik/lib/default.yml /etc/authentik/config.yml
+$STD yq -i ".secret_key = \"$(openssl rand -hex 32)\"" /etc/authentik/config.yml
+$STD yq -i ".postgresql.password = \"${DB_PASS}\"" /etc/authentik/config.yml
+$STD yq -i ".geoip = \"/opt/authentik/tests/GeoLite2-City-Test.mmdb\"" /etc/authentik/config.yml
+cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
+$STD yq -i ".blueprints_dir = \"/opt/authentik/blueprints\"" /etc/authentik/config.yml
+ln -s /usr/bin/python3 /usr/bin/python
+ln -s /usr/local/bin/gunicorn /usr/bin/gunicorn
+ln -s /usr/local/bin/celery /usr/bin/celery
+$STD bash /opt/authentik/lifecycle/ak migrate
+cd ~
+msg_ok "Installed authentik"
+
+msg_info "Creating Services"
+cat </etc/systemd/system/authentik-server.service
+[Unit]
+Description = authentik Server
+
+[Service]
+ExecStart=/opt/authentik/authentik-server
+WorkingDirectory=/opt/authentik/
+Restart=always
+RestartSec=5
+
+[Install]
+WantedBy=multi-user.target
+EOF
+
+cat </etc/systemd/system/authentik-worker.service
+[Unit]
+Description = authentik Worker
+
+[Service]
+Environment=DJANGO_SETTINGS_MODULE="authentik.root.settings"
+ExecStart=celery -A authentik.root.celery worker -Ofair --max-tasks-per-child=1 --autoscale 3,1 -E -B -s /tmp/celerybeat-schedule -Q authentik,authentik_scheduled,authentik_events
+WorkingDirectory=/opt/authentik/authentik
+Restart=always
+RestartSec=5
+
+[Install]
+WantedBy=multi-user.target
+EOF
+systemctl enable -q --now authentik-server
+sleep 2
+systemctl enable -q --now authentik-worker
+msg_ok "Created Services"
+
+motd_ssh
+customize
+
+msg_info "Cleaning up"
+rm -rf /tmp/Python-3.12.1
+rm -rf /tmp/Python.tgz
+rm -rf go/
+rm -rf /tmp/${GO_RELEASE}
+rm -rf /tmp/geoipupdate.deb
+rm -rf authentik.tar.gz
+$STD apt-get -y remove yq
+$STD apt-get -y autoremove
+$STD apt-get -y autoclean
+msg_ok "Cleaned"
diff --git a/json/authentik.json b/json/authentik.json
new file mode 100644
index 00000000000..d55d0f1def5
--- /dev/null
+++ b/json/authentik.json
@@ -0,0 +1,39 @@
+{
+ "name": "authentik",
+ "slug": "authentik",
+ "categories": [
+ 11
+ ],
+ "date_created": "2024-12-26",
+ "type": "ct",
+ "updateable": true,
+ "privileged": false,
+ "interface_port": 9000,
+ "documentation": "https://docs.goauthentik.io/docs/",
+ "website": "https://goauthentik.io/",
+ "logo": "https://github.com/goauthentik/authentik/blob/main/website/static/img/icon.png",
+ "description": "authentik is an IdP (Identity Provider) and SSO (single sign on) that is built with security at the forefront of every piece of code, every feature, with an emphasis on flexibility and versatility.",
+ "install_methods": [
+ {
+ "type": "default",
+ "script": "ct/authentik.sh",
+ "resources": {
+ "cpu": 6,
+ "ram": 8192,
+ "hdd": 12,
+ "os": "debian",
+ "version": "12"
+ }
+ }
+ ],
+ "default_credentials": {
+ "username": null,
+ "password": null
+ },
+ "notes": [
+ {
+ "text": "Authentik is very resource-heavy, it is recommended to use at least 8GB RAM anytime!",
+ "type": "warning"
+ }
+ ]
+}
From 12f087932fc6c59c03f9eb61035eb53e5467f0ac Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 27 Dec 2024 16:51:18 +0100
Subject: [PATCH 154/286] Update CHANGELOG.md (#1041)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 75ab4ab6637..7239f9dcde3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,18 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-27
+
+### Changed
+
+### ✨ New Scripts
+
+- new scripts for Authentik [@remz1337](https://github.com/remz1337) ([#291](https://github.com/community-scripts/ProxmoxVE/pull/291))
+
+### 🌐 Website
+
+- Updated SAB documentation based on RAM increase [@TheRealVira](https://github.com/TheRealVira) ([#1035](https://github.com/community-scripts/ProxmoxVE/pull/1035))
+
## 2024-12-26
### Changed
From 71d21f3bfe4157c6875002931cca8f56edb530c2 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 27 Dec 2024 19:42:13 +0100
Subject: [PATCH 155/286] fix Tags for Advanced Settings (#1042)
---
misc/build.func | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/misc/build.func b/misc/build.func
index 5eed7c40d0f..2213aa57290 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -317,7 +317,7 @@ advanced_settings() {
done
fi
# Setting Default Tag for Advanced Settings
- TAGS="community-script;"
+ TAGS="community-script;${var_tags:-}"
CT_TYPE=""
while [ -z "$CT_TYPE" ]; do
From 1378e9a2e9bb512f93a9c8cbb6130350de8f005c Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 27 Dec 2024 19:45:58 +0100
Subject: [PATCH 156/286] Update CHANGELOG.md (#1043)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7239f9dcde3..6fdf4c1f792 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,6 +28,10 @@ Do not break established syntax in this file, as it is automatically updated by
- Updated SAB documentation based on RAM increase [@TheRealVira](https://github.com/TheRealVira) ([#1035](https://github.com/community-scripts/ProxmoxVE/pull/1035))
+### ❔ Unlabelled
+
+- fix Tags for Advanced Settings [@MickLesk](https://github.com/MickLesk) ([#1042](https://github.com/community-scripts/ProxmoxVE/pull/1042))
+
## 2024-12-26
### Changed
From 6bae0d71eaad55d7768c7ea647c3dd75d7905b20 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 27 Dec 2024 19:53:50 +0100
Subject: [PATCH 157/286] Patch Figlet Repo if missing (#1044)
* Patch Figlet Repo if missing
* readd comment
---
misc/build.func | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/misc/build.func b/misc/build.func
index 2213aa57290..ed08660a56f 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -161,6 +161,10 @@ arch_check() {
header_info() {
if [ -f /etc/debian_version ]; then
# Debian/Ubuntu
+ if ! grep -q "^deb http://ftp.debian.org/debian bookworm main contrib" /etc/apt/sources.list; then
+ echo "deb http://ftp.debian.org/debian bookworm main contrib" >> /etc/apt/sources.list
+ apt-get update -y &> /dev/null
+ fi
apt-get install -y figlet &> /dev/null
elif [ -f /etc/alpine-release ]; then
# Alpine Linux
From ab292927e61722f7f970c9ebbe9c4e0c0ab2a922 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 27 Dec 2024 19:55:41 +0100
Subject: [PATCH 158/286] Update CHANGELOG.md (#1045)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6fdf4c1f792..857de2bfce0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -30,6 +30,7 @@ Do not break established syntax in this file, as it is automatically updated by
### ❔ Unlabelled
+- Patch Figlet Repo if missing [@MickLesk](https://github.com/MickLesk) ([#1044](https://github.com/community-scripts/ProxmoxVE/pull/1044))
- fix Tags for Advanced Settings [@MickLesk](https://github.com/MickLesk) ([#1042](https://github.com/community-scripts/ProxmoxVE/pull/1042))
## 2024-12-26
From 517b19a62b93a0bd47a1ee5cfb1c26cbbaa443e2 Mon Sep 17 00:00:00 2001
From: JBSAN3 <72016241+sannier3@users.noreply.github.com>
Date: Fri, 27 Dec 2024 20:28:25 +0100
Subject: [PATCH 159/286] Apache-Guacamole script bug fix (#1039)
* Fix apache-guacamole-script
* Update apache-guacamole-install.sh
Changed ip address binding for more security
* Update apache-guacamole-install.sh
* remove systemctl start
---------
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
---
install/apache-guacamole-install.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh
index 39b10cb4efb..71393235c6d 100644
--- a/install/apache-guacamole-install.sh
+++ b/install/apache-guacamole-install.sh
@@ -98,6 +98,11 @@ cat *.sql | mysql -u root ${DB_NAME}
msg_ok "Setup Database"
msg_info "Setup Service"
+cat </etc/guacamole/guacd.conf
+[server]
+bind_host = 127.0.0.1
+bind_port = 4822
+EOF
JAVA_HOME=$(update-alternatives --query javadoc | grep Value: | head -n1 | sed 's/Value: //' | sed 's@bin/javadoc$@@')
cat </etc/systemd/system/tomcat.service
[Unit]
From 395d1086ea211cf6f0f8e58c4843495b4dc4b252 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 27 Dec 2024 20:29:01 +0100
Subject: [PATCH 160/286] Add 8.0 for MongoDB Installation (#1046)
* Add 8.0 for MongoDB Installation
* Add MongoDB Check
---
ct/mongodb.sh | 4 ++--
install/mongodb-install.sh | 17 +++++++++++++----
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/ct/mongodb.sh b/ct/mongodb.sh
index bd86a235e85..2dcaae3214b 100644
--- a/ct/mongodb.sh
+++ b/ct/mongodb.sh
@@ -28,7 +28,7 @@ function update_script() {
header_info
check_container_storage
check_container_resources
- if [[ ! -f /etc/apt/sources.list.d/mongodb-org-7.0.list ]]; then
+ if [[ ! -f /etc/apt/sources.list.d/mongodb-org-7.0.list && ! -f /etc/apt/sources.list.d/mongodb-org-8.0.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
@@ -44,4 +44,4 @@ build_container
description
msg_ok "Completed Successfully!\n"
-echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
\ No newline at end of file
+echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
diff --git a/install/mongodb-install.sh b/install/mongodb-install.sh
index 6b682e9ee43..30553ff09c2 100644
--- a/install/mongodb-install.sh
+++ b/install/mongodb-install.sh
@@ -1,3 +1,4 @@
+
#!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck
@@ -20,14 +21,22 @@ $STD apt-get install -y sudo
$STD apt-get install -y mc
msg_ok "Installed Dependencies"
-msg_info "Installing MongoDB"
-wget -qO- https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-7.0.gpg
-echo "deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] http://repo.mongodb.org/apt/debian $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/7.0 main" >/etc/apt/sources.list.d/mongodb-org-7.0.list
+# Abfrage für die MongoDB-Version
+read -p "Do you want to install MongoDB 8.0 instead of 7.0? [y/N]: " install_mongodb_8
+if [[ "$install_mongodb_8" =~ ^[Yy]$ ]]; then
+ MONGODB_VERSION="8.0"
+else
+ MONGODB_VERSION="7.0"
+fi
+
+msg_info "Installing MongoDB $MONGODB_VERSION"
+wget -qO- https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg
+echo "deb [signed-by=/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg] http://repo.mongodb.org/apt/debian $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/${MONGODB_VERSION} main" >/etc/apt/sources.list.d/mongodb-org-${MONGODB_VERSION}.list
$STD apt-get update
$STD apt-get install -y mongodb-org
sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/' /etc/mongod.conf
systemctl enable -q --now mongod.service
-msg_ok "Installed MongoDB"
+msg_ok "Installed MongoDB $MONGODB_VERSION"
motd_ssh
customize
From f97e93220519f8ba8531c1c51476d8ba4e9214c2 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 27 Dec 2024 20:29:50 +0100
Subject: [PATCH 161/286] Update CHANGELOG.md (#1047)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 857de2bfce0..986bc1da1f9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,11 @@ Do not break established syntax in this file, as it is automatically updated by
- new scripts for Authentik [@remz1337](https://github.com/remz1337) ([#291](https://github.com/community-scripts/ProxmoxVE/pull/291))
+### 🚀 Updated Scripts
+
+- Add 8.0 for MongoDB Installation [@MickLesk](https://github.com/MickLesk) ([#1046](https://github.com/community-scripts/ProxmoxVE/pull/1046))
+- Apache-Guacamole script bug fix [@sannier3](https://github.com/sannier3) ([#1039](https://github.com/community-scripts/ProxmoxVE/pull/1039))
+
### 🌐 Website
- Updated SAB documentation based on RAM increase [@TheRealVira](https://github.com/TheRealVira) ([#1035](https://github.com/community-scripts/ProxmoxVE/pull/1035))
From 406bb57d7411c5eca25b79536bfe50fafce30f9c Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 27 Dec 2024 20:35:20 +0100
Subject: [PATCH 162/286] Update Zabbix to 7.2. Release (#1048)
* Update Zabbix to 7.2
* Update Zabbix to 7.2
---
ct/zabbix.sh | 4 ++--
install/zabbix-install.sh | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ct/zabbix.sh b/ct/zabbix.sh
index 79139f90288..243004844a5 100644
--- a/ct/zabbix.sh
+++ b/ct/zabbix.sh
@@ -44,7 +44,7 @@ function update_script() {
cp -R /usr/share/zabbix-* /opt/zabbix-backup/
rm -Rf /etc/apt/sources.list.d/zabbix.list
cd /tmp
- wget -q https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
+ wget -q https://repo.zabbix.com/zabbix/7.2/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
dpkg -i zabbix-release_latest+debian12_all.deb &>/dev/null
apt-get update &>/dev/null
apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* &>/dev/null
@@ -68,4 +68,4 @@ 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}/zabbix${CL}"
\ No newline at end of file
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/zabbix${CL}"
diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh
index 8e2af1bc91e..671be438207 100644
--- a/install/zabbix-install.sh
+++ b/install/zabbix-install.sh
@@ -22,7 +22,7 @@ msg_ok "Installed Dependencies"
msg_info "Installing Zabbix"
cd /tmp
-wget -q https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
+wget -q https://repo.zabbix.com/zabbix/7.2/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
$STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb
$STD apt-get update
$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts
From 26e4017d7641d045fb27c5afb69ad710b68f8d47 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 27 Dec 2024 20:36:14 +0100
Subject: [PATCH 163/286] Update CHANGELOG.md (#1049)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 986bc1da1f9..a166eda2aac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Update Zabbix to 7.2. Release [@MickLesk](https://github.com/MickLesk) ([#1048](https://github.com/community-scripts/ProxmoxVE/pull/1048))
- Add 8.0 for MongoDB Installation [@MickLesk](https://github.com/MickLesk) ([#1046](https://github.com/community-scripts/ProxmoxVE/pull/1046))
- Apache-Guacamole script bug fix [@sannier3](https://github.com/sannier3) ([#1039](https://github.com/community-scripts/ProxmoxVE/pull/1039))
From d3eaf6eaf5188f4557c369a8f1121bae985c0bf4 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Fri, 27 Dec 2024 20:38:03 +0100
Subject: [PATCH 164/286] Update CHANGELOG.md (#1050)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a166eda2aac..98c94b3e882 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,8 +26,8 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
-- Update Zabbix to 7.2. Release [@MickLesk](https://github.com/MickLesk) ([#1048](https://github.com/community-scripts/ProxmoxVE/pull/1048))
- Add 8.0 for MongoDB Installation [@MickLesk](https://github.com/MickLesk) ([#1046](https://github.com/community-scripts/ProxmoxVE/pull/1046))
+- Update Zabbix to 7.2. Release [@MickLesk](https://github.com/MickLesk) ([#1048](https://github.com/community-scripts/ProxmoxVE/pull/1048))
- Apache-Guacamole script bug fix [@sannier3](https://github.com/sannier3) ([#1039](https://github.com/community-scripts/ProxmoxVE/pull/1039))
### 🌐 Website
From 87ff677ed7524dd13928e8d10b734461061c8d7a Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Fri, 27 Dec 2024 20:42:36 +0100
Subject: [PATCH 165/286] Fix Authentik Logo
---
json/authentik.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/json/authentik.json b/json/authentik.json
index d55d0f1def5..4b3f87a3cb0 100644
--- a/json/authentik.json
+++ b/json/authentik.json
@@ -4,14 +4,14 @@
"categories": [
11
],
- "date_created": "2024-12-26",
+ "date_created": "2024-12-27",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9000,
"documentation": "https://docs.goauthentik.io/docs/",
"website": "https://goauthentik.io/",
- "logo": "https://github.com/goauthentik/authentik/blob/main/website/static/img/icon.png",
+ "logo": "https://raw.githubusercontent.com/goauthentik/authentik/refs/heads/main/website/static/img/icon.png",
"description": "authentik is an IdP (Identity Provider) and SSO (single sign on) that is built with security at the forefront of every piece of code, every feature, with an emphasis on flexibility and versatility.",
"install_methods": [
{
From b22d66da1b286f67861f05c3f9dcd477fab5d033 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Sat, 28 Dec 2024 08:42:28 +0100
Subject: [PATCH 166/286] fix url
---
ct/zabbix.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/zabbix.sh b/ct/zabbix.sh
index 243004844a5..55a5c9521fd 100644
--- a/ct/zabbix.sh
+++ b/ct/zabbix.sh
@@ -44,7 +44,7 @@ function update_script() {
cp -R /usr/share/zabbix-* /opt/zabbix-backup/
rm -Rf /etc/apt/sources.list.d/zabbix.list
cd /tmp
- wget -q https://repo.zabbix.com/zabbix/7.2/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
+ wget -q https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
dpkg -i zabbix-release_latest+debian12_all.deb &>/dev/null
apt-get update &>/dev/null
apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* &>/dev/null
From cdb121a55f19a1b0a568c2492e7643cc04e93dec Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Sat, 28 Dec 2024 08:43:01 +0100
Subject: [PATCH 167/286] fix url
---
install/zabbix-install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh
index 671be438207..994f1616efc 100644
--- a/install/zabbix-install.sh
+++ b/install/zabbix-install.sh
@@ -22,7 +22,7 @@ msg_ok "Installed Dependencies"
msg_info "Installing Zabbix"
cd /tmp
-wget -q https://repo.zabbix.com/zabbix/7.2/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
+wget -q https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb
$STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb
$STD apt-get update
$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts
From 8c0794c2bbe73e44e6fef3eb39c8e4d17290a3d3 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 28 Dec 2024 14:58:18 +0100
Subject: [PATCH 168/286] Update CHANGELOG.md (#1056)
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 98c94b3e882..5e065a37cca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight
> [!IMPORTANT]
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
+## 2024-12-28
+
+### Changed
+
## 2024-12-27
### Changed
From d4c95779bf8d713f234046605e9074313a6a9d75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Johanna=20R=C3=BChrig?=
Date: Sat, 28 Dec 2024 20:31:25 +0100
Subject: [PATCH 169/286] Added missing port to access url (#1065)
---
ct/authentik.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ct/authentik.sh b/ct/authentik.sh
index 4b40b6def3d..6ea956ed2c9 100644
--- a/ct/authentik.sh
+++ b/ct/authentik.sh
@@ -82,4 +82,4 @@ description
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}/if/flow/initial-setup/${CL}"
+echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${CL}"
From fe3ff916b65b40b9c67195950304ea31f43e59d3 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Sat, 28 Dec 2024 20:37:58 +0100
Subject: [PATCH 170/286] Add MOTD IP Update (#1067)
---
misc/build.func | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/misc/build.func b/misc/build.func
index ed08660a56f..1fe025a2cc8 100644
--- a/misc/build.func
+++ b/misc/build.func
@@ -157,6 +157,36 @@ arch_check() {
fi
}
+# Function to get the current IP address based on the distribution
+get_current_ip() {
+ if [ -f /etc/os-release ]; then
+ # Check for Debian/Ubuntu (uses hostname -I)
+ if grep -qE 'ID=debian|ID=ubuntu' /etc/os-release; then
+ CURRENT_IP=$(hostname -I | awk '{print $1}')
+ # Check for Alpine (uses ip command)
+ elif grep -q 'ID=alpine' /etc/os-release; then
+ CURRENT_IP=$(ip -4 addr show eth0 | awk '/inet / {print $2}' | cut -d/ -f1 | head -n 1)
+ else
+ CURRENT_IP="Unknown"
+ fi
+ fi
+ echo "$CURRENT_IP"
+}
+
+# Function to update the IP address in the MOTD file
+update_motd_ip() {
+ MOTD_FILE="/etc/motd"
+
+ if [ -f "$MOTD_FILE" ]; then
+ # Remove existing IP Address lines to prevent duplication
+ sed -i '/IP Address:/d' "$MOTD_FILE"
+
+ IP=$(get_current_ip)
+ # Add the new IP address
+ echo -e "${TAB}${NETWORK}${YW} IP Address: ${GN}${IP}${CL}" >> "$MOTD_FILE"
+ fi
+}
+
# This function sets the APP-Name into an ASCII Header in Slant, figlet needed on proxmox main node.
header_info() {
if [ -f /etc/debian_version ]; then
From 92d2e421ee53a560dcd39a03bc50007135cda589 Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 28 Dec 2024 20:42:56 +0100
Subject: [PATCH 171/286] Update CHANGELOG.md (#1066)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e065a37cca..08edb807d08 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,14 @@ Do not break established syntax in this file, as it is automatically updated by
### Changed
+### 💥 Breaking Changes
+
+- Add an IP-Update for MOTD if IP Changed [@MickLesk](https://github.com/MickLesk) ([#1067](https://github.com/community-scripts/ProxmoxVE/pull/1067))
+
+### 🚀 Updated Scripts
+
+- Authentik: added missing port to access url [@TheRealVira](https://github.com/TheRealVira) ([#1065](https://github.com/community-scripts/ProxmoxVE/pull/1065))
+
## 2024-12-27
### Changed
From 678206768caccd5ac43b75e6455bd552db8acd86 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Sat, 28 Dec 2024 20:47:50 +0100
Subject: [PATCH 172/286] Zabbix: Fix SQL Path for 7.2 (#1069)
---
install/zabbix-install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh
index 994f1616efc..286d425c2c9 100644
--- a/install/zabbix-install.sh
+++ b/install/zabbix-install.sh
@@ -39,7 +39,7 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
-zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u $DB_USER psql $DB_NAME &>/dev/null
+zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u $DB_USER psql $DB_NAME &>/dev/null
sed -i "s/^DBName=.*/DBName=$DB_NAME/" /etc/zabbix/zabbix_server.conf
sed -i "s/^DBUser=.*/DBUser=$DB_USER/" /etc/zabbix/zabbix_server.conf
sed -i "s/^# DBPassword=.*/DBPassword=$DB_PASS/" /etc/zabbix/zabbix_server.conf
From 304db812a82d738378fc705435c595bb8d415f1e Mon Sep 17 00:00:00 2001
From: "community-scripts-pr-app[bot]"
<189241966+community-scripts-pr-app[bot]@users.noreply.github.com>
Date: Sat, 28 Dec 2024 20:48:31 +0100
Subject: [PATCH 173/286] Update CHANGELOG.md (#1070)
Co-authored-by: github-actions[bot]
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 08edb807d08..1bde017fe68 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@ Do not break established syntax in this file, as it is automatically updated by
### 🚀 Updated Scripts
+- Zabbix: Fix SQL Path for 7.2 [@MickLesk](https://github.com/MickLesk) ([#1069](https://github.com/community-scripts/ProxmoxVE/pull/1069))
- Authentik: added missing port to access url [@TheRealVira](https://github.com/TheRealVira) ([#1065](https://github.com/community-scripts/ProxmoxVE/pull/1065))
## 2024-12-27
From 611a14b55f0e96341f3ce3eec3a71838f151e040 Mon Sep 17 00:00:00 2001
From: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Date: Sat, 28 Dec 2024 20:53:37 +0100
Subject: [PATCH 174/286] Add Figlet into repo
---
misc/figlet.tar.xz | Bin 0 -> 168152 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 misc/figlet.tar.xz
diff --git a/misc/figlet.tar.xz b/misc/figlet.tar.xz
new file mode 100644
index 0000000000000000000000000000000000000000..3a2308ebaeaac1a8488ab4f5817f960c73deb708
GIT binary patch
literal 168152
zcmV(pK=8l)H+ooF000E$*0e?f03iVu0001VFXf}=CKT`iT>vv0Ng5?tI$b@VijB9y
z=2!*Rc*8a9%x!yc0cGM
z*Yj%|rEyG``I3NDzHS|f$m-eqg3M3Up&VU1ZK@>9eSDN>kJ)R(Y#*naokW#0J5GjC
zX=$A0k{#YWx6@CxZM;=p4V2AOKd6w0>~Q=32{Q>t@tA_(xUmIgfhH9p_ou9ow?r%#
zs|bZA|GWsL7VgqRwk+HXYdG0@=nYzG4+rVJ5L&Z5Lt2{Jck*OlX
zttfm}G>tzDb9IKM^!U*5AD4lE$CukHL0f85(UA92_)cJR@Yp4`e8@rH$^VDy@y7Z%
zo1e}Cj4xQNb#yG?$4-0^_{lRW%$XoeLXx4ykGe&8H+2w+3;U88FLSPyiX&Z>{LvH!
zxM2XAx_;}b*%RB&G6_}K`pK`ozElj~c1ov2D`f#m9Asq%#ZaQ^`BzR4LFkPHZJ_O(
z;dHGUd-XzMY7B4qv3s#@ztFqHu3Ce$93MoLz3$3PeIc|Y?7Qw~g|uNdUgx=cjTE1@
zO+Ey6sS*4Y^UNYc-u%CALtRS;5D?T<(#7W?ugJ&&fxJhkvmql$k|B2@@hElw$+!cG
z0m0U_pQS_BWGEBR{Gyri*7l!U^Pa4i0wTB1(7`QNV<*vWH9Y=CX-u89JLWAN6U-l2U|f28aAx<{
zX25__PZ0v9n-4HVivJ<6t8@*wlpInab|w<Lxr6{+|MTJw
z5c-Y14)OnV5caTpB7K(-i_ONb_u}ykKtVT1QbyF<`aD1F7hh5F3zR%OQsOq_*ts1o
z09}qWVv-|o$0@EW8;3NM1n&CejKS(F8PHym+SmJumtAogXG4XW=Gd6$GhWg^)q=pm
zj~ac$nI2oGE8CiRO7}q;z10{1yd6}rDE!iWM~ymu$KMBMTnll{8c50|hk%})FjrMB
z$ErRF8`T23bt@(6F%xxGN9$P_8KizTBG~Y2IFO@~=jr~gj;CnMMb5ors5fhmv88!p
zs)w8gY6ip4e=b=H`MkikYVDQ{h@;F$?OaA4=0xA=FB|K&gf4Y)N(|*t?-lbh
zPf#3?CR;M0J6dVM5Y?-6OAEg35$D-ohDG%|Z0O=M$sACOwq(?z55
z*J}z4sv+0V6$+X8_Wr$%PqfK=NqXZfiG21N?HFT20f63}+((Kjo$m`zx))2zV4Zwc
zKE2^@DQ9p=67nGhzix};rlHjb2N&aV|NEq}bkOeMuDE$f{dE%77%ksHOB+l8n3-r}
z_dgXs(CVW3>-`Yv1^7v`lB*PQSi25=Vr7en_erO024{Cq?4n3I+<~Hr1n3d~NT^6x
znsHlRH-?!Nh1LyAexAn6XO#mCOdw7ko@eY5RC4NUsy?e;X^m&lnwct2RB(Q?!WX>MIC%Fvx+c?4aaH$FLodg
zfrV}+{o`mvN~Ln{yajL<<_@WppZpe-C;e!d@_N$`ska^a93pA!WcLVt{7p+jDr*&uE@C$!vz)3`_FLsU~eLR&4OGy~?-2I_f*w(v)WFPaR>o|t6>OnwW
zIG6Di{bsO%GA3WOWa*m|_A&0%UChZBAHN=0yTDx|)Od>QA@W@tKDEQgRy17-$DvtO
zaZ<&>6OM9GG+bgxkKqf%Uz6FFn}`EA_Q)8ebywY!8G0HRV~;N1JdkHJ$dqAF9-bS9TPR
z-E7qiY>>cWjU`<3I9fzbncNB@AfI{r{L@$#u{Gv-+icG2K}4%<-<(*dc1bXIwsJ)^
ziYhLho6KPC)x*wS!&-|!;|xKAqSGb(cp;T(;OLbY|Bdbh+m1{c0ng>ctIuO(cZ=}L
zQ*4s5`7vK~?6{^wK)3ApImrrn*2L5S+DF5g;X+dfo?fu+t7w|OYFPPP{AMzRTZI=D
zMQHF4YJi4a`Z+&_Aq3t>s^HK?kn_>jr+t#z?Lc#^LYwRF<)F}`8^*>;O>op*!U6l$mOtNAtefFheR(QW#GSsd;c0zr^3YnY7ng~^j%VcEAWDs{KLh>Sr2W+z
zRdLoaDGhZdYfN~DA_WGT`vrKJIEV~zHEEh+J5%?8umHxLtoI_cekwY61iA}f_P|kf
zt{@mVMzRrH6h{i=HD_q=TBs?!q-3dU*4t1S=o3s#uDJ+;h-1$w`DF3T!@CRtG-+lu
z>+yr}L%dD$KNoKr)}4g%0*Xkea9?u&{O{PXuP}z#-2kN0s^%#sD1ujC<ZpKeejDkpJ7-^;$~{fgxZ&is82d>$I$aH*}|QLJWiRw
z0LZdW4wN;Z_z0S1UlSlGW(R&KMZ>}o9n)waYy2OnHShZV9jcl#PrUiJV47sm6t;a{
zbXJO$lj1VX*r-%y(5tJ%ZgZc*DPqkUKqfD6!^^MpO|PNfVg+TKr--3n`dyk
z8_T}jZ5N7=HrVo>*jaai-wnJgSvU~?`DQji_wXzMHtLVJwV
zw;+$C{pdxCyC%Y$Ei@xOCb9}v3#f8=lHnuXeA#|7@MUAWUudBAujDOFNs2g2vWE6i
zn_5Jzf)7A|#AGMd&Qrlxfy_vK;Rxu=a2A$(bFO60GUL#3bKiuwY9!_L>Z@Aw&K#B2
z7!tJ(zbk1}b{ODZeH6_7TtoA%m*XYpHBjHqZ~>CB0_YWqkCLUnOrYjUs`%Ozj$@E@
zmF@pDDVI@hJ{$nKN_wM-oQwLpEyZw=d&UC(g8=xXS8qviiUgJAe8a|YIy2aBa{5nv
zb12ndoP(L<7s*a2zF0(%Pk}lq?)x6iB^?|606snHDHOKJ@{Pj6nE5Tv_@m)TJy+c
zsXP~B<}MtmjLguFku~p3G^nb^%UN;G)_4O8uZp1I3S+BY-$55x$FC>WXyBO5K-zo=6lVofhv;7~#%ggQbge;}}ABXk<
z-v%`z!_jjN-q6`%)0J5y7k?3^|S}fBE5DeEYn?Rqz6kRP^9{kV+bS%;PKK#0ar9uNQ!us
zTC1-+^~>FQ>QJ-C2iANes50YCYCA`)@D!w0o=OOaTc|Xw2gu4IFWN9#V0$n4nE+pi5>&mYMUV
z-+oJ^bHIRVl=MbeJ2klPlU_>VA;NflPi6mdTo
z;40JV!WLr)Z6Dc7jI0>7^5?Mu@CI?5q6eu9sBB|p1otN{qLi@SO?ebMuzg7#@+t0w
znBnmhVImY>wuufykkoM6FWPiQF_j6{{F~#Zi<{lT-3-a~k0v!^bqis~Zb(A~jmZ-F
zVO6YUx6)3%Dc7TC>aKCgaK-bYL8n5r@EwgZ;|aB~I+Rs`^0B5V??fftS3!migii&g
zdaik9#UK7NJ
z3Xh^0cI{>PLE#}pL^+Ei%r{2%D27kwQ)ZQ9GiJkt5Qc#hLk@A$Le9q`g414RVFw+7
z6+B-s(YRNML)N^9E5+G9%#fu6n1T_xa`eBk+8}Me5>izmL`sJ%FHa>!f(p&do`1c<
zcY>!-k932)WTX2wJbG2OGQPs
z3F^egCcQGV?Q9a?>BKp=fZ9QOamH`mqp~ZK+8E_>DdCtXW@)}3!1%lYs1!w1RwcIWer+b>!x$hlpdRW$9Mt`q-mfuC?3e?QH
zm4j%X^Q5gn0Ra;tUJ}OvmDe(SKRNxd6=BI+kT+$w6~&8YL|eCC8$`J6UwueFFKdP2
zg(P=&wmUZ9sdR%|dGZBN3i7yEl<#<9XhE`egA+ToNdI|6hO!EXmDjn_I
zd!%n&HG=$K={h&vtKk$aBgY)hkapDw+}FX!?%$b+0lrzCSTCeaRci-N3o30f`)FqH^sUuq&Wj8lJ!3u5K`buWpt
zZ&vYbX_WUpn_oRW#1~Pu7b%GOi1VFflx$|2bL52e3fs2oumko>D6EUc%|efx7PQ|y*-|wmCQoWG0BtShVFeg3w6-}@yjW1Q$I!P
z>;9%#Cx$s4OxId!APBujsS|hfSr&%W?=Q-+*njOfTPh{FgWd>$6&h_r;
zO3B65ELnjwTLl1erFwobThmzzR4&*L>d&I$JhC?qS
zrV;>dWLE}n>5mX&DoYd)bpT0aa=h&({*_H2$s%*b**GPYq~DZflnWob^ThlY2qQ3Z&D&6cF60mf%p3WUrQX7DBs(aUl{bFPu?K#dibqK6K)t;Zd)E3
zk2O7UCaoW6(?&sw$Fq8KeFntb^erDh^DBj%O8uTr-AwmOR!$gw%hE0S<=B|UrA&U3
zRbYMEwArC(59}QND0@I;RtLb(}X$R!9dmxgS$V@
zVP2O;7$~PZ!6KimX({x`1>Edio^IVMEV!*{vfgF#>gr4go5lrRd_7}MjbI$#gO|v6
zNcw}P@>o&(t`A|l9Z`KqYqwJNe~hpb>P(U0KM76u<@I!6;QOTx)P37`u$C`#Q{b1i
z02%-q5EORb*=)}n{R0iL&_06RoQO^9~Z;90jFb
z+9Ns>7{QD-Dv5~_ex}r3jzR5C3*|s~hA_31D0QC{t7Sb4SxaMWm-GL0UcU)TP;0^i
zol#%a)8a(>uO&04y2$KT7hzIIz-J?mZOXO;VI;-2Xv&LsVPB8%>`=@HvT#a)@a
zs9^crAi$BVS8Uon7XwMyC&5UFIi|cD-{@8><#V&GQ$*9Ph+lfQxNs`aw#ZleY5{9n
zPYe0MsQ@ImM^Z{gRKMT!i^X{d)>k$MSMs4D>ks);Gc19JfsG;PT>La_9DQ-y7t{<>B^@)ls
zd0Do)?XD%Cz)gwS%I3e=EB8y0yhN_&0ES0ECc(E3X?!8XnogoyKZ<=x7b
zS?LKXCXRs0sMvd9N@R+cfANFC&gdn3D#4b5_G2?2PB|X})_vb<-@VI-5kVjh;32oI
zpp#<~h^rq!lXKQ5cE37-yo_BEwyFjpT0oABHP76qR}O@}M#3C~){n&Eg>(m6lTwI{
z^Ma+;u9c52L4fqr^gh`9I3&ROzk5O%t$~~^OUa8jT0`T3UGSL`D+f1k>No9XESy}n
zrwt%v&4lk-xaW;rstj;5OQ8F%cwzUPN8)Fu!G{#`;v=3>Pl#PwXg&qhd8Yni_udB9
zis%4A6C8&7|F)PUEkF6V1r8FA>u`e;2_-dq^c@yM6x@Fw#A<=+Mu;8eQrjfbWlXq4
zdk+<)KfykI-~ti(w{pl3>P>#$`Ox9jiP+*CH17oyumll(e=*o0u$Rvig0kH;*O92Rpy>Z
zA<_swk&2x;@CvC^1z28lI4m#ymD1~cxb*<|00f}Vh7y@#Su-UoeWwsyx4K~%));*+
ze7UqQE=WTG9RXH*`p0lUtk$Xq5vXIvJNCr6m@#{W=zBqZP?)Gf)8!X}
zF};Kv9J!yefsIR5nSar+swe!CZ1Mk*cPhlp+05!jd#FMAjfFA!V+xs-p0Mti8WtWR
z#%AI^cit(N1NI6aJFwo(po7}$M|Q}$fZ#2>F1#mO^}6iW@>tl4>P4$~`Z@C_!i7Xm
z?FdLh1CRYJQ-5X4n@SB{R1}@G4^USQya}H5Qtpj|kRMR2giK{Ffn7IwNO$1@Mcp}7
z^#2`8=73^0M<3v*Vn%63^cLUN>BAM@v+Be+Zh9@*S=%Y_BiLlF<9jQ%TMn2o@4u|F
zXsD7QE2p?_u#54o+MVJ4q=lvD$j3|$?LuQ=9B9t?g>_glU(0{clrx)!5eV_yw78Ay
zoKN7WVu=Kh7tcG~;}+2g6Lh3+JTeA*81QvaG71Ub9{1qC(fZ$AqItH$t!7ma>9P3*
zt)RA}>+>h&d#(Jk;j+pj>1ZVjeN^878kIT$jIL&eoAlmOYt}5DWtFPy`uve52UwB1
zb9_yIQHszkY_+Tw=tU?6#a@3A?#FTo5uf~v%B|`)^s3Tg(nhM4TZ9Sd`t8Ex-gi8d
z2G^Qb9W33_m>Yw&Xhq=39Rs!Ro^&lTnOxP+$-jt>?Y$lC{%bc4(v-E6#wB%v!g3j*k;Oc
z)U?ikA3re$WI~+Zp5Xt470TxOD!+DEQ_;%>vVukw202~{_*nBiDdJTk-N(V0L^21_
z(s%hqQBr^Ma*N-BlT=sr)QaKOB;8m=AJ)fZK0>((r-khh3LV1nXfy>q$`!mx(#h+_
z1DqV9w;gw|xvrA==--xS=^a9+4Z%c`t0tW2zef~OHBSCokO&p^4tYI>dRzfocNi`0
zmnB3uq{Rl)=4uD1-0Ucn30z{<6RqB-Zz5qt8?j;Bti(I#6juh41Qh!le0YNZeNr=c
zi`nnBFk1HCn+JI64j-P~#(|X`?*&3p#+-^DYZRS0-0@M%!E|LS$&nY|-AAzeoKn2=
zF9U$@JL1%F*j$n-=_Z5zPBZSb48`-eP?5mIi^3jaZ$g1S*o$JYLC2d~tUU~)!T~Ac
zO}Zytcn(vyArvpGSx+dp!rvm9PAdsNb}j~s!>epEJa&QERPT$na{LChhwfvCHNe2*
z0&hw9Lx~+o-N~hht2*l-a?_@8!_%IcDwlL=xERMNuB_j9qj^9SJ;CJx9Ihi9@kr=l
z-B%YKNa|5ZMsMwJ>fGPFZ33}d-m5r^FVdt(*o8YFfa$IaWX3~e#oU}%3r@rE)>|~j
zaf}l7aZ@m{oz5hn@1Zs%yB4v#u9KEQz2R(K(WX6<_U|i3Fun#5fwPLb^7!jdHn|#x
zm8*id_Q~82icihWF3t=Q7E4mJ_N=CsgiIP+9RF6$bDz-Y5?^ZW+@y70>3e;-pRS>$
z3}UJ>NN>Yf^_~CZRe_1%5j$W2mfu(D`@F7Y>kL&;_D)gCU71W36}u|2sHfZ*ybdBo
z`RXua>S$`7kD&q~>vmH%u-Hu+<&w_YKu983Pw)%hdy92IqUOMaBM%cu6YUnF+!(9y
z&q08~HekzP=iE?;eKMXkSrcMUMg@gvNi==+&@SC2-)FOj!+-b39v{!G_A?^tPSAs<
zDY+h->D6(ufn_-g+T>!8lg)2#WZoa*PEc%jX{9p9|KSw#-r6z_yotxt`e>;61yQAk&E!&
zZR}2i*oNF%%wevoEhN^L#s?@nzxGq~7hlCtQi6x?1$i37?!EYaT*OaSXC&Ez<|r|{
zZgrmQ0VY%<*9%}cwycv5(pS>d(JL6=@c*fLOF-1`(wIW*mAtglGJpqpIuo2egW>rL&zCvU9p_1_v3Sg|=DnBd+%%ahIUNpQ#O)J$
zv9#Ncsjo|##c^O@>@}rl?(L9^drrBvlZ7I%KCob#q25dVevrwGVU}q>Q~o3GsAFjw
z5LV9qA8$u)1Y_+qvTWiLkoi}D{g4+I*a*GOcOe*vQ?9
z2;wC_%!t_=FifdcT@lANBk5loMPveF4XGKFMR8jd4lJb$fFXNleMtnfA)(Cw+l#yz
zAsILVGacw(MvMc7*pjxZ%%GQ#yYPf68}4JXpwcGn2Rh0rV7Q13aoSVC>h?<=z9HIZ
zI(2h_PduEXO>zRBo_l81N%2@YH7s(Z0-B7x@kN0(PjFD--wgAy9DqU!;Ofwm`3i6G
z=daCfMH!zy04u3}z|({!tKPmNS7x2e(Lz;apLCS9T^Nt(z2K^-c~Iue**q7hIsTQS
zG5~wiJ~AuA&^XbNoQ6JDUV*-0ujKen)&-;_ekEP-Kzi7QJo`LzQbj7n8dDoN;~ER@
zcbWvJ15lATenVjlPlnP>5;$q1{#W^%{x}4Ab~3=z6jCsCg<{r$x5NA~+arBwyWGHO
z*Tv;~dIjK(ZW-Tk8mf`#Ug2l#^u5{q7}K6=hI7R+N=8~ER>#)u#{J7W81P;Kn!=0^
z&?Ai1_S)gP-i5-cd&x`i^H&kozcD(RMS8LHI~`(L26z`&aOKiriKbs{3#G>HKQxQK
zP2{G~YKqKfo)L(-cur#4D7li}-o-0!?o3HA0G=iFt??dsyu!xE9H_g^<^%^2FgvaU
z%FOGTHisgMe@RYLJOnFuZ0^@x>YfZTTV0wzwwhTx^C$cN*T&8g&~x6z_ZBU`$txpU
zq@Gz}ioIQR0&AI1-VwJuLZR>UI}(UITF%>MBCCEft|5zRDd<4D5&T32APas^7se$6
zRppPxRkYK3428~juOz}@*}(av(ZER-)MM+>0Er%=9XhqTg{f0$>%hfz`Eaauqb_6j
zS-e3BwKWXof6d3lbIvn#mnij$|AF6W8r^q~#TYd{sbokHC!jV5y9RGIjDAIsdh8#=
zG5O*mwlq`47EWP4U@}W9tXS&xCkz4o9J0S?$5yj&wKk<1zIw4ARp1&NkP`R>u1F%_JNjWtW?s0Vm+oAm^DU$ypY
z>buLERQ20#P8i4~<~J-U!R-tOQ-ccaTne71G|f7!Z$s7YqZYM65y*-h5otp#;W7x)
ziz6STF%yV&9VVrIFF(&6K)}3r)*p+=u2JNA?e%uL=k^KB(
zJFG20FPT8Z&0n8+mHeZ5*}=Y1VTh&qKOr02P+VT}tkNzr0kYHEFNoRfx2aak;R_+d
zO3+^wFtRs_9U9(&o8F+=KFcWt7q)%;9B%t(k4`9y#rnTDfQOn58Af$T_fzZ2-3%wA5CM}Pmh);4}9+_S+npOHI0%dX(G*_
zy*a=i&*v82f^k`xAv9L3tsBNIjSowV6W>)BZ4{LBpdLz$6v_P>5>YIp3u`@pQ-Kxs
z00vc(fP2dopmTU-MkrqX;ozTvB;a@BDL26Pvs619iqL@KP(uRa`0eH&8JuEhY-q3dZ!Eynx}1H_xsD_W
zi{-xgV)*xEkim6W->eGC;DZ1j&VhSxL%x+mn$TrC=QLH2f%uwSQ93(6fLDn~`J$~U
zKT_X|^{=rIk}jhh+j0WEJ0>dEw?HL4rBDG(#>RN5M_p8HB`zQY&{z?F^Yho$`
z?5~ZL0=4a?50*xmIf&WGXeA3o5~3fqjSA+8r%8@+5joj7h=T^!nLM0vklFbr4h=nQ
zFo9c9+=u9BD1GqY0c`&sCDTfQ$j;@-%TBw0G&H&_!rs~;lG;}%2wcKKT-)hBfuvpb
z#}KZK!Z}R
z%zLdnok?GqG`Uyv5h!Lj7RR|x_B<@aSGcs(c%iDm?8cY6r%3de97)bEY?pXPv;BYmsD^(UNFybMHzyE2=RZWePfml|uu+Ml`u(8eJNI3eTWEIUR8z+q<$Oy*q*
z1zgvxUFp_Rv&QJ5&dcG*I*B-Rt=h*GO3iwM5gsocGbp<42o*^2eK$oOU`dA)-$L6y
z@y!-^)il{#Ms)m-B2JcL@G;nyC$CquojX9AG-)NFBsGfO39OTTs&9(jUofk?OoPri
zp^XjOd@h-nC(ov9ih$A(+6J%DYVxdcDrg^R`uoYY5~sAk_~n(nHvQ38YxuBvN9}`w
zC2{H!6V+qg?8fnsKiq@F{$NKAjj^_{g3Nowi-oJOfW_CJ|EeQnoQhH
zJGOmXX;P3!?XHixFuEdUnNOqjC-u=G*Yqk{-bZ*;R0{tiU05;T4NzJ)=mP)}l_VT*
zFPX-vPO9@5O)hg{)_^Oc`=Sa&64EeTcHB$!qz5Yc1ml0`hPkOs
zdE{c4x|-0&K-LZhMnUfW+*`a%O?9GNh*ZSmpl(?Asp8H}z$bOth2BEH*Bp2U1RX4r
zBG>DK?KzJMw=klm?pnc|D?I)%T#9oGbU#U4t$AmX)?$}aNon1seST7CHtu0+Fe2j9
z;{GN_R_rc9$fyKIJ~fktTi8nw3&1tYbtD?euB9w|zvvmXkZzp^+rhX+hL1j01c&E7
zH8OQUv(u$kfDR%v1JbIpyz!zix?VWYgvxsc#hmkM&e>q;d$G-4C&gUt{}G&8dZ(HI
ztJF_z7M;HGHjm_7Z#((zSVtTK31(x~!cq9_OzM8mZUTzX(rcv6o$CRcO}s%w)lw1I
z8{di)s3a+ImCFn~IWC!xD+{mSe|>&`>lG4!>;{}+z}Ko{m9m}nntsl_wA3&)R%q5`
z&dS>^Txsio1rnK`6}F!)=)dmJxxF^kWy<=>ZF15afcF-&2XiiZF~{q_0e@*27hg>(
zoCkDe>E^KR?%or6P*Z6{!ytA4LW8(yw$sSmC!V&S$Fbege|&`q&n+hkrVUr3LQjQ5
zgyIN(#ZtsRYwyC+1m1{<5t_n{q`$N+k}M%hk`G^@k@Mrgm}TdLmJ&AcT7voc?bQ@g
zp#&QsxM9N%JyaJvZDUZUw0c~QTGq|FpC4xC#Tiui0&ZdS-%1qttW?i2gtv!0#J#$a
zkNyMXnTxYOsDe{5M4U}Dzo1ocn+dE7>Ga8KRApOvR%!j-3}k{WNF(QLP)J*-=g(|{
zOKe13{H~9r4w8RqMNq#?qlcpcEt!6){N);lZFXqfrKz(2dJD0plCG0{34Ar&^ahU;
zc{Ic}iWD#{eB9YWU4;CI&ci8Da!?~Gj?SDzrm%n11MP(KQ><*NH`_7-`~0j(0#%@Q
z-l=`_(~})_ZGJf!lt=D%w&1iau9r7sNnGxwt)%g9_Q#c$1xbLUz$h&bGFgn}3
z!S@Vq_t9`v<13SDcz1PjhM{Tuiw^swn4`m6_Ss|LFqdaW;Gm3SRl;GYR*_Bo^F^^t
zOpO*7Q4eC!vX+kW7sl2KV&b27#m$}j!9eLo2anC5QjymhWy&5Dp`yPXFxwYrZcL^lhZV2e=OvH_+O}g)b
zcddA;bv_LqXQx<`rjOiK0tn^b^Bem}Jh_r1_@Sjik6Iw4rlIV(GS
zEgY-eU3kC{R@|0pC-B{z!#{y0luY
z7)=odje+(rWPoa#B|nK7W6OY$9
zPW&4!4QdDYKFm{3_2nX3918pQJ^|oi)A)U>YUMj@#EGqH&91Q+lNA*0sJ2uYTV+$W
zWbvuV%3~{52k8bxxoRF;)7T2jv*+HVNTuvgbb%&9mHJ
zbKoKHbl5bS9ZN6VSK9oKRPX8W!3wq_7LJVVe}qMKc($e9i%z5AoLpYv#L;QiTyLHG
z3SAl~;qvb)p$)7D<}vQ(rqqLK%yD+m==3+J=`iVW-Gvgg=Z)(
zjTSkV-J)niw#{d?*RPG`$_Cy9UN|1$4@1d*+uLuY1O8Qj$5HZQ1T-dM-;S%9((gC;
z$6$!TTH$}!Lda*8Sq5a!=fX
z#Hk4g(G>dVI~>R(@a9J5x3|N}j>NgaFs41+Y$3x%=WRQ=4e`0Y)@X2?46(*hoLh
zX|p6AHvUd>-ssit!6%gcSlKJcD}J;6=L%=S-9m^T>8iP|7(nrHeTM=mr+GKawlg^j
zO(;_?Ow)8JB#Y^wq}KI`5AcJVk9S&78xf9h^yK!C?-;+YM@>Y~9-!@!e)W6-rvg>8
z0;iBN4x!Ut@j2B1ou$E;=fs5I5+0_iciH&tM}7*eXIqVNGt#oZvFdkoy^M$6GToJqR7n3}iNMCe!Kb_yof9vv`~w}|*S8+$cMEIsnF45bmEg5<
zq|PA;0{LX$K3(S7#p_eofo?iChT-l>rziPhBX4vDD-^4?UcxGsHDSV4@
zeXxmbbg>HgH6o?^FHbUB%HR^7KaVMx!EF0K@gL3?Q9idC16L_~7VH?A(%?;^USb|3
zM#E7Tc2nHwHy?q&TzXDL&AX3=iI5PbY*lEsCp0;c947EcezT-P&%68NH31?MkD+q
z*0RRx`KQ90oWfjP#DA7i`rJZ9y_XVSEK0Ivv8{eIygvBfCDV8%QWa5Pr~)wV^3EDb
zauJ+l7oD%7t^KdUQioLiRJ{5@Ne`7?{@d;+EuxD88#*e1bnx
zwP^V^O>tYcd=xS{vX@6!&wzxF5Y0Gh~p$d$NP|~0#
zFvUG-S#he?M|9R*rc~>(GqLuLl@fM6b`q%S^W4wORT%FhlXGIh=BwapYRM!<`oR7s
z8Q)xReP(dkm#S&>frMq^kl-~MU95aZ+7C?A3M+VKZ(7rO-N&ASPBH+HkQCxRJw-6g|*$z%JX$p
zFqz~%9J*ZN>0wDIhk4knp;c}$-H^5uf|Y;5sE1qsuMBsonfs#As%Y}Cp!y+liMolO
zM63v9JHN>8oQn*QEBa+#wOmslApy>Hyq}<}z(KxgFtfx!xs3t%@*7{%2ypz6hP|vLq0IoBilHJr@_!
zFe>UCHAo|l93A*0LOfySW`&CRca*L|FD5?Ujp4_=P9piY0crgznGeI0*x~|Nl@1TUXnC)S
zUkoiONbQ!bRGnw+UjPKgqZ{WKdqkPv7&Rq4t6fM#%F6+pr=}bXbt4RHM;bm5IEYdg
z^e<t7WKRCo{%IMWbAJ#(`c4Dxn98eSiqC7B|XL@M0P@G@t=3iiC};e0DneyB&FD3v<`
zYw`52=V;&JjBJe=?V|^B`!e4|Uu<>+y5KApa%=F#ynU+)V_H0X9HkT5cQb1CemVz<
z1*#3kCLgEYWO$70#S#go$IFsjIs`I?Z||6cST|F%K55~=b@1qM_FHUQ7Hk+oV>)@a
zL1*x={Z};&dq^r`&2?}v<6Yp)eaJM1b!76pJ!{40T*-G#7zW0H>vSHEy4bfiTC&;V
zL$-_ivLoPjdwi@{syGNqD*Fn8L>w+H{=yA1OptTdoV9nxZ
zp>I@`00jBl(CY+jspIc26UvjJ-mD748!?eMiz{gso2sOEJ(RIKpDvgmus8-4ifa59
z$1h|WtDm>BMevU{fu~>^u_~cr?hoU^Q6Nghc6Ih63#%WxpDB({F9Y(*Sd?e6L(m~i
zpJcuxgbImr$k?E40IpM)o3o`E%6MlEkNBER`?>O-%t&z=Nc^bn~Gj$T%sYYD_5y
zAvKi~s!!zzxRz0Ez76xEstH9rFAzaZx8ndeK*+xre|a`Hxde#Im-M{LMt-PjU$1^#
z>X+uwBYN=BN}JZzU?!U77-PLIuRFuS&YdR{+}jeqzC<>aBTOe}{+XdVG~Y1;oy+6J
zt_!O+@lZn>vfL>Y(bcx=9*c?=6aP{k02X6=J1@0WcIq5X#ry#l8n^BEmgN;DynsUp
z50WCq!Y4ViL|cH&=JVx~LQiq$XYoerkDdnHrxR9(B$wWERv(CUlyl~dSXu3S)|~EtX9AwGD7--AVZy2&451dsDfa}iGi~L5f9Gv=HqQnK
z9zVk~#8(Fl*hm?LP>7Fe1ov=EZ`XZv7as`p57bx-Zbx26QQGOgSsJq)x{h^Tzh`e=
z^#E_iIX9?X4|RA_oFLC^AC-50A=9iWL{=`;LSUe=n?NFO-X-SO)C4gchX^{xv*DRp
z354R#^uR)(7vrs>XBCk{kBSQwFdsf;u;$u%ZMXzH
z9UJQjS-vW`eI!k4F0X=vH_zgDErGqzwyxL(8QRD1Y=%E8_-54DQ^m=3rLf)4((HHA
z=wcSFER{Fb*gT~dSNha8P%L%sXqMaXYyh*L2EMv!Tgg8)`>yn;zd-uv=h45;2`#CM
zgek>u)#b~<$^{29?i;XOQ9Xv(!{x9mACJ&zo=^08GGOXDatoZ5bR9=~Ip_vVqz69FZqmV0U
z_}s~&-Oa(B!@*Wi_WZw{1MUL$@mlUyv2#E^1mZWa^NGlnF%jZ?l&v_+=#T9IeAO(c
zTCepNK`Q|i?BTa1QYW2?%56yLUK*9nW7a8_>pj5AN|g^%vE!Z}Q?>|qVdsGSQ=5k2
z_~<*lzDr{%5?%GAu~?WII(P5ax&jR%^DF?cHN#fdk{7hy5KtHfcaJOvcci86t>R8W
zVf*TCb)^-si8;s`(!1U>PrW9!W27A--}$wi<+YidA_#Uf02BpTqi2F>P&gz?-wepK
zjK3s5%E3GL-`>@5qm?QQ+x>@Y&KY~3fryKljHuJ~5
zHvt8pBKK{PWsLHL5KWNgaU}lz08U)DR$^T5&7)|`^39BrFa`|fxinp7Ewf*o87qkt
zOTRDA;F#k|u07dHo`U~>BC(|!fu<>FBN`D88<-uB5C}I!YKY0lZZTOnh2*PTrm2Uq
zD|#V<1zlh-VE|%}=Oh@eLE>hddm#IveY%g^Wcit>w>+2?ttPipLkf$15A;>X+qgpB
zM+hPfnrWB^AUPg@-2bvMopFI#!
z7^0`mCtj{Y_94I_j~r>|EiQ*2%Sy%wNyshdE@QOS^Ahlc3)-urVDbs-bk)cIrVyDd
z;%@`ec6ty1^lHK!t?7;=n*O;ee|Qs81~n^+zU#bji)DhJc*D&x+F8?&+yAi2{{yO_
z-feO;j^>^AvggwB814lCu=?B8l$h!;6)7dN4*b;9_7(>7&~`nK$cW7y=Z?ei?IkM4
z3lGF|hClYrC`~&T3z4LrrJay_g=;3%>pNxZPJIMpg_g&_VVd(UMUOr26Smyt%V}vELU5ndi
zo`AQl&nf}@e^<(x1rCd&(BL$O$sLPrMOehdA85E0IoWgT+}YxJHU5IBrIgOaR+>99PAS?8ZojZSWP#t3W_7)jtCKFrq;5DGgywL
zG^YF!R2)xSpo{!qS`uU1Q(?f_pB6r-u|a$RDh8|pZ-dq$(+#h_Oq%C4O@VzM74Oup
zY?iZKV5po-yEKoH|CVX#w&Q05vKfUNc<$>YYARf=&Q(Fnd4?Ij-t3P_-ZtZ1(dFkR
z`O6XC%+jpRhE$b;YDv8zSmpt(uBb^HKB6DBC>ub~(~43tql>QmRuQ)43<`4LUUSI
zgpy6lq}W~7At-8Sc`5D;F7yH47!Y#((d91Z
zZLQe9f=YGj8^W{|M4d++^d#%R}u@&>)7LqG07L<&1gcuf=GeRT)|Z)IT8#d5r2-nyk?pMA)6=x3{^^rfdj-bI8nEdp!q3;;ohIdRIg|-5Us3e
zrJiLei}c1J^wp)UW)?}&-4Ew#&A-8RerNp=7kV>N!1TPS$1@8P?1s_)+u3Y35=&*-
zn!pL^!RR!Es?9}T9z6`(wie+!Q9SzLwCk`0&WRy9xM2ihY3Sa!U5t7|NE@o2sbQm>
z)Fz$d_|UYmE$(sGEKq(D>EU@pJ}Vj=V1EX*-UO}FbxhTz{1Wyo)cgMlPM1Cvui
z13AAunl$q6
ziB4{Dns!l{>tXP%ipTFPl793@5ZJjgQYVwO$1Z2}Lt$W!zT@u`Z3P-7hZlj+AD`Q7
z3+NH0Ns-
z#&dsBH`zt6603}0QbNPB)42&j^-`&hB18}qNqkuqA$Ju(?0Hh{N;4oht~H?@HC7xC
z>pPL#+tGKzDM?pTe*109rd}u6psL`Y`op}QFT
z$s1-*S$isE5=SNXVSCr*H%|N4NVl+?Mr*ktD=g(p~G_^$dO0@
zsPX_+I+;0&@BjUB=to?ZKq>_w$1|9ZdY&Q*31e7*IR;md5os(!PB$=MGjrCya)+=%
zs-Ot!ntc{pk-||7(3N&;`>LZd+X{0fm3C;;O@v>2FKC^Ght&>6Yz^b8!dJMCNS=Z&
zg=PIt<1eoJCzZZfOK9J^Oiy<+n?DqR7--=(#oU-4l8N
ziudM|fciH!xDwdKXtmI8V?b8k{Z5V8i9@6#0dA!(ja5p@)!~Q$`)(+^sY9W)QExO<
zh&w2gD0Hc;(Y1kzh4M5oXDJyO^a>G{wk6idmVGTI|5mh`$M(FN$c$O#$xi%X!^*5<
z8sp)0l-U*EG%_Io`aLYTB@T|<%41=yO2fWoymz%zdjagicIIj3jgehyL)`Z_A!aJI
ziyr!?h49F+&G$ee6NM`1G_ppJZyUJR94!I2
z7CQWvPJnle+7!|3<5Fy)gdvs7*(uYX>NFfCWWQgjHb|@7<8Lk~1&7c?yxo?tdy-|E
z^RY@D5CYq|1Xw|qFK~^m22`(_l^0*WRE`>Dh%Xu;rFy##qPg^k8i2V)f9`+oIa)7=
z>3br^H$EsNNc(haH~u-tj>9Ht#(Eipm3~jC2tgQ!L-G2)rHo!_sPj}dPd)HJ}s7mrXSZD~Oq>NBl-93htffW2=v6
zp35N)n0IK9WB;9ChTVkQt+QpRiIRA>!_$ndaU@(=3^LCl%gd{;ktxZ4fja6^XYQp^
zY>#GP*UjaK0TW+D;#yO1@C5$=719Qd1bQ9yukN7`Z*4g^A*cb5Z56s~Rj7{iyG=
zuYH3JbB-@5a8QJNUgF>k&-)hPe?L1SyQ|ZPke=hPSDV#PmV?1akK{Kv-~5Xym{3WL
z5i8Gc*s5eA3Knh^UWVCKEsL5x92(rj)nUO)kXi(h2yE#ed`0d72}_$d{B&$xcX1me
z#G8DzJxaD3WuEDRcq04`D#d;y8JY~EC1?GVtxZ9&X^;#?_ca(mgErVTE|YJf%u-~`
zruvL5kno6Epo8d*b#+mSu^sc!ud$SluI=?zQ7@$f3oY(0;}12F#|JZBBtFRmnIY9#
z?6i&|sTx~nh9-&D?sqzrD%aFwCS73;((i>GQxC^=S~<3=}R1B
zAXg*IggVL$K2-cmr&;a(?G%BFowq2ZX(yVn0gqI|ZtL22~KQX3$_7^-Aw_g-5*}(ot&(*OzC)hh*p{PWqGk!
z)%FKA2Z#wOritxOv+39QIP_g2lWl%gA4JB;B1G&1XEQECsIw&zfHgA#Ri=P>o%pSCK(WowZ4E#c~bc#vlWq<
zOHTGQhvWNHuowm6V0bin5qY8L^L>2`E&
zc@}iZid*puIB?WRD@>Z}g?iPV>w;w2<_hM+Zl4jssY+5?bX9@-Cz2ic2Z`+GF|x
zU{D1jBSl#5pu66ImBq8}y$$=(m#%jKSGQhBWTJ?dVi1cc(I+RB5XDXN%$n4L$6Lrhj1JDj#gbZ$gtg2*9cLEC^q%lFhNJo5G|{U1rn
zB!56*<(;Xo&&YmJ_5t?$+G|6ZTi
zt!!V4V%c=sE`tF+G?%kqU^vDUf7&H#Doc99=g4ta_qD4QAs<~7qef+_pKKa0%wyBu
z7uL_}xm{c(+_TnEtAmI#tG4czT)rN~C{A07EuI9GL3CWX0FMq?dHa$)K!-_R7uEhe
z{pfaF5`Y%CjLVCi#;G32MT^X>y84`EYEZ#kV3#<@pi0}P0axT}XQ9AbND)6`qNEsb
z1e$E)562?wjx*>JFym^-Ur%}8pEM%E6_^3)&8(HE%a%=Ptag3}0lKgNJv4AWCUwsQ
zy_IV2HoglniUm=}G%c^YKP(=IqTV^pCdRDsA;BxKgK<@QtT~*>k9Z0(RWOjIzRZ;^
zN$CIa)#fTSSiDJ>SLwrDo|;|vKw)p
z=K!Wmy)U*d`Y?Xk3&*vN|GGOI*6aIXPI6bDBGd4%ioy1F)bVHwuryo7X8LWCH5K;>
z&K4z%&PUJJHJQf{$o`=a
z%x#TuSttZSH(~9K7{)h-FRmZUMu~fffkvy;qtHiRfOY>+yUH44$t81hfYZvu>=$~K2&kK3=xD3+z_Iubbe1SK5if`olM+|YZFf%@9{qfvd
z8T#=MB{wE#Hq8t9EhnWa0?!#{D9`*v2P;clnVWLz`a68eTpgH|$_P^jY}Sf4yJzU!
zchg#g7tLfvR2F1qNPzG90@tTCInxL~--amcjz*pL|6oar(faS`#(9m_cRM{)%P#~C
zPXJt5*V#tq)n8)_jW8}C(X9#Wol%-{5Mb9YEc-rA>L}6m4||aE
zw1aL2ga-#l2k58`##7rLDPF(9%tLgcjin%LWR7F_vQdhQ7P|S!=S)GIX8-;=;;Jwl
z>$fw~1Sr++`=ppVbq2|m^0MkC4jK4yIoLvR?CCcDIuAB<^4Bk;O)%XTeSRiwTx|`B
z(ezK{6WJ*iU1B5vYL~=3!qPt?eyZ;*HX#*J>Sdm0VMC|zT@|Qw-#Y@$%m%2EC
zJ2w0ke*sVfeju;jYGhXU=*kP|M>p>(mg(G{w%|b;cZa^;K93Ib{|N?)yTf1NOXx^=
z`Y-fu-NyJHDS1q*U=hE#JF#g+X`Ja}!G>Cm*EW{~@It^Mn;k-4Zz&&7)&uY(;Jywyde&uBn1mH3~|?p=G+fU
zzd)lkmKFI=j&NFpv8wFp>(XCH=I;?XJETv%@d}FuZ9@sAjlM6xq$CAO}$8P^{}&e2;rAp
zw`4;ga)x~uyegEa*j@f*#R%zA=xgWKDL;kB;8SG8%eR5XudYz^xI^F#ZhDQHP{A#D
zTTKkL@$EgJWV!uwNc1C|Sbt_<{8K60?8Tx-iDs*YdD@`q-Kr{YcvK^lj=L4C=)U;`
z3*U*;G+RoMVz5nJIHu2Wo)Z*4@+}br^=8-M;TFLr-g+j5fj_
zlb!iF!1iWRVJVooi*@qM=CBu9agd_e0S)|si8g=8D{`sYY>M?s0cPmm&iH{L=u;Sy
z)fb%pL!x*yjK?(Hkx@=L%6;XqC)|~^zOfJ4cf9|Hq{!*Tiag!cKDd#W7{MJr`Jo_l
zJzlD79;z*n%)&6!=hzYXdd4$T2Y{b0)=XUL+wo%sqi>WwM-9hv9*Bw1WoFdqN@;!a
z4W`O$rf2?QoB?7%e;Q&?ovsTmX*4oN^Xv;!Jh@OsIZ+9=8K(=;3qHOQ6y>R86oR3D
zmPXuN&G1hT55&wOD#SO=w98*7#PgW?**gOQQ*|3nq)#3fa(5A=EI;|5S)2?o-?-uO
zZc*?nr)2ekLIJ;W0pOeGwGPE510H2VUug)d(JO(KpSo&Twc9;S&kpAaWiXcwC>JpL
z@SRKec$Dt^PZ1Y_ek*m{UOWCd5z(?v0dkpDg;B-xB#)i;G}%PDb!y5yrz#0y3U8^)
zxmfzqxA$(_*>w{EJ!{Rwwfh6*1$~Ih@o*{AJc;Tv+0@rb{aE1Z(7m8}*i>L!Q=8pn
z%9eSZLDzFse73qci&QE4OtGXkQkss}2TLgzP%Ar02G(|nl}0_xF)vuyxa?`sk_y7}
z&r}EMt%Yt9@fZ+_CU#+daHL`2BYgwzIIu!qJSu~cLZ#sB1=*LSwiVDGrx)x&h8#WN
zy@hlzCJ#|;@Q*27m&Go`2u1xs2xlASHC(U!wnnr8Hf2|N#m)ZdCN-`TgB8d>d_0BounhqJYC=bQ9LrhI6Ypq
z-iR|!Dy1?zM)p%)_@ft!7>*7hbuV>-z}r~Zgi$4)PTULDbT9is;_w^m9~Ly}%0C34
z=P_%^)53MrMh(&iu9uA8)#lqVH{6dhM@?p
zJCn$&28$C-bWee5Nz5As%$X{
z2D{qyfDa6u27=yyLdX!=TOe#jWS>r@G92B?qn(LVQ0DYBEXV+QQH)&RLI&rX7qeZp
zGlFrG)vJuo8+&|W1S1`#!lULX7I#Z4|48=0Xz}oEs4^NvhDazgiof43jzv=i1YV^Q
z=nnzifX_ceOrC0&@~MnN1k#5SN_{q0=I^XM+;xc_o100`HE~yA`xrx9O7JIJ*QHvgtx@
z-|0o2MSzU2=2?5v&~OGXzDG`(A)!J!m&Ij`VI~;*^@e6X?T$5uKGrcT67i?J$
zZp*PbtMKqRN6#H<^J(ZAHuQMgb+v$8mw%oDIgQ1QTkRqjy<*V4&Pk{N;Nbc+Zh7e}UkJO>%H4TPt=j*4Gl>y1TLnHKzCO}U-Wx!a>A
zu+KfkE{8rE%q)KsSu(L*IGM-y#DQaDcT@Khd`%u9fjotOKWMVEp`cx3Qa>(vQOS+Y
zpR5PPb1x_l_G`8FDsF{wub6TdnIC``(#&f~wS%
zGSvg%-@#BtT#Tv4elRFG`hC#XW^BL2VX18j8A;NvKcollTPWgT4aaCa>f9aeZxJT3
z`MGJ0S#Eed6L>`kI|Ef_XB)3jPMN
zl8!^4E*py5NipsfZrYk>2u?$qU)uUuo#!Mj+mATFxI>2f?J?ecl^>Q?p#-+C9HEWd
zsSpU+R~@k;=_P^lYDI>lu>9Wu;=ThyBS?%-m11r?g=zV}*V9b2{16Uq(oauEC@<`o
zK6QdbcPf{3aDUeMiE@#`5i{5Lz>^^=ImI8{vA{Q(bt~wpbh77rVMyE)&=?VcJNk=*
zM!F#s1jbe`ceaqf*GtSI;ogylrL@pWTQ!g7CABKKm(8b<5|
zk}XaH*_n0!xxHcr6==|*}4P<#IbVrFSk&i~ge^}$*Z9*g-^Z~qP
zY7-g=PCYnf-cZ|3xUx9%w&AJ!TV5sNu3{^H#l3A>FdDwXH`nnX4c@0NQp*24Syrui|eZ|Di-^
zgp@UY9GGehF-qEEfR6P>0)*z>&x&@XsM=sY!H>(Wh1e+j^i~B%&a-aUyiHQ`Ro2BO
zyc!~Q+Z7A0EPLd>?-~adSXH6gYbigeNG$_A0`Ib7t#|QHN*R3jW!yN0%G)4xE8w_3
zL+0(gd&B;mFdAtMggYa8F3F5TJ*kR(%pywi?HrX2O>1e`4!hV
zQ1SMuFR=VuR?axlV>q(kN?HZeN6|kTeAQBlCiq$N;707}z{f169BQ*Yb^~aGZzjzN
zfZ+#tz&9ztls^(@%RP9Vr1RWs?t~l
z=lK|zlJok{ogiUa3TezJ56E3y07cJ+bQmAw%%fT$WJ46RFnr!*z1I-LIb?O>1!eAl
z_S2wU(f?(7TT+mve1KT4ZaOuv=wcpD9odeIoPb|;<-!g>|CjnFR$_&^rmYu2r8M%^
zZk)%^!Xr+iTJ5w>Y~ZL1NzqLkm5`i`eHOm+19;Sqh`fMb^b31#7ec(xA#k8San_yf_%rsM^-(Zqqtmbky
zbd_iZ&IS*)vdwd+sb$KiDWp=dO@``zn|lTD-mnr-U%ah8Arc`Y9ku%9UF1;pvJ&Mt
z%x#78yc=Xc)c!D~|L(IUDsozvO&{}CZHlZ0u=|E#42#3V93q2dOxQ6GWD1~`_z+!qt6xfPnXE5aw
zVMi(|Dvgq1*%Q4t{NL*^*ABk_|G_q!BA7w6cSES35sRU)WkV^IMC+=Od9OF1J!r2&
zX9bSCBKbrsyzcBns0LtrJD%+xze$Cl9o#-jI)M6JpI$o|22?||i
z$js|d#vyB>l+%Y{(2>PbJdTilBXl1ZC;QDMp)&Ol=sdH2&Y1v8)1Rz#(8UVoU!^~z
zP+K^OYB?2x*g$Vfh1Hw5I=j4<@F?kx7DeEDy&O;HTh}?+_u~sR|Sv?)xIctlo
z#*xLPjW)edN6c5-cJY=qvrN`VgGFvB5XM(Jk5?LJEBv|@rG7!qt0E^8ZBcjX2FY>&
z1D5Lw3^#9+9AroU0fyvEXc>rU2bj>0Uh9Ul?P6THWq92{>4SkY)xF47FS$;Rf4HY3
z6aX}+we|w2*q8qW^8Xmxce;$AWVO=;9xqGKSx`A;3w~-khq@92IFYN+VP^Rx&QPim
zXtYrW!nIrL93;AvuSKim_a7R>q=yN*1C0R4I020;6zT=+CjHRBXtg-DQX)M;iQH
z*6GSi3>v=i%5vL&OX59Mt(ZqIf*~uW5*!^Y2c&cls4LCl0$(PSXh6kZJk`pf16?#@
z=U1AVAlj0)Hp@4wbdbX(NoV*(DyB#rlxuHAP@>9@mHr9!#X|GLRC7J!4+5p`>1`pFbbGv7mn9z3!H6n3QZ)
z>`>XIG>)9RkiWm>0RNI8i6<`v1Ly~3@N_&`N14+=qDqqfoImMGo09#ngLZi*VLoJU
zN7kfkeJwz?^oy{jQzXO&cQ64EW}U!U7|@N9$Nk6^ew(tlnz8Ze
zr;J~s2rSPTh-qli50kDNjYJ`vdwV;w_1Z@X#DAlxDJUKrjcHY<=1*EQb!`uhvkXXpxh*sl=d7To|iBR8a0RmoiZ
zlQ;PGzMM(Ftqo%`umRgMsvvb}KWro{El>kN06f8nrMSIYD}+dBKbDZ6P(2B)amUJ}
z!VBB>DE0dVMu05a;;`rK-Dr_yW;?oGNN~wTO&YjwP7`cyzx~24swB`46f&!RXzZw;
zNz-V*`#aGxnL%#1a=GjjLj*JIZk_p6w<03>QPZ_-X|eXYpU@3k8vcXKmK4yED|kLr
z)@L;UQ$9(8CrBe#LBHyW@#Iy>HZt>u3uXBYoHu5S>k-_?hweGs&=3b|&ZE&1o;8Cl
zFd|N4vp#O^;a|oVOd(QS%6noon_V}3YGYI7n0h6>rma06z}Grz@|*w{H}1~;R15kt
zb_3){5>e|*gSLFMvhhiSEYl9=;~vz4Tj7ekZi8IEntCT44kyYSV`+auLS@K`@@k$3
z9d@)6#Gm^@Z#Laj97A(FJOI;=aSnf|_WA5kID74i#bUPA8vV1=W`qYCHA;YNcS5Xs
za^B&ASjdh{Z~W^s#G-hp;T@cp40g^0DfKpKe4zrhJLwTmiw7zPZpE2*1JpFpcL|yW
zIqUYsCVTL_UdwnOB*^A|B{|dZp6zKIKsn3Hc;{&VObW_16NKj1Ez{bkbpszHUf2YH
zs7&+J7=sjEQTql>W