mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-05 19:02:50 +00:00
Compare commits
136 Commits
2025-02-12
...
2025-02-21
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a9362e0b4a | ||
|
|
10c46723fe | ||
|
|
666e170f7d | ||
|
|
109c48694e | ||
|
|
d0cd58e923 | ||
|
|
16b8bbfca6 | ||
|
|
209aa220b0 | ||
|
|
dd8db43dea | ||
|
|
7d40e148e9 | ||
|
|
ef6eeea608 | ||
|
|
0c13b71466 | ||
|
|
e1c25a3c8e | ||
|
|
e5bfb8f8a3 | ||
|
|
4dfcd32d92 | ||
|
|
167deb5d7f | ||
|
|
8cb3007d66 | ||
|
|
49bcd30e77 | ||
|
|
1e2954a993 | ||
|
|
fe5711d9c4 | ||
|
|
33f812179f | ||
|
|
d7a2614819 | ||
|
|
dc259847af | ||
|
|
9bcd1cd237 | ||
|
|
3a1ae8f7c0 | ||
|
|
9cbe196913 | ||
|
|
d0c8b1c15b | ||
|
|
2efdea9a29 | ||
|
|
978dc549f4 | ||
|
|
d4d8943c9f | ||
|
|
12a1f46703 | ||
|
|
15d20a54b3 | ||
|
|
bedfbd232d | ||
|
|
3c289e7235 | ||
|
|
450d2410d9 | ||
|
|
e1ecc8d6cf | ||
|
|
e9d9da3355 | ||
|
|
6d3c442464 | ||
|
|
1a8f5a4007 | ||
|
|
20414d9659 | ||
|
|
1fe8bc05b3 | ||
|
|
049afa994b | ||
|
|
ba41bcd561 | ||
|
|
4aa84c265d | ||
|
|
436945b711 | ||
|
|
b749119a1c | ||
|
|
87c61de11e | ||
|
|
b293638c40 | ||
|
|
d1e0c2d164 | ||
|
|
7e6a7468df | ||
|
|
1ffe6b1c3c | ||
|
|
a76733df60 | ||
|
|
70f5280fcc | ||
|
|
4cbe90597e | ||
|
|
0afe60e11a | ||
|
|
6982d02489 | ||
|
|
031aefe05a | ||
|
|
fa01cfd840 | ||
|
|
331bc0f5a6 | ||
|
|
7e9eb2f98a | ||
|
|
5a72b1e523 | ||
|
|
2693fabac2 | ||
|
|
ce16be6393 | ||
|
|
b694c339cb | ||
|
|
3957b46d98 | ||
|
|
54929e4b0d | ||
|
|
ca20d52ac1 | ||
|
|
e22a6dad6f | ||
|
|
ee84468498 | ||
|
|
746f19b0b8 | ||
|
|
a646a035d8 | ||
|
|
505cb23467 | ||
|
|
345e109d9f | ||
|
|
bca944034a | ||
|
|
be27905776 | ||
|
|
53196c7603 | ||
|
|
0777ddfbfc | ||
|
|
18bd71da89 | ||
|
|
ecd13dd5a4 | ||
|
|
3ef1ac434a | ||
|
|
60e32a05cd | ||
|
|
b7df0ee936 | ||
|
|
4cf24c54d7 | ||
|
|
c4ed0738cf | ||
|
|
88b20e5545 | ||
|
|
7c5b072303 | ||
|
|
347a23ad60 | ||
|
|
29806c4525 | ||
|
|
a045dc8012 | ||
|
|
80e7e2f5b6 | ||
|
|
1789d181aa | ||
|
|
f0ca0c3379 | ||
|
|
1711e44a4d | ||
|
|
afe4af2ff6 | ||
|
|
ec8c564e25 | ||
|
|
fd9d64b342 | ||
|
|
1d928f7ea8 | ||
|
|
f3c9e8f013 | ||
|
|
99813136fe | ||
|
|
21a29d7212 | ||
|
|
f679a4a1dc | ||
|
|
d27f7f13e5 | ||
|
|
80cfc3b8a5 | ||
|
|
d159e47a62 | ||
|
|
47fd890bcd | ||
|
|
af01193bc2 | ||
|
|
8373e26f1e | ||
|
|
1cc2a90b08 | ||
|
|
a8a729fcda | ||
|
|
fe93224d77 | ||
|
|
ddccd1dd3f | ||
|
|
2b61b184f2 | ||
|
|
01d761ce71 | ||
|
|
cfa6b28131 | ||
|
|
431fbd471f | ||
|
|
ca5e4559df | ||
|
|
928946cd4c | ||
|
|
221bbdeff3 | ||
|
|
879989b5b6 | ||
|
|
1d42ce6282 | ||
|
|
6f131933b7 | ||
|
|
aaa6ae879b | ||
|
|
da8c40dca8 | ||
|
|
caa4b7d19e | ||
|
|
b99adb5e1a | ||
|
|
8b23cafed9 | ||
|
|
3c82ae04d7 | ||
|
|
504cecfe97 | ||
|
|
880b6e0476 | ||
|
|
4b430aac7c | ||
|
|
819bda4573 | ||
|
|
8b327552b2 | ||
|
|
24a2bbdb65 | ||
|
|
2692cbe5e0 | ||
|
|
3b01e633a7 | ||
|
|
8a720c328a | ||
|
|
585bb697b5 |
@@ -119,18 +119,13 @@ var_unprivileged="1"
|
|||||||
## 2.2 **📋 App output & base settings**
|
## 2.2 **📋 App output & base settings**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
```
|
```
|
||||||
|
|
||||||
- `header_info`: Generates ASCII header for APP
|
- `header_info`: Generates ASCII header for APP
|
||||||
- `base_settings`: Allows overwriting variable values
|
|
||||||
|
|
||||||
## 2.3 **🛠 Core functions**
|
## 2.3 **🛠 Core functions**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
@@ -23,11 +23,7 @@ var_version="[VERSION]"
|
|||||||
var_unprivileged="[UNPRIVILEGED]"
|
var_unprivileged="[UNPRIVILEGED]"
|
||||||
# 1 = unprivileged container, 0 = privileged container
|
# 1 = unprivileged container, 0 = privileged container
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,6 +1,6 @@
|
|||||||
name: "🐞 Script Issue Report"
|
name: "🐞 Script Issue Report"
|
||||||
description: Report a specific issue with a script. For other inquiries, please use the Discussions section.
|
description: Report a specific issue with a script. For other inquiries, please use the Discussions section.
|
||||||
|
labels: ["bug"]
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
|
|||||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -3,7 +3,7 @@ contact_links:
|
|||||||
- name: 🤔 Questions and Help
|
- name: 🤔 Questions and Help
|
||||||
url: https://github.com/community-scripts/ProxmoxVE/discussions
|
url: https://github.com/community-scripts/ProxmoxVE/discussions
|
||||||
about: For suggestions or questions, please use the Discussions section.
|
about: For suggestions or questions, please use the Discussions section.
|
||||||
- name: 🌟 Feature request
|
- name: 🌟 new Script request
|
||||||
url: https://github.com/community-scripts/ProxmoxVE/discussions/new?category=request-script
|
url: https://github.com/community-scripts/ProxmoxVE/discussions/new?category=request-script
|
||||||
about: For feature/script requests, please use the Discussions section.
|
about: For feature/script requests, please use the Discussions section.
|
||||||
- name: 💻 Discord
|
- name: 💻 Discord
|
||||||
|
|||||||
33
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
33
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: "✨ Feature Request"
|
||||||
|
description: "Suggest a new feature or enhancement."
|
||||||
|
labels: ["enhancement"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# ✨ **Feature Request**
|
||||||
|
Have an idea for a new feature? Share your thoughts below!
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: feature_summary
|
||||||
|
attributes:
|
||||||
|
label: "🌟 Briefly describe the feature"
|
||||||
|
placeholder: "e.g., Add support for XYZ"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: feature_description
|
||||||
|
attributes:
|
||||||
|
label: "📝 Detailed description"
|
||||||
|
placeholder: "Explain the feature in detail"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: use_case
|
||||||
|
attributes:
|
||||||
|
label: "💡 Why is this useful?"
|
||||||
|
placeholder: "Describe the benefit of this feature"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
25
.github/ISSUE_TEMPLATE/task.yml
vendored
Normal file
25
.github/ISSUE_TEMPLATE/task.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
name: "🛠️ Task / General Request"
|
||||||
|
description: "Request a general task, improvement, or refactor."
|
||||||
|
labels: ["task"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
# 🛠️ **Task / General Request**
|
||||||
|
Request a task that isn't a bug or feature request.
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: task_summary
|
||||||
|
attributes:
|
||||||
|
label: "📌 Task summary"
|
||||||
|
placeholder: "e.g., Refactor XYZ"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: task_details
|
||||||
|
attributes:
|
||||||
|
label: "📋 Task details"
|
||||||
|
placeholder: "Explain what needs to be done"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
26
.github/changelog-pr-config.json
vendored
26
.github/changelog-pr-config.json
vendored
@@ -4,29 +4,37 @@
|
|||||||
"labels": ["breaking change"]
|
"labels": ["breaking change"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "✨ New Scripts",
|
"title": "🆕 New Scripts",
|
||||||
"labels": ["new script"]
|
"labels": ["new script"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "🚀 Updated Scripts",
|
"title": "🚀 Updated Scripts",
|
||||||
"labels": ["update script"]
|
"labels": ["update script"]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "🐞 Bug Fixes (Updated Scripts)",
|
||||||
|
"labels": ["update script", "bugfix"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "✨ Feature Updates (Updated Scripts)",
|
||||||
|
"labels": ["update script", "feature"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "✨ New Features",
|
||||||
|
"labels": ["feature"]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "🌐 Website",
|
"title": "🌐 Website",
|
||||||
"labels": ["website"]
|
"labels": ["website"]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"title": "🐞 Bug Fixes",
|
|
||||||
"labels": ["bug fix"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "🧰 Maintenance",
|
|
||||||
"labels": ["maintenance"]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"title": "📡 API",
|
"title": "📡 API",
|
||||||
"labels": ["api"]
|
"labels": ["api"]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "🧰 Maintenance",
|
||||||
|
"labels": ["maintenance"]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "❔ Unlabelled",
|
"title": "❔ Unlabelled",
|
||||||
"labels": []
|
"labels": []
|
||||||
|
|||||||
38
.github/workflows/autolabeler.yml
vendored
38
.github/workflows/autolabeler.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
|||||||
- name: Install minimatch
|
- name: Install minimatch
|
||||||
run: npm install minimatch
|
run: npm install minimatch
|
||||||
|
|
||||||
- name: Label PR based on config rules
|
- name: Label PR based on file changes and PR template
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
@@ -32,6 +32,12 @@ jobs:
|
|||||||
const autolabelerConfig = JSON.parse(fileContent);
|
const autolabelerConfig = JSON.parse(fileContent);
|
||||||
|
|
||||||
const prNumber = context.payload.pull_request.number;
|
const prNumber = context.payload.pull_request.number;
|
||||||
|
const prBody = context.payload.pull_request.body.toLowerCase();
|
||||||
|
|
||||||
|
// Label-Sammlung (um doppelte API-Calls zu vermeiden)
|
||||||
|
let labelsToAdd = new Set();
|
||||||
|
|
||||||
|
// Prüfe Datei-Änderungen
|
||||||
const prListFilesResponse = await github.rest.pulls.listFiles({
|
const prListFilesResponse = await github.rest.pulls.listFiles({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
@@ -51,12 +57,36 @@ jobs:
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (shouldAddLabel) {
|
if (shouldAddLabel) {
|
||||||
console.log(`Adding label ${label} to PR ${prNumber}`);
|
labelsToAdd.add(label);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prüfe PR-Template Checkboxen mit den korrekten Labels
|
||||||
|
const templateLabelMappings = {
|
||||||
|
"🐞 bug fix": "bugfix",
|
||||||
|
"✨ new feature": "feature",
|
||||||
|
"💥 breaking change": "breaking change",
|
||||||
|
"🆕 new script": "new script"
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const [checkbox, label] of Object.entries(templateLabelMappings)) {
|
||||||
|
const regex = new RegExp(`- \\[(.*?)\\] ${checkbox}`, "i");
|
||||||
|
const match = prBody.match(regex);
|
||||||
|
if (match && match[1].trim() !== "") { // Checkbox ist gesetzt
|
||||||
|
labelsToAdd.add(label);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debugging: Anzeigen, welche Labels tatsächlich erkannt wurden
|
||||||
|
console.log(`Labels to add: ${Array.from(labelsToAdd).join(", ")}`);
|
||||||
|
|
||||||
|
// Labels setzen, falls neue erkannt wurden
|
||||||
|
if (labelsToAdd.size > 0) {
|
||||||
|
console.log(`Adding labels ${Array.from(labelsToAdd).join(", ")} to PR ${prNumber}`);
|
||||||
await github.rest.issues.addLabels({
|
await github.rest.issues.addLabels({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
issue_number: prNumber,
|
issue_number: prNumber,
|
||||||
labels: [label],
|
labels: Array.from(labelsToAdd),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
28
.github/workflows/delete-json-branch.yml
vendored
Normal file
28
.github/workflows/delete-json-branch.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
name: Delete JSON date PR Branch
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [closed]
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
delete_branch:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout the code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Delete PR Update Branch
|
||||||
|
if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'pr-update-json-')
|
||||||
|
run: |
|
||||||
|
PR_BRANCH="${{ github.event.pull_request.head.ref }}"
|
||||||
|
echo "Deleting branch $PR_BRANCH..."
|
||||||
|
|
||||||
|
# Avoid deleting the default branch (e.g., main)
|
||||||
|
if [[ "$PR_BRANCH" != "main" ]]; then
|
||||||
|
git push origin --delete "$PR_BRANCH"
|
||||||
|
else
|
||||||
|
echo "Skipping deletion of the main branch"
|
||||||
|
fi
|
||||||
58
.github/workflows/script-test.yml
vendored
58
.github/workflows/script-test.yml
vendored
@@ -1,21 +1,25 @@
|
|||||||
name: Run Scripts on PVE Node
|
name: Run Scripts on PVE Node for testing
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- 'install/*.sh'
|
- 'install/**.sh'
|
||||||
- 'ct/*.sh'
|
- 'ct/**.sh'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-install-script:
|
run-install-script:
|
||||||
runs-on: pvenode
|
runs-on: pvenode
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PR branch
|
- name: Checkout PR branch (supports forks)
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
ref: ${{ github.event.pull_request.head.ref }}
|
||||||
|
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Add Git safe directory
|
- name: Add Git safe directory
|
||||||
run: |
|
run: |
|
||||||
git config --global --add safe.directory /__w/ProxmoxVE/ProxmoxVE
|
git config --global --add safe.directory /__w/ProxmoxVE/ProxmoxVE
|
||||||
@@ -26,13 +30,14 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "GH_TOKEN=${GH_TOKEN}" >> $GITHUB_ENV
|
echo "GH_TOKEN=${GH_TOKEN}" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Get changed files in PR
|
- name: Get Changed Files
|
||||||
id: changed-files
|
|
||||||
run: |
|
run: |
|
||||||
CHANGED_FILES=$(gh pr diff --name-only ${{ github.event.pull_request.number }})
|
CHANGED_FILES=$(gh pr diff ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --name-only)
|
||||||
CHANGED_FILES=$(echo "$CHANGED_FILES" | tr '\n' ' ')
|
CHANGED_FILES=$(echo "$CHANGED_FILES" | tr '\n' ' ')
|
||||||
echo "Changed files: $CHANGED_FILES"
|
echo "Changed files: $CHANGED_FILES"
|
||||||
echo "SCRIPT=$CHANGED_FILES" >> $GITHUB_ENV
|
echo "SCRIPT=$CHANGED_FILES" >> $GITHUB_ENV
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Get scripts
|
- name: Get scripts
|
||||||
id: check-install-script
|
id: check-install-script
|
||||||
@@ -59,13 +64,15 @@ jobs:
|
|||||||
set +e
|
set +e
|
||||||
#run for each files in /ct
|
#run for each files in /ct
|
||||||
for FILE in ${{ env.ALL_FILES }}; do
|
for FILE in ${{ env.ALL_FILES }}; do
|
||||||
echo "Running: $FILE"
|
|
||||||
STRIPPED_NAME=$(basename "$FILE" | sed 's/-install//' | sed 's/\.sh$//')
|
STRIPPED_NAME=$(basename "$FILE" | sed 's/-install//' | sed 's/\.sh$//')
|
||||||
|
echo "Running Test for: $STRIPPED_NAME"
|
||||||
if [[ $FILE =~ ^install/.*-install\.sh$ ]]; then
|
if [[ $FILE =~ ^install/.*-install\.sh$ ]]; then
|
||||||
CT_SCRIPT="ct/$STRIPPED_NAME.sh"
|
CT_SCRIPT="ct/$STRIPPED_NAME.sh"
|
||||||
if [[ ! -f $CT_SCRIPT ]]; then
|
if [[ ! -f $CT_SCRIPT ]]; then
|
||||||
echo "No CT script found for $STRIPPED_NAME"
|
echo "No CT script found for $STRIPPED_NAME"
|
||||||
exit 1
|
ERROR_MSG="No CT script found for $FILE"
|
||||||
|
echo "$ERROR_MSG" > result_$STRIPPED_NAME.log
|
||||||
|
continue
|
||||||
fi
|
fi
|
||||||
echo "Found CT script for $STRIPPED_NAME"
|
echo "Found CT script for $STRIPPED_NAME"
|
||||||
chmod +x "$CT_SCRIPT"
|
chmod +x "$CT_SCRIPT"
|
||||||
@@ -74,23 +81,31 @@ jobs:
|
|||||||
INSTALL_SCRIPT="install/$STRIPPED_NAME-install.sh"
|
INSTALL_SCRIPT="install/$STRIPPED_NAME-install.sh"
|
||||||
if [[ ! -f $INSTALL_SCRIPT ]]; then
|
if [[ ! -f $INSTALL_SCRIPT ]]; then
|
||||||
echo "No install script found for $STRIPPED_NAME"
|
echo "No install script found for $STRIPPED_NAME"
|
||||||
exit 1
|
ERROR_MSG="No install script found for $FILE"
|
||||||
|
echo "$ERROR_MSG" > result_$STRIPPED_NAME.log
|
||||||
|
continue
|
||||||
fi
|
fi
|
||||||
echo "Found install script for $STRIPPED_NAME"
|
echo "Found install script for $STRIPPED_NAME"
|
||||||
chmod +x "$INSTALL_SCRIPT"
|
chmod +x "$INSTALL_SCRIPT"
|
||||||
RUNNING_FILE=$FILE
|
RUNNING_FILE=$FILE
|
||||||
fi
|
fi
|
||||||
git checkout origin/main .github/workflows/scripts/app-test/pr-build.func
|
git remote add community-scripts https://github.com/community-scripts/ProxmoxVE.git
|
||||||
git checkout origin/main .github/workflows/scripts/app-test/pr-install.func
|
git fetch community-scripts
|
||||||
git checkout origin/main .github/workflows/scripts/app-test/pr-alpine-install.func
|
rm -f .github/workflows/scripts/app-test/pr-build.func || true
|
||||||
git checkout origin/main .github/workflows/scripts/app-test/pr-create-lxc.sh
|
rm -f .github/workflows/scripts/app-test/pr-install.func || true
|
||||||
sed -i 's|source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)|source .github/workflows/scripts/app-test/pr-build.func|g' "$RUNNING_FILE"
|
rm -f .github/workflows/scripts/app-test/pr-alpine-install.func || true
|
||||||
|
rm -f .github/workflows/scripts/app-test/pr-create-lxc.sh || true
|
||||||
|
git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-build.func
|
||||||
|
git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-install.func
|
||||||
|
git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-alpine-install.func
|
||||||
|
git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-create-lxc.sh
|
||||||
chmod +x $RUNNING_FILE
|
chmod +x $RUNNING_FILE
|
||||||
chmod +x .github/workflows/scripts/app-test/pr-create-lxc.sh
|
chmod +x .github/workflows/scripts/app-test/pr-create-lxc.sh
|
||||||
chmod +x .github/workflows/scripts/app-test/pr-install.func
|
chmod +x .github/workflows/scripts/app-test/pr-install.func
|
||||||
chmod +x .github/workflows/scripts/app-test/pr-alpine-install.func
|
chmod +x .github/workflows/scripts/app-test/pr-alpine-install.func
|
||||||
chmod +x .github/workflows/scripts/app-test/pr-build.func
|
chmod +x .github/workflows/scripts/app-test/pr-build.func
|
||||||
|
sed -i 's|source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)|source .github/workflows/scripts/app-test/pr-build.func|g' "$RUNNING_FILE"
|
||||||
|
echo "Executing $RUNNING_FILE"
|
||||||
ERROR_MSG=$(./$RUNNING_FILE 2>&1 > /dev/null)
|
ERROR_MSG=$(./$RUNNING_FILE 2>&1 > /dev/null)
|
||||||
echo "Finished running $FILE"
|
echo "Finished running $FILE"
|
||||||
if [ -n "$ERROR_MSG" ]; then
|
if [ -n "$ERROR_MSG" ]; then
|
||||||
@@ -115,7 +130,7 @@ jobs:
|
|||||||
- name: Post error comments
|
- name: Post error comments
|
||||||
run: |
|
run: |
|
||||||
ERROR="false"
|
ERROR="false"
|
||||||
SEARCH_LINE=".github/workflows/scripts/app-test/pr-build.func: line"
|
SEARCH_LINE=".github/workflows/scripts/app-test/pr-build.func: line 253:"
|
||||||
for FILE in ${{ env.ALL_FILES }}; do
|
for FILE in ${{ env.ALL_FILES }}; do
|
||||||
STRIPPED_NAME=$(basename "$FILE" | sed 's/-install//' | sed 's/\.sh$//')
|
STRIPPED_NAME=$(basename "$FILE" | sed 's/-install//' | sed 's/\.sh$//')
|
||||||
if [[ ! -f result_$STRIPPED_NAME.log ]]; then
|
if [[ ! -f result_$STRIPPED_NAME.log ]]; then
|
||||||
@@ -128,12 +143,17 @@ jobs:
|
|||||||
echo "Posting error message for $FILE"
|
echo "Posting error message for $FILE"
|
||||||
echo ${CLEANED_ERROR_MSG}
|
echo ${CLEANED_ERROR_MSG}
|
||||||
gh pr comment ${{ github.event.pull_request.number }} \
|
gh pr comment ${{ github.event.pull_request.number }} \
|
||||||
|
--repo ${{ github.repository }} \
|
||||||
--body ":warning: The script _**$FILE**_ failed with the following message: <br> <div><strong>${CLEANED_ERROR_MSG}</strong></div>"
|
--body ":warning: The script _**$FILE**_ failed with the following message: <br> <div><strong>${CLEANED_ERROR_MSG}</strong></div>"
|
||||||
|
|
||||||
|
|
||||||
ERROR="true"
|
ERROR="true"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo "ERROR=$ERROR" >> $GITHUB_ENV
|
echo "ERROR=$ERROR" >> $GITHUB_ENV
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Fail if error
|
- name: Fail if error
|
||||||
if: ${{ env.ERROR }} == 'true'
|
if: ${{ env.ERROR == 'true' }}
|
||||||
run: exit 1
|
run: exit 1
|
||||||
|
|||||||
21
.github/workflows/scripts/app-test/pr-build.func
vendored
21
.github/workflows/scripts/app-test/pr-build.func
vendored
@@ -1,12 +1,11 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: michelroegl-brunner
|
# Author: Michel Roegl-Brunner (michelroegl-brunner)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|
||||||
variables() {
|
variables() {
|
||||||
NSAPP=$(echo ${APP,,} | tr -d ' ')
|
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"
|
var_install="${NSAPP}-install" # sets the var_install variable by appending "-install" to the value of NSAPP.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NEXTID=$(pvesh get /cluster/nextid)
|
NEXTID=$(pvesh get /cluster/nextid)
|
||||||
@@ -16,7 +15,7 @@ header_info(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
base_settings() {
|
base_settings() {
|
||||||
|
# Default Settings
|
||||||
CT_TYPE="1"
|
CT_TYPE="1"
|
||||||
DISK_SIZE="4"
|
DISK_SIZE="4"
|
||||||
CORE_COUNT="1"
|
CORE_COUNT="1"
|
||||||
@@ -40,7 +39,7 @@ base_settings() {
|
|||||||
SSH_AUTHORIZED_KEY=""
|
SSH_AUTHORIZED_KEY=""
|
||||||
TAGS="community-script;"
|
TAGS="community-script;"
|
||||||
|
|
||||||
|
# Override default settings with variables from ct script
|
||||||
CT_TYPE=${var_unprivileged:-$CT_TYPE}
|
CT_TYPE=${var_unprivileged:-$CT_TYPE}
|
||||||
DISK_SIZE=${var_disk:-$DISK_SIZE}
|
DISK_SIZE=${var_disk:-$DISK_SIZE}
|
||||||
CORE_COUNT=${var_cpu:-$CORE_COUNT}
|
CORE_COUNT=${var_cpu:-$CORE_COUNT}
|
||||||
@@ -48,6 +47,7 @@ base_settings() {
|
|||||||
VERB=${var_verbose:-$VERBOSE}
|
VERB=${var_verbose:-$VERBOSE}
|
||||||
TAGS="${TAGS}${var_tags:-}"
|
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
|
if [ -z "$var_os" ]; then
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
fi
|
fi
|
||||||
@@ -112,10 +112,9 @@ error_handler() {
|
|||||||
SCRIPT_NAME=$(basename "$0")
|
SCRIPT_NAME=$(basename "$0")
|
||||||
local error_message="$SCRIPT_NAME: Failure in line $line_number while executing command $command"
|
local error_message="$SCRIPT_NAME: Failure in line $line_number while executing command $command"
|
||||||
echo -e "\n$error_message"
|
echo -e "\n$error_message"
|
||||||
exit "$error_message"
|
exit 100
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
msg_info() {
|
msg_info() {
|
||||||
local msg="$1"
|
local msg="$1"
|
||||||
echo -ne "${msg}\n"
|
echo -ne "${msg}\n"
|
||||||
@@ -132,10 +131,12 @@ msg_error() {
|
|||||||
echo -e "${msg}\n"
|
echo -e "${msg}\n"
|
||||||
}
|
}
|
||||||
start(){
|
start(){
|
||||||
|
base_settings
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
build_container() {
|
build_container() {
|
||||||
|
# if [ "$VERB" == "yes" ]; then set -x; fi
|
||||||
|
|
||||||
if [ "$CT_TYPE" == "1" ]; then
|
if [ "$CT_TYPE" == "1" ]; then
|
||||||
FEATURES="keyctl=1,nesting=1"
|
FEATURES="keyctl=1,nesting=1"
|
||||||
@@ -232,7 +233,6 @@ EOF
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# This starts the container and executes <app>-install.sh
|
# This starts the container and executes <app>-install.sh
|
||||||
msg_info "Starting LXC Container"
|
msg_info "Starting LXC Container"
|
||||||
pct start "$CTID"
|
pct start "$CTID"
|
||||||
@@ -250,10 +250,11 @@ http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
|
|||||||
EOF'
|
EOF'
|
||||||
pct exec "$CTID" -- ash -c "apk add bash >/dev/null"
|
pct exec "$CTID" -- ash -c "apk add bash >/dev/null"
|
||||||
fi
|
fi
|
||||||
lxc-attach -n "$CTID" -- bash -c "$(< /root/actions-runner/_work/ProxmoxVE/ProxmoxVE/install/$var_install.sh)"
|
lxc-attach -n "$CTID" -- bash -c "$(cat /root/actions-runner/_work/ProxmoxVE/ProxmoxVE/install/$var_install.sh)" $var_install.sh
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
description(){
|
description(){
|
||||||
|
IP=$(pct exec "$CTID" ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: michelroegl-brunner
|
# Author: Michel Roegl-Brunner (michelroegl-brunner)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|
||||||
color() {
|
color() {
|
||||||
@@ -11,7 +11,6 @@ catch_errors() {
|
|||||||
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
|
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
error_handler() {
|
error_handler() {
|
||||||
local exit_code="$?"
|
local exit_code="$?"
|
||||||
local line_number="$1"
|
local line_number="$1"
|
||||||
@@ -68,6 +67,7 @@ function select_storage() {
|
|||||||
*) false || { msg_error "Invalid storage class."; exit 201; };;
|
*) false || { msg_error "Invalid storage class."; exit 201; };;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# This Queries all storage locations
|
||||||
local -a MENU
|
local -a MENU
|
||||||
while read -r line; do
|
while read -r line; do
|
||||||
local TAG=$(echo $line | awk '{print $1}')
|
local TAG=$(echo $line | awk '{print $1}')
|
||||||
@@ -81,6 +81,7 @@ function select_storage() {
|
|||||||
MENU+=("$TAG" "$ITEM" "OFF")
|
MENU+=("$TAG" "$ITEM" "OFF")
|
||||||
done < <(pvesm status -content $CONTENT | awk 'NR>1')
|
done < <(pvesm status -content $CONTENT | awk 'NR>1')
|
||||||
|
|
||||||
|
# Select storage location
|
||||||
if [ $((${#MENU[@]}/3)) -eq 1 ]; then
|
if [ $((${#MENU[@]}/3)) -eq 1 ]; then
|
||||||
printf ${MENU[0]}
|
printf ${MENU[0]}
|
||||||
else
|
else
|
||||||
@@ -103,17 +104,12 @@ if pct status $CTID &>/dev/null; then
|
|||||||
exit 206
|
exit 206
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
TEMPLATE_STORAGE=$(select_storage template) || exit
|
TEMPLATE_STORAGE=$(select_storage template) || exit
|
||||||
msg_ok "Using $TEMPLATE_STORAGE for Template Storage."
|
|
||||||
|
|
||||||
|
|
||||||
CONTAINER_STORAGE=$(select_storage container) || exit
|
CONTAINER_STORAGE=$(select_storage container) || exit
|
||||||
msg_ok "Using $CONTAINER_STORAGE for Container Storage."
|
|
||||||
|
|
||||||
msg_info "Updating LXC Template List"
|
|
||||||
pveam update >/dev/null
|
pveam update >/dev/null
|
||||||
msg_ok "Updated LXC Template List"
|
|
||||||
|
|
||||||
TEMPLATE_SEARCH=${PCT_OSTYPE}-${PCT_OSVERSION:-}
|
TEMPLATE_SEARCH=${PCT_OSTYPE}-${PCT_OSVERSION:-}
|
||||||
mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V)
|
mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V)
|
||||||
@@ -124,35 +120,29 @@ TEMPLATE_PATH="/var/lib/vz/template/cache/$TEMPLATE"
|
|||||||
|
|
||||||
if ! pveam list "$TEMPLATE_STORAGE" | grep -q "$TEMPLATE"; then
|
if ! pveam list "$TEMPLATE_STORAGE" | grep -q "$TEMPLATE"; then
|
||||||
[[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH"
|
[[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH"
|
||||||
msg_info "Downloading LXC Template"
|
|
||||||
pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null ||
|
pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null ||
|
||||||
{ msg_error "A problem occurred while downloading the LXC template."; exit 208; }
|
{ msg_error "A problem occurred while downloading the LXC template."; exit 208; }
|
||||||
msg_ok "Downloaded LXC Template"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
grep -q "root:100000:65536" /etc/subuid || echo "root:100000:65536" >> /etc/subuid
|
grep -q "root:100000:65536" /etc/subuid || echo "root:100000:65536" >> /etc/subuid
|
||||||
grep -q "root:100000:65536" /etc/subgid || echo "root:100000:65536" >> /etc/subgid
|
grep -q "root:100000:65536" /etc/subgid || echo "root:100000:65536" >> /etc/subgid
|
||||||
|
|
||||||
|
|
||||||
PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}})
|
PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}})
|
||||||
[[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs "$CONTAINER_STORAGE:${PCT_DISK_SIZE:-8}")
|
[[ " ${PCT_OPTIONS[@]} " =~ " -rootfs " ]] || PCT_OPTIONS+=(-rootfs "$CONTAINER_STORAGE:${PCT_DISK_SIZE:-8}")
|
||||||
|
|
||||||
echo "${PCT_OPTIONS[@]}"
|
|
||||||
|
|
||||||
|
|
||||||
msg_info "Creating LXC Container"
|
|
||||||
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
|
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
|
||||||
[[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH"
|
[[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH"
|
||||||
|
|
||||||
msg_ok "Template integrity check completed"
|
|
||||||
pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null ||
|
pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null ||
|
||||||
{ msg_error "A problem occurred while re-downloading the LXC template."; exit 208; }
|
{ msg_error "A problem occurred while re-downloading the LXC template."; exit 208; }
|
||||||
|
|
||||||
msg_ok "Re-downloaded LXC Template"
|
|
||||||
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
|
if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[@]}" &>/dev/null; then
|
||||||
msg_error "A problem occurred while trying to create container after re-downloading template."
|
msg_error "A problem occurred while trying to create container after re-downloading template."
|
||||||
exit 200
|
exit 200
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
msg_ok "LXC Container $CTID was successfully created."
|
|
||||||
|
|||||||
@@ -6,22 +6,26 @@
|
|||||||
color() {
|
color() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SCRIPT_NAME="${BASH_SOURCE[0]:-unknown_script}"
|
||||||
catch_errors() {
|
catch_errors() {
|
||||||
set -Eeuo pipefail
|
set -Euoe pipefail
|
||||||
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
|
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
|
||||||
}
|
}
|
||||||
|
|
||||||
error_handler() {
|
error_handler() {
|
||||||
local line_number="$1"
|
local line_number="$1"
|
||||||
local command="$2"
|
local command="$2"
|
||||||
SCRIPT_NAME=$(basename "$0")
|
local error_message="$SCRIPT_NAME: Failure in line $line_number while executing command '$command'"
|
||||||
local error_message="$SCRIPT_NAME: Failure in line $line_number while executing command $command"
|
|
||||||
echo -e "\n$error_message"
|
echo -e "\n$error_message"
|
||||||
exit "$error_message"
|
exit 300
|
||||||
}
|
}
|
||||||
|
|
||||||
verb_ip6() {
|
verb_ip6() {
|
||||||
STD=""
|
STD="silent"
|
||||||
return
|
silent() {
|
||||||
|
"$@" >/dev/null 2>&1 || error_handler "${BASH_LINENO[0]}" "$*"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_info() {
|
msg_info() {
|
||||||
@@ -89,5 +93,3 @@ motd_ssh() {
|
|||||||
customize() {
|
customize() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
131
.github/workflows/update-json-date.yml
vendored
Normal file
131
.github/workflows/update-json-date.yml
vendored
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
name: Update JSON Date
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'json/**.json'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-app-files:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Generate a token
|
||||||
|
id: generate-token
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: ${{ vars.APP_ID }}
|
||||||
|
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Generate dynamic branch name
|
||||||
|
id: timestamp
|
||||||
|
run: echo "BRANCH_NAME=pr-update-json-$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set up GH_TOKEN
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
echo "GH_TOKEN=${GH_TOKEN}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 2 # Ensure we have the last two commits
|
||||||
|
|
||||||
|
- name: Get Previous Commit
|
||||||
|
id: prev_commit
|
||||||
|
run: |
|
||||||
|
PREV_COMMIT=$(git rev-parse HEAD^)
|
||||||
|
echo "Previous commit: $PREV_COMMIT"
|
||||||
|
echo "prev_commit=$PREV_COMMIT" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Get Newly Added JSON Files
|
||||||
|
id: new_json_files
|
||||||
|
run: |
|
||||||
|
git diff --name-only --diff-filter=A ${{ env.prev_commit }} HEAD | grep '^json/.*\.json$' > new_files.txt || true
|
||||||
|
echo "New files detected:"
|
||||||
|
cat new_files.txt || echo "No new files."
|
||||||
|
|
||||||
|
- name: Disable file mode changes
|
||||||
|
run: git config core.fileMode false
|
||||||
|
|
||||||
|
- name: Set up Git
|
||||||
|
run: |
|
||||||
|
git config --global user.name "GitHub Actions"
|
||||||
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
|
- name: Change JSON Date
|
||||||
|
id: change-json-date
|
||||||
|
run: |
|
||||||
|
current_date=$(date +"%Y-%m-%d")
|
||||||
|
while IFS= read -r file; do
|
||||||
|
# Skip empty lines
|
||||||
|
[[ -z "$file" ]] && continue
|
||||||
|
|
||||||
|
if [[ -f "$file" ]]; then
|
||||||
|
echo "Processing $file..."
|
||||||
|
current_json_date=$(jq -r '.date_created // empty' "$file")
|
||||||
|
if [[ -z "$current_json_date" || "$current_json_date" != "$current_date" ]]; then
|
||||||
|
echo "Updating $file with date $current_date"
|
||||||
|
jq --arg date "$current_date" '.date_created = $date' "$file" > temp.json && mv temp.json "$file"
|
||||||
|
else
|
||||||
|
echo "Date in $file is already up to date."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Warning: File $file not found!"
|
||||||
|
fi
|
||||||
|
done < new_files.txt
|
||||||
|
rm new_files.txt
|
||||||
|
|
||||||
|
- name: Check if there are any changes
|
||||||
|
run: |
|
||||||
|
echo "Checking for changes..."
|
||||||
|
git add -A # Untracked Dateien aufnehmen
|
||||||
|
git status
|
||||||
|
if git diff --cached --quiet; then
|
||||||
|
echo "No changes detected."
|
||||||
|
echo "changed=false" >> "$GITHUB_ENV"
|
||||||
|
else
|
||||||
|
echo "Changes detected:"
|
||||||
|
git diff --stat --cached
|
||||||
|
echo "changed=true" >> "$GITHUB_ENV"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Step 7: Commit and create PR if changes exist
|
||||||
|
- name: Commit and create PR if changes exist
|
||||||
|
if: env.changed == 'true'
|
||||||
|
run: |
|
||||||
|
|
||||||
|
|
||||||
|
git commit -m "Update date in json"
|
||||||
|
git checkout -b ${{ env.BRANCH_NAME }}
|
||||||
|
git push origin ${{ env.BRANCH_NAME }}
|
||||||
|
|
||||||
|
gh pr create --title "[core] update date in json" \
|
||||||
|
--body "This PR is auto-generated by a GitHub Action to update the date in json." \
|
||||||
|
--head ${{ env.BRANCH_NAME }} \
|
||||||
|
--base main \
|
||||||
|
--label "automated pr"
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
|
- name: Approve pull request
|
||||||
|
if: env.changed == 'true'
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
PR_NUMBER=$(gh pr list --head "${{ env.BRANCH_NAME }}" --json number --jq '.[].number')
|
||||||
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
|
gh pr review $PR_NUMBER --approve
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: No changes detected
|
||||||
|
if: env.changed == 'false'
|
||||||
|
run: echo "No changes to commit. Workflow completed successfully."
|
||||||
0
.editorconfig → .vscode/.editorconfig
vendored
0
.editorconfig → .vscode/.editorconfig
vendored
157
CHANGELOG.md
157
CHANGELOG.md
@@ -17,6 +17,163 @@ All LXC instances created using this repository come pre-installed with Midnight
|
|||||||
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
|
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
|
||||||
|
|
||||||
|
|
||||||
|
## 2025-02-21
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Add ZFS to Podman. Now it works on ZFS! [@jaminmc](https://github.com/jaminmc) ([#2526](https://github.com/community-scripts/ProxmoxVE/pull/2526))
|
||||||
|
- Fix: Tianji - Downgrade Node [@MickLesk](https://github.com/MickLesk) ([#2530](https://github.com/community-scripts/ProxmoxVE/pull/2530))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- [gh] General Cleanup & Moving Files / Folders [@MickLesk](https://github.com/MickLesk) ([#2532](https://github.com/community-scripts/ProxmoxVE/pull/2532))
|
||||||
|
|
||||||
|
## 2025-02-20
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Breaking: Actual Budget Script (HTTPS / DB Migration / New Structure) - Read Description [@MickLesk](https://github.com/MickLesk) ([#2496](https://github.com/community-scripts/ProxmoxVE/pull/2496))
|
||||||
|
- Pihole & Unbound: Installation for Pihole V6 (read description) [@MickLesk](https://github.com/MickLesk) ([#2505](https://github.com/community-scripts/ProxmoxVE/pull/2505))
|
||||||
|
|
||||||
|
### ✨ New Scripts
|
||||||
|
|
||||||
|
- New Script: Dolibarr [@tremor021](https://github.com/tremor021) ([#2502](https://github.com/community-scripts/ProxmoxVE/pull/2502))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Fix: Pingvin Share - Update not copying to correct directory [@tremor021](https://github.com/tremor021) ([#2521](https://github.com/community-scripts/ProxmoxVE/pull/2521))
|
||||||
|
- WikiJS: Prepare for Using PostgreSQL [@MickLesk](https://github.com/MickLesk) ([#2516](https://github.com/community-scripts/ProxmoxVE/pull/2516))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- [gh] better handling of labels [@MickLesk](https://github.com/MickLesk) ([#2517](https://github.com/community-scripts/ProxmoxVE/pull/2517))
|
||||||
|
|
||||||
|
## 2025-02-19
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Fix: file replacement in Watcharr Update Script [@Clusters](https://github.com/Clusters) ([#2498](https://github.com/community-scripts/ProxmoxVE/pull/2498))
|
||||||
|
- Fix: Kometa - fixed successful setup message and added info to json [@tremor021](https://github.com/tremor021) ([#2495](https://github.com/community-scripts/ProxmoxVE/pull/2495))
|
||||||
|
- Fix: Actual Budget, add missing .env when updating [@MickLesk](https://github.com/MickLesk) ([#2494](https://github.com/community-scripts/ProxmoxVE/pull/2494))
|
||||||
|
|
||||||
|
## 2025-02-18
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### ✨ New Scripts
|
||||||
|
|
||||||
|
- New Script: Docmost [@MickLesk](https://github.com/MickLesk) ([#2472](https://github.com/community-scripts/ProxmoxVE/pull/2472))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Fix: SQL Server 2022 | GPG & Install [@MickLesk](https://github.com/MickLesk) ([#2476](https://github.com/community-scripts/ProxmoxVE/pull/2476))
|
||||||
|
- Feature: PBS Bare Metal Installation - Allow Microcode [@MickLesk](https://github.com/MickLesk) ([#2477](https://github.com/community-scripts/ProxmoxVE/pull/2477))
|
||||||
|
- Fix: MagicMirror force Node version and fix backups [@tremor021](https://github.com/tremor021) ([#2468](https://github.com/community-scripts/ProxmoxVE/pull/2468))
|
||||||
|
- Update BunkerWeb scripts to latest NGINX and specs [@TheophileDiot](https://github.com/TheophileDiot) ([#2466](https://github.com/community-scripts/ProxmoxVE/pull/2466))
|
||||||
|
|
||||||
|
## 2025-02-17
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Zipline: Prepare for Version 4.0.0 [@MickLesk](https://github.com/MickLesk) ([#2455](https://github.com/community-scripts/ProxmoxVE/pull/2455))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Fix: Zipline increase SECRET to 42 chars [@V1d1o7](https://github.com/V1d1o7) ([#2444](https://github.com/community-scripts/ProxmoxVE/pull/2444))
|
||||||
|
|
||||||
|
## 2025-02-16
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Fix: Typo in Ubuntu 24.10 VM Script [@PhoenixEmik](https://github.com/PhoenixEmik) ([#2430](https://github.com/community-scripts/ProxmoxVE/pull/2430))
|
||||||
|
- Fix: Grist update no longer removes previous user data [@cfurrow](https://github.com/cfurrow) ([#2428](https://github.com/community-scripts/ProxmoxVE/pull/2428))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- Debian icon update [@bannert1337](https://github.com/bannert1337) ([#2433](https://github.com/community-scripts/ProxmoxVE/pull/2433))
|
||||||
|
- Update Graylog icon [@bannert1337](https://github.com/bannert1337) ([#2434](https://github.com/community-scripts/ProxmoxVE/pull/2434))
|
||||||
|
|
||||||
|
## 2025-02-15
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Setup cron in install/freshrss-install.sh [@zimmra](https://github.com/zimmra) ([#2412](https://github.com/community-scripts/ProxmoxVE/pull/2412))
|
||||||
|
- Fix: Homarr update service files [@CrazyWolf13](https://github.com/CrazyWolf13) ([#2416](https://github.com/community-scripts/ProxmoxVE/pull/2416))
|
||||||
|
- Update MagicMirror install and update scripts [@tremor021](https://github.com/tremor021) ([#2409](https://github.com/community-scripts/ProxmoxVE/pull/2409))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- Fix RustDesk slug in json [@tremor021](https://github.com/tremor021) ([#2411](https://github.com/community-scripts/ProxmoxVE/pull/2411))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- [GH] Update script-test Workflow [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2415](https://github.com/community-scripts/ProxmoxVE/pull/2415))
|
||||||
|
|
||||||
|
## 2025-02-14
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Fix homarr [@CrazyWolf13](https://github.com/CrazyWolf13) ([#2369](https://github.com/community-scripts/ProxmoxVE/pull/2369))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- RustDesk Server - Added configuration guide to json [@tremor021](https://github.com/tremor021) ([#2389](https://github.com/community-scripts/ProxmoxVE/pull/2389))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- [gh] Update script-test.yml [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2399](https://github.com/community-scripts/ProxmoxVE/pull/2399))
|
||||||
|
- [gh] Introducing new Issue Github Template Feature (Bug, Feature, Task) [@MickLesk](https://github.com/MickLesk) ([#2394](https://github.com/community-scripts/ProxmoxVE/pull/2394))
|
||||||
|
|
||||||
|
### 📡 API
|
||||||
|
|
||||||
|
- [API]Add more enpoints to API [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2390](https://github.com/community-scripts/ProxmoxVE/pull/2390))
|
||||||
|
- [API] Update api.func: Remove unwanted file creation [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2378](https://github.com/community-scripts/ProxmoxVE/pull/2378))
|
||||||
|
|
||||||
|
## 2025-02-13
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
### ✨ New Scripts
|
||||||
|
|
||||||
|
- Re-Add: Pf2eTools [@MickLesk](https://github.com/MickLesk) ([#2336](https://github.com/community-scripts/ProxmoxVE/pull/2336))
|
||||||
|
- New Script: Nx Witness [@MickLesk](https://github.com/MickLesk) ([#2350](https://github.com/community-scripts/ProxmoxVE/pull/2350))
|
||||||
|
- New Script: RustDesk Server [@tremor021](https://github.com/tremor021) ([#2326](https://github.com/community-scripts/ProxmoxVE/pull/2326))
|
||||||
|
- New Script: MinIO [@MickLesk](https://github.com/MickLesk) ([#2333](https://github.com/community-scripts/ProxmoxVE/pull/2333))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Missing ";" in ct/trilium.sh [@Scorpoon](https://github.com/Scorpoon) ([#2380](https://github.com/community-scripts/ProxmoxVE/pull/2380))
|
||||||
|
- Fix: Element Synapse - Fixed server listening on both localhost and 0.0.0.0 [@tremor021](https://github.com/tremor021) ([#2376](https://github.com/community-scripts/ProxmoxVE/pull/2376))
|
||||||
|
- [core] cleanup (remove # App Default Values) [@MickLesk](https://github.com/MickLesk) ([#2356](https://github.com/community-scripts/ProxmoxVE/pull/2356))
|
||||||
|
- Fix: Kometa - Increase RAM and HDD resources [@tremor021](https://github.com/tremor021) ([#2367](https://github.com/community-scripts/ProxmoxVE/pull/2367))
|
||||||
|
- [core] cleanup (remove base_settings & unneeded comments) [@MickLesk](https://github.com/MickLesk) ([#2351](https://github.com/community-scripts/ProxmoxVE/pull/2351))
|
||||||
|
- Fix: Authentik Embedded Outpost Upgrade [@vidonnus](https://github.com/vidonnus) ([#2327](https://github.com/community-scripts/ProxmoxVE/pull/2327))
|
||||||
|
- Fix HomeAsisstant LXC: Use the latest versions of runlike with --use-volume-id [@genehand](https://github.com/genehand) ([#2325](https://github.com/community-scripts/ProxmoxVE/pull/2325))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- Fix: Zoraxy - now shows application as updateable on the website [@tremor021](https://github.com/tremor021) ([#2352](https://github.com/community-scripts/ProxmoxVE/pull/2352))
|
||||||
|
- Fix script category name text alignment in ScriptAccordion [@BramSuurdje](https://github.com/BramSuurdje) ([#2342](https://github.com/community-scripts/ProxmoxVE/pull/2342))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- [gh] Remove unwanted output from script test workflow [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2337](https://github.com/community-scripts/ProxmoxVE/pull/2337))
|
||||||
|
- [gh] Workflow to change date on new json files [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2319](https://github.com/community-scripts/ProxmoxVE/pull/2319))
|
||||||
|
|
||||||
## 2025-02-12
|
## 2025-02-12
|
||||||
|
|
||||||
### Changes
|
### Changes
|
||||||
|
|||||||
@@ -19,10 +19,10 @@
|
|||||||
<a href="https://ko-fi.com/community_scripts">
|
<a href="https://ko-fi.com/community_scripts">
|
||||||
<img src="https://img.shields.io/badge/Support-FF5F5F?style=for-the-badge&logo=ko-fi&logoColor=white" alt="Donate" />
|
<img src="https://img.shields.io/badge/Support-FF5F5F?style=for-the-badge&logo=ko-fi&logoColor=white" alt="Donate" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">
|
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/CONTRIBUTING.md">
|
||||||
<img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
|
<img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md">
|
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTOR_AND_GUIDES/USER_SUBMITTED_GUIDES.md">
|
||||||
<img src="https://img.shields.io/badge/Guides-0077b5?style=for-the-badge&logo=read-the-docs&logoColor=white" alt="Guides" />
|
<img src="https://img.shields.io/badge/Guides-0077b5?style=for-the-badge&logo=read-the-docs&logoColor=white" alt="Guides" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md">
|
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md">
|
||||||
|
|||||||
283
api/main.go
283
api/main.go
@@ -11,6 +11,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
@@ -31,6 +32,7 @@ func loadEnv() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DataModel represents a single document in MongoDB
|
||||||
type DataModel struct {
|
type DataModel struct {
|
||||||
ID primitive.ObjectID `json:"id" bson:"_id,omitempty"`
|
ID primitive.ObjectID `json:"id" bson:"_id,omitempty"`
|
||||||
CT_TYPE uint `json:"ct_type" bson:"ct_type"`
|
CT_TYPE uint `json:"ct_type" bson:"ct_type"`
|
||||||
@@ -56,6 +58,13 @@ type StatusModel struct {
|
|||||||
STATUS string `json:"status" bson:"status"`
|
STATUS string `json:"status" bson:"status"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CountResponse struct {
|
||||||
|
TotalEntries int64 `json:"total_entries"`
|
||||||
|
StatusCount map[string]int64 `json:"status_count"`
|
||||||
|
NSAPPCount map[string]int64 `json:"nsapp_count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ConnectDatabase initializes the MongoDB connection
|
||||||
func ConnectDatabase() {
|
func ConnectDatabase() {
|
||||||
loadEnv()
|
loadEnv()
|
||||||
|
|
||||||
@@ -78,6 +87,7 @@ func ConnectDatabase() {
|
|||||||
fmt.Println("Connected to MongoDB on 10.10.10.18")
|
fmt.Println("Connected to MongoDB on 10.10.10.18")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UploadJSON handles API requests and stores data as a document in MongoDB
|
||||||
func UploadJSON(w http.ResponseWriter, r *http.Request) {
|
func UploadJSON(w http.ResponseWriter, r *http.Request) {
|
||||||
var input DataModel
|
var input DataModel
|
||||||
|
|
||||||
@@ -98,6 +108,7 @@ func UploadJSON(w http.ResponseWriter, r *http.Request) {
|
|||||||
json.NewEncoder(w).Encode(map[string]string{"message": "Data saved successfully"})
|
json.NewEncoder(w).Encode(map[string]string{"message": "Data saved successfully"})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateStatus updates the status of a record based on RANDOM_ID
|
||||||
func UpdateStatus(w http.ResponseWriter, r *http.Request) {
|
func UpdateStatus(w http.ResponseWriter, r *http.Request) {
|
||||||
var input StatusModel
|
var input StatusModel
|
||||||
|
|
||||||
@@ -120,6 +131,7 @@ func UpdateStatus(w http.ResponseWriter, r *http.Request) {
|
|||||||
json.NewEncoder(w).Encode(map[string]string{"message": "Record updated successfully"})
|
json.NewEncoder(w).Encode(map[string]string{"message": "Record updated successfully"})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDataJSON fetches all data from MongoDB
|
||||||
func GetDataJSON(w http.ResponseWriter, r *http.Request) {
|
func GetDataJSON(w http.ResponseWriter, r *http.Request) {
|
||||||
var records []DataModel
|
var records []DataModel
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
@@ -144,6 +156,270 @@ func GetDataJSON(w http.ResponseWriter, r *http.Request) {
|
|||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
json.NewEncoder(w).Encode(records)
|
json.NewEncoder(w).Encode(records)
|
||||||
}
|
}
|
||||||
|
func GetPaginatedData(w http.ResponseWriter, r *http.Request) {
|
||||||
|
page, _ := strconv.Atoi(r.URL.Query().Get("page"))
|
||||||
|
limit, _ := strconv.Atoi(r.URL.Query().Get("limit"))
|
||||||
|
if page < 1 {
|
||||||
|
page = 1
|
||||||
|
}
|
||||||
|
if limit < 1 {
|
||||||
|
limit = 10
|
||||||
|
}
|
||||||
|
skip := (page - 1) * limit
|
||||||
|
var records []DataModel
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
options := options.Find().SetSkip(int64(skip)).SetLimit(int64(limit))
|
||||||
|
cursor, err := collection.Find(ctx, bson.M{}, options)
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer cursor.Close(ctx)
|
||||||
|
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var record DataModel
|
||||||
|
if err := cursor.Decode(&record); err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
records = append(records, record)
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
json.NewEncoder(w).Encode(records)
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetSummary(w http.ResponseWriter, r *http.Request) {
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
totalCount, err := collection.CountDocuments(ctx, bson.M{})
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
statusCount := make(map[string]int64)
|
||||||
|
nsappCount := make(map[string]int64)
|
||||||
|
|
||||||
|
pipeline := []bson.M{
|
||||||
|
{"$group": bson.M{"_id": "$status", "count": bson.M{"$sum": 1}}},
|
||||||
|
}
|
||||||
|
cursor, err := collection.Aggregate(ctx, pipeline)
|
||||||
|
if err == nil {
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var result struct {
|
||||||
|
ID string `bson:"_id"`
|
||||||
|
Count int64 `bson:"count"`
|
||||||
|
}
|
||||||
|
if err := cursor.Decode(&result); err == nil {
|
||||||
|
statusCount[result.ID] = result.Count
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pipeline = []bson.M{
|
||||||
|
{"$group": bson.M{"_id": "$nsapp", "count": bson.M{"$sum": 1}}},
|
||||||
|
}
|
||||||
|
cursor, err = collection.Aggregate(ctx, pipeline)
|
||||||
|
if err == nil {
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var result struct {
|
||||||
|
ID string `bson:"_id"`
|
||||||
|
Count int64 `bson:"count"`
|
||||||
|
}
|
||||||
|
if err := cursor.Decode(&result); err == nil {
|
||||||
|
nsappCount[result.ID] = result.Count
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
response := CountResponse{
|
||||||
|
TotalEntries: totalCount,
|
||||||
|
StatusCount: statusCount,
|
||||||
|
NSAPPCount: nsappCount,
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
json.NewEncoder(w).Encode(response)
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetByNsapp(w http.ResponseWriter, r *http.Request) {
|
||||||
|
nsapp := r.URL.Query().Get("nsapp")
|
||||||
|
var records []DataModel
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
cursor, err := collection.Find(ctx, bson.M{"nsapp": nsapp})
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer cursor.Close(ctx)
|
||||||
|
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var record DataModel
|
||||||
|
if err := cursor.Decode(&record); err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
records = append(records, record)
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
json.NewEncoder(w).Encode(records)
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetByDateRange(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
|
startDate := r.URL.Query().Get("start_date")
|
||||||
|
endDate := r.URL.Query().Get("end_date")
|
||||||
|
|
||||||
|
if startDate == "" || endDate == "" {
|
||||||
|
http.Error(w, "Both start_date and end_date are required", http.StatusBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
start, err := time.Parse("2006-01-02T15:04:05.999999+00:00", startDate+"T00:00:00+00:00")
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, "Invalid start_date format", http.StatusBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
end, err := time.Parse("2006-01-02T15:04:05.999999+00:00", endDate+"T23:59:59+00:00")
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, "Invalid end_date format", http.StatusBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var records []DataModel
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
cursor, err := collection.Find(ctx, bson.M{
|
||||||
|
"created_at": bson.M{
|
||||||
|
"$gte": start,
|
||||||
|
"$lte": end,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer cursor.Close(ctx)
|
||||||
|
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var record DataModel
|
||||||
|
if err := cursor.Decode(&record); err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
records = append(records, record)
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
json.NewEncoder(w).Encode(records)
|
||||||
|
}
|
||||||
|
func GetByStatus(w http.ResponseWriter, r *http.Request) {
|
||||||
|
status := r.URL.Query().Get("status")
|
||||||
|
var records []DataModel
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
cursor, err := collection.Find(ctx, bson.M{"status": status})
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer cursor.Close(ctx)
|
||||||
|
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var record DataModel
|
||||||
|
if err := cursor.Decode(&record); err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
records = append(records, record)
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
json.NewEncoder(w).Encode(records)
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetByOS(w http.ResponseWriter, r *http.Request) {
|
||||||
|
osType := r.URL.Query().Get("os_type")
|
||||||
|
osVersion := r.URL.Query().Get("os_version")
|
||||||
|
var records []DataModel
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
cursor, err := collection.Find(ctx, bson.M{"os_type": osType, "os_version": osVersion})
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer cursor.Close(ctx)
|
||||||
|
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var record DataModel
|
||||||
|
if err := cursor.Decode(&record); err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
records = append(records, record)
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
json.NewEncoder(w).Encode(records)
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetErrors(w http.ResponseWriter, r *http.Request) {
|
||||||
|
errorCount := make(map[string]int)
|
||||||
|
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
cursor, err := collection.Find(ctx, bson.M{"error": bson.M{"$ne": ""}})
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer cursor.Close(ctx)
|
||||||
|
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var record DataModel
|
||||||
|
if err := cursor.Decode(&record); err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if record.ERROR != "" {
|
||||||
|
errorCount[record.ERROR]++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type ErrorCountResponse struct {
|
||||||
|
Error string `json:"error"`
|
||||||
|
Count int `json:"count"`
|
||||||
|
}
|
||||||
|
|
||||||
|
var errorCounts []ErrorCountResponse
|
||||||
|
for err, count := range errorCount {
|
||||||
|
errorCounts = append(errorCounts, ErrorCountResponse{
|
||||||
|
Error: err,
|
||||||
|
Count: count,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
json.NewEncoder(w).Encode(struct {
|
||||||
|
ErrorCounts []ErrorCountResponse `json:"error_counts"`
|
||||||
|
}{
|
||||||
|
ErrorCounts: errorCounts,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
ConnectDatabase()
|
ConnectDatabase()
|
||||||
@@ -152,6 +428,13 @@ func main() {
|
|||||||
router.HandleFunc("/upload", UploadJSON).Methods("POST")
|
router.HandleFunc("/upload", UploadJSON).Methods("POST")
|
||||||
router.HandleFunc("/upload/updatestatus", UpdateStatus).Methods("POST")
|
router.HandleFunc("/upload/updatestatus", UpdateStatus).Methods("POST")
|
||||||
router.HandleFunc("/data/json", GetDataJSON).Methods("GET")
|
router.HandleFunc("/data/json", GetDataJSON).Methods("GET")
|
||||||
|
router.HandleFunc("/data/paginated", GetPaginatedData).Methods("GET")
|
||||||
|
router.HandleFunc("/data/summary", GetSummary).Methods("GET")
|
||||||
|
router.HandleFunc("/data/nsapp", GetByNsapp).Methods("GET")
|
||||||
|
router.HandleFunc("/data/date", GetByDateRange).Methods("GET")
|
||||||
|
router.HandleFunc("/data/status", GetByStatus).Methods("GET")
|
||||||
|
router.HandleFunc("/data/os", GetByOS).Methods("GET")
|
||||||
|
router.HandleFunc("/data/errors", GetErrors).Methods("GET")
|
||||||
|
|
||||||
c := cors.New(cors.Options{
|
c := cors.New(cors.Options{
|
||||||
AllowedOrigins: []string{"*"},
|
AllowedOrigins: []string{"*"},
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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.2fauth.app/
|
# Source: https://docs.2fauth.app/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="2FAuth"
|
APP="2FAuth"
|
||||||
var_tags="2fa;authenticator"
|
var_tags="2fa;authenticator"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://actualbudget.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Actual Budget"
|
APP="Actual Budget"
|
||||||
var_tags="finance"
|
var_tags="finance"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
@@ -31,10 +26,12 @@ function update_script() {
|
|||||||
|
|
||||||
if [[ ! -d /opt/actualbudget ]]; then
|
if [[ ! -d /opt/actualbudget ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | \
|
||||||
|
grep "tag_name" | awk -F '"' '{print substr($4, 2)}')
|
||||||
|
|
||||||
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
|
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping ${APP}"
|
||||||
systemctl stop actualbudget
|
systemctl stop actualbudget
|
||||||
@@ -42,32 +39,78 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
cd /tmp
|
cd /tmp
|
||||||
wget -q https://github.com/actualbudget/actual-server/archive/refs/tags/v${RELEASE}.tar.gz
|
wget -q "https://github.com/actualbudget/actual-server/archive/refs/tags/v${RELEASE}.tar.gz"
|
||||||
|
|
||||||
mv /opt/actualbudget /opt/actualbudget_bak
|
mv /opt/actualbudget /opt/actualbudget_bak
|
||||||
tar -xzf v${RELEASE}.tar.gz >/dev/null 2>&1
|
tar -xzf "v${RELEASE}.tar.gz" &>/dev/null
|
||||||
mv *ctual-server-* /opt/actualbudget
|
mv *ctual-server-* /opt/actualbudget
|
||||||
rm -rf /opt/actualbudget/.env
|
|
||||||
mv /opt/actualbudget_bak/.env /opt/actualbudget
|
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
|
||||||
mv /opt/actualbudget_bak/.migrate /opt/actualbudget
|
for dir in server-files .migrate user-files migrations; do
|
||||||
mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files
|
if [[ -d /opt/actualbudget_bak/$dir ]]; then
|
||||||
|
mv /opt/actualbudget_bak/$dir/* /opt/actualbudget-data/$dir/ 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -f /opt/actualbudget-data/migrate/.migrations ]]; then
|
||||||
|
sed -i 's/null/1732656575219/g' /opt/actualbudget-data/migrate/.migrations
|
||||||
|
sed -i 's/null/1732656575220/g' /opt/actualbudget-data/migrate/.migrations
|
||||||
|
fi
|
||||||
|
if [[ -f /opt/actualbudget/server-files/account.sqlite ]] && [[ ! -f /opt/actualbudget-data/server-files/account.sqlite ]]; then
|
||||||
|
mv /opt/actualbudget/server-files/account.sqlite /opt/actualbudget-data/server-files/account.sqlite
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f /opt/actualbudget_bak/.env ]]; then
|
||||||
|
mv /opt/actualbudget_bak/.env /opt/actualbudget-data/.env
|
||||||
|
else
|
||||||
|
cat <<EOF > /opt/actualbudget-data/.env
|
||||||
|
ACTUAL_UPLOAD_DIR=/opt/actualbudget-data/upload
|
||||||
|
ACTUAL_DATA_DIR=/opt/actualbudget-data
|
||||||
|
ACTUAL_SERVER_FILES_DIR=/opt/actualbudget-data/server-files
|
||||||
|
ACTUAL_USER_FILES=/opt/actualbudget-data/user-files
|
||||||
|
PORT=5006
|
||||||
|
ACTUAL_TRUSTED_PROXIES="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.1/32,::1/128,fc00::/7"
|
||||||
|
ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key
|
||||||
|
ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
cd /opt/actualbudget
|
cd /opt/actualbudget
|
||||||
yarn install &>/dev/null
|
yarn install &>/dev/null
|
||||||
echo "${RELEASE}" > /opt/actualbudget_version.txt
|
echo "${RELEASE}" > /opt/actualbudget_version.txt
|
||||||
msg_ok "Updated ${APP}"
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
msg_info "Starting ${APP}"
|
||||||
|
cat <<EOF > /etc/systemd/system/actualbudget.service
|
||||||
|
[Unit]
|
||||||
|
Description=Actual Budget Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
Group=root
|
||||||
|
WorkingDirectory=/opt/actualbudget
|
||||||
|
EnvironmentFile=/opt/actualbudget-data/.env
|
||||||
|
ExecStart=/usr/bin/yarn start
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
systemctl daemon-reload
|
||||||
systemctl start actualbudget
|
systemctl start actualbudget
|
||||||
msg_ok "Started ${APP}"
|
msg_ok "Started ${APP}"
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
msg_info "Cleaning Up"
|
||||||
rm -rf /opt/actualbudget_bak
|
rm -rf /opt/actualbudget_bak
|
||||||
rm -rf /tmp/v${RELEASE}.tar.gz
|
rm -rf "/tmp/v${RELEASE}.tar.gz"
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
exit
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@@ -77,4 +120,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5006${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:5006${CL}"
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://adguard.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Adguard"
|
APP="Adguard"
|
||||||
var_tags="adblock"
|
var_tags="adblock"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://adventurelog.app/
|
# Source: https://adventurelog.app/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="AdventureLog"
|
APP="AdventureLog"
|
||||||
var_tags="traveling"
|
var_tags="traveling"
|
||||||
var_disk="7"
|
var_disk="7"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.ispyconnect.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="AgentDVR"
|
APP="AgentDVR"
|
||||||
var_tags="dvr"
|
var_tags="dvr"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="ubuntu"
|
|||||||
var_version="22.04"
|
var_version="22.04"
|
||||||
var_unprivileged="0"
|
var_unprivileged="0"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster)
|
# 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/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Alpine-Docker"
|
APP="Alpine-Docker"
|
||||||
var_tags="docker;alpine"
|
var_tags="docker;alpine"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -14,11 +14,7 @@ var_os="alpine"
|
|||||||
var_version="3.21"
|
var_version="3.21"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster)
|
# 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/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Alpine-Grafana"
|
APP="Alpine-Grafana"
|
||||||
var_tags="alpine;monitoring"
|
var_tags="alpine;monitoring"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -14,11 +14,7 @@ var_os="alpine"
|
|||||||
var_version="3.21"
|
var_version="3.21"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: nicedevil007 (NiceDevil)
|
# Author: nicedevil007 (NiceDevil)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://it-tools.tech/
|
||||||
|
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Alpine-IT-Tools"
|
APP="Alpine-IT-Tools"
|
||||||
var_tags="alpine;development"
|
var_tags="alpine;development"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="alpine"
|
|||||||
var_version="3.21"
|
var_version="3.21"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster)
|
# 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://nextcloud.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Alpine-Nextcloud"
|
APP="Alpine-Nextcloud"
|
||||||
var_tags="alpine;cloud"
|
var_tags="alpine;cloud"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -14,11 +14,7 @@ var_os="alpine"
|
|||||||
var_version="3.21"
|
var_version="3.21"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster)
|
# 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/dani-garcia/vaultwarden
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Alpine-Vaultwarden"
|
APP="Alpine-Vaultwarden"
|
||||||
var_tags="alpine;vault"
|
var_tags="alpine;vault"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -14,11 +14,7 @@ var_os="alpine"
|
|||||||
var_version="3.21"
|
var_version="3.21"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster)
|
# 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.zigbee2mqtt.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Alpine-Zigbee2MQTT"
|
APP="Alpine-Zigbee2MQTT"
|
||||||
var_tags="alpine;zigbee;mqtt;smarthome"
|
var_tags="alpine;zigbee;mqtt;smarthome"
|
||||||
var_disk="0.3"
|
var_disk="0.3"
|
||||||
@@ -14,11 +14,7 @@ var_os="alpine"
|
|||||||
var_version="3.21"
|
var_version="3.21"
|
||||||
var_unprivileged="0"
|
var_unprivileged="0"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 tteck
|
||||||
# Author: tteck (tteckster)
|
# 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://alpinelinux.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Alpine"
|
APP="Alpine"
|
||||||
var_tags="os;alpine"
|
var_tags="os;alpine"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -14,11 +14,7 @@ var_os="alpine"
|
|||||||
var_version="3.21"
|
var_version="3.21"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://cassandra.apache.org/_/index.html
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Apache-Cassandra"
|
APP="Apache-Cassandra"
|
||||||
var_tags="database;NoSQL"
|
var_tags="database;NoSQL"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -16,11 +15,7 @@ var_version="12"
|
|||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://couchdb.apache.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Apache-CouchDB"
|
APP="Apache-CouchDB"
|
||||||
var_tags="database"
|
var_tags="database"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func)
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: Michel Roegl-Brunner (michelroegl-brunner)
|
# Author: Michel Roegl-Brunner (michelroegl-brunner)
|
||||||
# License: | MIT https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: | MIT https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://guacamole.apache.org/
|
# Source: https://guacamole.apache.org/
|
||||||
|
|
||||||
#App Default Values
|
|
||||||
APP="Apache-Guacamole"
|
APP="Apache-Guacamole"
|
||||||
var_tags="webserver;remote"
|
var_tags="webserver;remote"
|
||||||
var_disk="4"
|
var_disk="4"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/apache/tika/
|
# Source: https://github.com/apache/tika/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Apache-Tika"
|
APP="Apache-Tika"
|
||||||
var_tags="document"
|
var_tags="document"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://wiki.debian.org/AptCacherNg
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Apt-Cacher-NG"
|
APP="Apt-Cacher-NG"
|
||||||
var_tags="caching"
|
var_tags="caching"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://archivebox.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="ArchiveBox"
|
APP="ArchiveBox"
|
||||||
var_tags="archive;bookmark"
|
var_tags="archive;bookmark"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://aria2.github.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Aria2"
|
APP="Aria2"
|
||||||
var_tags="download-utility"
|
var_tags="download-utility"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.audiobookshelf.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="audiobookshelf"
|
APP="audiobookshelf"
|
||||||
var_tags="podcast;audiobook"
|
var_tags="podcast;audiobook"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -2,10 +2,9 @@
|
|||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: remz1337
|
# Author: remz1337
|
||||||
# License: MIT
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# Source: https://goauthentik.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Authentik"
|
APP="Authentik"
|
||||||
var_tags="identity-provider"
|
var_tags="identity-provider"
|
||||||
var_disk="12"
|
var_disk="12"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
@@ -52,6 +47,13 @@ function update_script() {
|
|||||||
npm run build &>/dev/null
|
npm run build &>/dev/null
|
||||||
msg_ok "Built ${APP} website"
|
msg_ok "Built ${APP} website"
|
||||||
|
|
||||||
|
msg_info "Building ${APP} server"
|
||||||
|
cd /opt/authentik
|
||||||
|
go mod download
|
||||||
|
go build -o /go/authentik ./cmd/server
|
||||||
|
go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
|
||||||
|
msg_ok "Built ${APP} server"
|
||||||
|
|
||||||
msg_info "Installing Python Dependencies"
|
msg_info "Installing Python Dependencies"
|
||||||
cd /opt/authentik
|
cd /opt/authentik
|
||||||
poetry install --only=main --no-ansi --no-interaction --no-root &>/dev/null
|
poetry install --only=main --no-ansi --no-interaction --no-root &>/dev/null
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://autobrr.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Autobrr"
|
APP="Autobrr"
|
||||||
var_tags="arr;"
|
var_tags="arr;"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://sabre.io/baikal/
|
# Source: https://sabre.io/baikal/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Baikal"
|
APP="Baikal"
|
||||||
var_tags="Dav"
|
var_tags="Dav"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/barcodebuddy
|
# Source: https://github.com/Forceu/barcodebuddy
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Barcode-Buddy"
|
APP="Barcode-Buddy"
|
||||||
var_tags="grocery;household"
|
var_tags="grocery;household"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.bazarr.media/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Bazarr"
|
APP="Bazarr"
|
||||||
var_tags="arr"
|
var_tags="arr"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://beszel.dev/
|
# Source: https://beszel.dev/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Beszel"
|
APP="Beszel"
|
||||||
var_tags="monitoring"
|
var_tags="monitoring"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://0xerr0r.github.io/blocky/latest/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Blocky"
|
APP="Blocky"
|
||||||
var_tags="adblock"
|
var_tags="adblock"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://github.com/BookStackApp/BookStack
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Bookstack"
|
APP="Bookstack"
|
||||||
var_tags="organizer"
|
var_tags="organizer"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,21 +5,16 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.bunkerweb.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="BunkerWeb"
|
APP="BunkerWeb"
|
||||||
var_tags="webserver"
|
var_tags="webserver"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
var_ram="1024"
|
var_ram="4096"
|
||||||
var_disk="4"
|
var_disk="4"
|
||||||
var_os="debian"
|
var_os="debian"
|
||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
@@ -39,7 +34,7 @@ Pin: version ${RELEASE}
|
|||||||
Pin-Priority: 1001
|
Pin-Priority: 1001
|
||||||
EOF
|
EOF
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y nginx=1.26.2*
|
apt-get install -y nginx=1.26.3*
|
||||||
apt-get install -y bunkerweb=${RELEASE}
|
apt-get install -y bunkerweb=${RELEASE}
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://caddyserver.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Caddy"
|
APP="Caddy"
|
||||||
var_tags="webserver"
|
var_tags="webserver"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/janeczku/calibre-web
|
# Source: https://github.com/janeczku/calibre-web
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Calibre-Web"
|
APP="Calibre-Web"
|
||||||
var_tags="eBook"
|
var_tags="eBook"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://casaos.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="CasaOS"
|
APP="CasaOS"
|
||||||
var_tags="cloud"
|
var_tags="cloud"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://changedetection.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Change Detection"
|
APP="Change Detection"
|
||||||
var_tags="monitoring;crawler"
|
var_tags="monitoring;crawler"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://getchannels.com/dvr-server/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Channels"
|
APP="Channels"
|
||||||
var_tags="dvr"
|
var_tags="dvr"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="0"
|
var_unprivileged="0"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ var_version="12"
|
|||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.cloudflare.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Cloudflared"
|
APP="Cloudflared"
|
||||||
var_tags="network;cloudflare"
|
var_tags="network;cloudflare"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://cockpit-project.org/
|
# Source: https://cockpit-project.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Cockpit"
|
APP="Cockpit"
|
||||||
var_tags="monitoring;network"
|
var_tags="monitoring;network"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://www.commafeed.com/#/welcome
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="CommaFeed"
|
APP="CommaFeed"
|
||||||
var_tags="rss-reader"
|
var_tags="rss-reader"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://https://cosmos-cloud.io/
|
# Source: https://https://cosmos-cloud.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="cosmos"
|
APP="cosmos"
|
||||||
var_tags="os,docker"
|
var_tags="os,docker"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# Copyright (c) 2021-2025 community-scripts
|
# Copyright (c) 2021-2025 community-scripts
|
||||||
# Author: CrazyWolf13
|
# Author: CrazyWolf13
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://gitlab.com/crafty-controller/crafty-4
|
||||||
|
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Crafty-Controller"
|
APP="Crafty-Controller"
|
||||||
var_tags="gaming"
|
var_tags="gaming"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://cronicle.net/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Cronicle"
|
APP="Cronicle"
|
||||||
var_tags="task-scheduler"
|
var_tags="task-scheduler"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ var_version="12"
|
|||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://daemonsync.me/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Daemon Sync"
|
APP="Daemon Sync"
|
||||||
var_tags="sync"
|
var_tags="sync"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://dashy.to/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Dashy"
|
APP="Dashy"
|
||||||
var_tags="dashboard"
|
var_tags="dashboard"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.debian.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Debian"
|
APP="Debian"
|
||||||
var_tags="os"
|
var_tags="os"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://www.phoscon.de/en/conbee2/software#deconz
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="deCONZ"
|
APP="deCONZ"
|
||||||
var_tags="zigbee"
|
var_tags="zigbee"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="0"
|
var_unprivileged="0"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.deluge-torrent.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Deluge"
|
APP="Deluge"
|
||||||
var_tags="torrent"
|
var_tags="torrent"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://www.docker.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Docker"
|
APP="Docker"
|
||||||
var_tags="docker"
|
var_tags="docker"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://dockge.kuma.pet/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Dockge"
|
APP="Dockge"
|
||||||
var_tags="docker"
|
var_tags="docker"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
70
ct/docmost.sh
Normal file
70
ct/docmost.sh
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://docmost.com/
|
||||||
|
|
||||||
|
APP="Docmost"
|
||||||
|
var_tags="documents"
|
||||||
|
var_cpu="3"
|
||||||
|
var_ram="3072"
|
||||||
|
var_disk="7"
|
||||||
|
var_os="debian"
|
||||||
|
var_version="12"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /opt/docmost ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/docmost/docmost/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 docmost
|
||||||
|
msg_ok "${APP} Stopped"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
|
cp /opt/docmost/.env /opt/
|
||||||
|
rm -rf /opt/docmost
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
wget -q "https://github.com/docmost/docmost/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file"
|
||||||
|
tar -xzf "$temp_file"
|
||||||
|
mv docmost-${RELEASE} /opt/docmost
|
||||||
|
cd /opt/docmost
|
||||||
|
mv /opt/.env /opt/docmost/.env
|
||||||
|
pnpm install --force &>/dev/null
|
||||||
|
pnpm build &>/dev/null
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start docmost
|
||||||
|
msg_ok "Started ${APP}"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -f ${temp_file}
|
||||||
|
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 "${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}"
|
||||||
41
ct/dolibarr.sh
Normal file
41
ct/dolibarr.sh
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/Dolibarr/dolibarr/
|
||||||
|
|
||||||
|
APP="Dolibarr"
|
||||||
|
var_tags="erp;accounting"
|
||||||
|
var_cpu="1"
|
||||||
|
var_ram="2048"
|
||||||
|
var_disk="6"
|
||||||
|
var_os="debian"
|
||||||
|
var_version="12"
|
||||||
|
var_unprivileged="1"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /usr/share/dolibarr ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_error "To update ${APP}, use the applications web interface."
|
||||||
|
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}/dolibarr/install${CL}"
|
||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-9.0&tabs=linux-ubuntu
|
# Source: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-9.0&tabs=linux-ubuntu
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Dotnet ASP Web API"
|
APP="Dotnet ASP Web API"
|
||||||
var_tags="web"
|
var_tags="web"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="ubuntu"
|
|||||||
var_version="24.04"
|
var_version="24.04"
|
||||||
var_unprivileged="0"
|
var_unprivileged="0"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ var_version="12"
|
|||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/element-hq/synapse
|
# Source: https://github.com/element-hq/synapse
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Element Synapse"
|
APP="Element Synapse"
|
||||||
var_tags="server"
|
var_tags="server"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://emby.media/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Emby"
|
APP="Emby"
|
||||||
var_tags="media"
|
var_tags="media"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="ubuntu"
|
|||||||
var_version="22.04"
|
var_version="22.04"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://www.emqx.com/en
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="EMQX"
|
APP="EMQX"
|
||||||
var_tags="mqtt"
|
var_tags="mqtt"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://ersatztv.org/
|
# Source: https://ersatztv.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="ErsatzTV"
|
APP="ErsatzTV"
|
||||||
var_tags="iptv"
|
var_tags="iptv"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://esphome.io/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="ESPHome"
|
APP="ESPHome"
|
||||||
var_tags="automation"
|
var_tags="automation"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://evcc.io/en/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="evcc"
|
APP="evcc"
|
||||||
var_tags="solar;ev;automation"
|
var_tags="solar;ev;automation"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ var_version="12"
|
|||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/revenz/Fenrus
|
# Source: https://github.com/revenz/Fenrus
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Fenrus"
|
APP="Fenrus"
|
||||||
var_tags="dashboard"
|
var_tags="dashboard"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://fhem.de/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="FHEM"
|
APP="FHEM"
|
||||||
var_tags="automation"
|
var_tags="automation"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -2,11 +2,9 @@
|
|||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: quantumryuu
|
# Author: quantumryuu
|
||||||
# License: MIT
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://firefly-iii.org/
|
# Source: https://firefly-iii.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Firefly"
|
APP="Firefly"
|
||||||
var_tags="finance"
|
var_tags="finance"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -16,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/FlareSolverr/FlareSolverr
|
# Source: https://github.com/FlareSolverr/FlareSolverr
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="FlareSolverr"
|
APP="FlareSolverr"
|
||||||
var_tags="proxy"
|
var_tags="proxy"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://flowiseai.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="FlowiseAI"
|
APP="FlowiseAI"
|
||||||
var_tags="low-code"
|
var_tags="low-code"
|
||||||
var_disk="10"
|
var_disk="10"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://forgejo.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Forgejo"
|
APP="Forgejo"
|
||||||
var_tags="git"
|
var_tags="git"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/FreshRSS/FreshRSS
|
# Source: https://github.com/FreshRSS/FreshRSS
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="FreshRSS"
|
APP="FreshRSS"
|
||||||
var_tags="RSS"
|
var_tags="RSS"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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/
|
# Source: https://frigate.video/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Frigate"
|
APP="Frigate"
|
||||||
var_tags="nvr"
|
var_tags="nvr"
|
||||||
var_cpu="4"
|
var_cpu="4"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="11"
|
var_version="11"
|
||||||
var_unprivileged="0"
|
var_unprivileged="0"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://ghost.org/
|
# Source: https://ghost.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Ghost"
|
APP="Ghost"
|
||||||
var_tags="cms;blog"
|
var_tags="cms;blog"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://about.gitea.com/
|
# Source: https://about.gitea.com/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Gitea"
|
APP="Gitea"
|
||||||
var_tags="git"
|
var_tags="git"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://github.com/glanceapp/glance
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="Glance"
|
APP="Glance"
|
||||||
var_tags="dashboard"
|
var_tags="dashboard"
|
||||||
var_cpu="1"
|
var_cpu="1"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: Nícolas Pastorello (opastorello)
|
# Author: Nícolas Pastorello (opastorello)
|
||||||
# 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.glpi-project.org/
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="GLPI"
|
APP="GLPI"
|
||||||
var_tags="asset-management;foss"
|
var_tags="asset-management;foss"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
|||||||
# 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
|
# Source: https://github.com/AlexxIT/go2rtc
|
||||||
|
|
||||||
# App Default Values
|
|
||||||
APP="go2rtc"
|
APP="go2rtc"
|
||||||
var_tags="recorder;video"
|
var_tags="recorder;video"
|
||||||
var_cpu="2"
|
var_cpu="2"
|
||||||
@@ -15,11 +14,7 @@ var_os="debian"
|
|||||||
var_version="12"
|
var_version="12"
|
||||||
var_unprivileged="1"
|
var_unprivileged="1"
|
||||||
|
|
||||||
# App Output & Base Settings
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
base_settings
|
|
||||||
|
|
||||||
# Core
|
|
||||||
variables
|
variables
|
||||||
color
|
color
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user