diff --git a/.github/check-script.yml b/.github/check-script.yml deleted file mode 100644 index 560bc3965..000000000 --- a/.github/check-script.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Check Shell Scripts - -on: - pull_request: - paths: - - '**/*.sh' # FΓΌhrt den Check nur fΓΌr Shell-Skripte aus - -jobs: - check-scripts: - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v3 - - - name: Check `source` Line in Scripts - shell: bash - run: | - set -e - ERROR_COUNT=0 - FILES=$(find . -name "*.sh") - - for FILE in $FILES; do - # Check for exact match of the source line in line 2 - if [[ $(sed -n '2p' "$FILE") =~ ^source[[:space:]]+<(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) ]]; then - echo "Check passed for: $FILE" - else - echo "Error in $FILE: Line 2 must be exactly 'source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)' if a source line is used." - ERROR_COUNT=$((ERROR_COUNT + 1)) - fi - - # Check for shebang line at the top - if [[ $(head -n 1 "$FILE") != "#!/usr/bin/env bash" ]]; then - echo "Error in $FILE: The first line must be '#!/usr/bin/env bash'." - ERROR_COUNT=$((ERROR_COUNT + 1)) - fi - - # Check for executable permissions - if [[ ! -x "$FILE" ]]; then - echo "Warning in $FILE: This script is not executable. Consider running 'chmod +x $FILE'." - fi - - # Check for empty lines at the beginning of the script - if [[ $(head -n 10 "$FILE" | grep -c '^$') -gt 0 ]]; then - echo "Warning in $FILE: There are empty lines at the beginning of the script. Consider removing them." - fi - done - - if [[ "$ERROR_COUNT" -gt 0 ]]; then - echo "$ERROR_COUNT script(s) failed validation." - exit 1 - else - echo "All scripts passed." - fi diff --git a/.github/workflows/changelog-pr.yml b/.github/workflows/changelog-pr.yml index 78d74f856..ad4e2c587 100644 --- a/.github/workflows/changelog-pr.yml +++ b/.github/workflows/changelog-pr.yml @@ -157,3 +157,13 @@ jobs: if [ -n "$PR_NUMBER" ]; then gh pr review $PR_NUMBER --approve fi + + - name: Re-approve pull request after update + if: steps.verify-diff.outputs.changed == 'true' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number') + if [ -n "$PR_NUMBER" ]; then + gh pr review $PR_NUMBER --approve + fi diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index 842ebabd5..394229e6f 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -17,9 +17,16 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Get changed files + id: changes + run: | + if ${{ github.event_name == 'pull_request' }}; then + echo "files=$(git diff --name-only -r HEAD^1 HEAD | xargs)" >> $GITHUB_OUTPUT + else + echo "files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | xargs)" >> $GITHUB_OUTPUT + fi + - name: Run ShellCheck - uses: ludeeus/action-shellcheck@master - with: - ignore_paths: >- - frontend - json + if: steps.changes.outputs.files != '' + run: | + echo "${{ steps.changes.outputs.files }}" | xargs shellcheck diff --git a/.github/workflows/validate-filenames.yml b/.github/workflows/validate-filenames.yml new file mode 100644 index 000000000..704715f50 --- /dev/null +++ b/.github/workflows/validate-filenames.yml @@ -0,0 +1,143 @@ +name: Validate filenames + +on: + pull_request: + paths: + - "ct/*.sh" + - "install/*.sh" + - "json/*.json" + - ".github/workflows/validate-filenames.yml" + +jobs: + check-files: + name: Check changed files + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Ensure the full history is fetched for accurate diffing + + - name: Get changed files + id: changed-files + run: | + if ${{ github.event_name == 'pull_request' }}; then + echo "files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | xargs)" >> $GITHUB_OUTPUT + else + echo "files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | xargs)" >> $GITHUB_OUTPUT + fi + + - name: "Validate filenames in ct and install directory" + if: always() && steps.changed-files.outputs.files != '' + id: check-scripts + run: | + CHANGED_FILES=$(printf "%s\n" ${{ steps.changed-files.outputs.files }} | { grep -E '^(ct|install)/.*\.sh$' || true; }) + + NON_COMPLIANT_FILES="" + for FILE in $CHANGED_FILES; do + BASENAME=$(echo "$(basename "${FILE%.*}")") + if [[ ! "$BASENAME" =~ ^[a-z0-9-]+$ ]]; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "Non-compliant filenames found, change to lowercase:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: "Validate filenames in json directory." + if: always() && steps.changed-files.outputs.files != '' + id: check-json + run: | + CHANGED_FILES=$(printf "%s\n" ${{ steps.changed-files.outputs.files }} | { grep -E '^json/.*\.json$' || true; }) + + NON_COMPLIANT_FILES="" + for FILE in $CHANGED_FILES; do + BASENAME=$(echo "$(basename "${FILE%.*}")") + if [[ ! "$BASENAME" =~ ^[a-z0-9-]+$ ]]; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "Non-compliant filenames found, change to lowercase:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: Post results and comment + if: always() && steps.check-scripts.outputs.files != '' && steps.check-json.outputs.files != '' && github.event_name == 'pull_request' + uses: actions/github-script@v7 + with: + script: | + const result = "${{ job.status }}" === "success" ? "success" : "failure"; + const nonCompliantFiles = { + script: "${{ steps.check-scripts.outputs.files }}", + JSON: "${{ steps.check-json.outputs.files }}", + }; + + const issueNumber = context.payload.pull_request + ? context.payload.pull_request.number + : null; + const commentIdentifier = "validate-filenames"; + let newCommentBody = `\n### Filename validation\n\n`; + + if (result === "failure") { + newCommentBody += ":x: We found issues in the following changed files:\n\n"; + for (const [check, files] of Object.entries(nonCompliantFiles)) { + if (files) { + newCommentBody += `**${check.charAt(0).toUpperCase() + check.slice(1)} filename invalid:**\n${files + .trim() + .split(" ") + .map((file) => `- ${file}`) + .join("\n")}\n\n`; + } + } + newCommentBody += + "Please change the filenames to lowercase and use only alphanumeric characters and dashes.\n"; + } else { + newCommentBody += `:rocket: All files passed filename validation!\n`; + } + + newCommentBody += `\n\n`; + + if (issueNumber) { + const { data: comments } = await github.rest.issues.listComments({ + ...context.repo, + issue_number: issueNumber, + }); + + const existingComment = comments.find( + (comment) => comment.user.login === "github-actions[bot]", + ); + + if (existingComment) { + if (existingComment.body.includes(commentIdentifier)) { + const re = new RegExp(String.raw`[\s\S]*?`, ""); + newCommentBody = existingComment.body.replace(re, newCommentBody); + } else { + newCommentBody = existingComment.body + '\n\n---\n\n' + newCommentBody; + } + + await github.rest.issues.updateComment({ + ...context.repo, + comment_id: existingComment.id, + body: newCommentBody, + }); + } else { + await github.rest.issues.createComment({ + ...context.repo, + issue_number: issueNumber, + body: newCommentBody, + }); + } + } diff --git a/.github/workflows/validate-formatting.yaml b/.github/workflows/validate-formatting.yaml new file mode 100644 index 000000000..760ab2771 --- /dev/null +++ b/.github/workflows/validate-formatting.yaml @@ -0,0 +1,118 @@ +name: Validate script formatting + +on: + push: + branches: + - main + pull_request: + paths: + - "**/*.sh" + - "**/*.func" + - ".github/workflows/validate-formatting.yaml" + +jobs: + shfmt: + name: Check changed files + runs-on: ubuntu-latest + permissions: + pull-requests: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Get changed files + id: changed-files + run: | + if ${{ github.event_name == 'pull_request' }}; then + echo "files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep -E '\.(sh|func)$' | xargs)" >> $GITHUB_OUTPUT + else + echo "files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | grep -E '\.(sh|func)$' | xargs)" >> $GITHUB_OUTPUT + fi + + - name: Set up Go + if: steps.changed-files.outputs.files != '' + uses: actions/setup-go@v5 + + - name: Install shfmt + if: steps.changed-files.outputs.files != '' + run: | + go install mvdan.cc/sh/v3/cmd/shfmt@latest + echo "$GOPATH/bin" >> $GITHUB_PATH + + - name: Run shfmt + if: steps.changed-files.outputs.files != '' + id: shfmt + run: | + set +e + + shfmt_output=$(shfmt -d ${{ steps.changed-files.outputs.files }}) + if [[ $? -eq 0 ]]; then + exit 0 + else + echo "diff=\"$(echo -n "$shfmt_output" | base64 -w 0)\"" >> $GITHUB_OUTPUT + printf "%s" "$shfmt_output" + exit 1 + fi + + - name: Post comment with results + if: always() && steps.changed-files.outputs.files != '' && github.event_name == 'pull_request' + uses: actions/github-script@v7 + with: + script: | + const result = "${{ job.status }}" === "success" ? "success" : "failure"; + const diff = Buffer.from( + ${{ steps.shfmt.outputs.diff }}, + "base64", + ).toString(); + const issueNumber = context.payload.pull_request + ? context.payload.pull_request.number + : null; + const commentIdentifier = "validate-formatting"; + let newCommentBody = `\n### Script formatting\n\n`; + + if (result === "failure") { + newCommentBody += + `:x: We found issues in the formatting of the following changed files:\n\n\`\`\`diff\n${diff}\n\`\`\`\n`; + } else { + newCommentBody += `:rocket: All changed shell scripts are formatted correctly!\n`; + } + + newCommentBody += `\n\n`; + + if (issueNumber) { + const { data: comments } = await github.rest.issues.listComments({ + ...context.repo, + issue_number: issueNumber, + }); + + const existingComment = comments.find( + (comment) => comment.user.login === "github-actions[bot]", + ); + + if (existingComment) { + if (existingComment.body.includes(commentIdentifier)) { + const re = new RegExp( + String.raw`[\s\S]*?`, + "", + ); + newCommentBody = existingComment.body.replace(re, newCommentBody); + } else { + newCommentBody = existingComment.body + "\n\n---\n\n" + newCommentBody; + } + + await github.rest.issues.updateComment({ + ...context.repo, + comment_id: existingComment.id, + body: newCommentBody, + }); + } else { + await github.rest.issues.createComment({ + ...context.repo, + issue_number: issueNumber, + body: newCommentBody, + }); + } + } diff --git a/.github/workflows/validate-scripts.yml b/.github/workflows/validate-scripts.yml new file mode 100644 index 000000000..75e32e130 --- /dev/null +++ b/.github/workflows/validate-scripts.yml @@ -0,0 +1,218 @@ +name: Validate scripts +on: + push: + branches: + - main + pull_request: + paths: + - "ct/*.sh" + - "install/*.sh" + - ".github/workflows/validate-scripts.yml" + +jobs: + check-scripts: + name: Check changed files + runs-on: ubuntu-latest + permissions: + pull-requests: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }} + + - name: Set execute permission for .sh files + run: | + chmod +x ct/*.sh + + - name: Get changed files + id: changed-files + run: | + if ${{ github.event_name == 'pull_request' }}; then + echo "files=$(git diff --name-only -r HEAD^1 HEAD | grep -E '\.(sh|func)$' | xargs)" >> $GITHUB_OUTPUT + else + echo "files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | grep -E '\.(sh|func)$' | xargs)" >> $GITHUB_OUTPUT + fi + + - name: Check build.func line + if: always() && steps.changed-files.outputs.files != '' + id: build-func + run: | + NON_COMPLIANT_FILES="" + for FILE in ${{ steps.changed-files.outputs.files }}; do + if [[ "$FILE" == ct/* ]] && [[ $(sed -n '2p' "$FILE") != "source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)" ]]; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "Build.func line missing or incorrect in files:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: Check executable permissions + if: always() && steps.changed-files.outputs.files != '' + id: check-executable + run: | + NON_COMPLIANT_FILES="" + for FILE in ${{ steps.changed-files.outputs.files }}; do + if [[ ! -x "$FILE" ]]; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "Files not executable:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: Check copyright + if: always() && steps.changed-files.outputs.files != '' + id: check-copyright + run: | + NON_COMPLIANT_FILES="" + for FILE in ${{ steps.changed-files.outputs.files }}; do + if ! sed -n '3p' "$FILE" | grep -qE "^# Copyright \(c\) [0-9]{4}(-[0-9]{4})? (tteck \| community-scripts ORG|community-scripts ORG|tteck)$"; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "Copyright header missing or not on line 3 in files:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: Check author + if: always() && steps.changed-files.outputs.files != '' + id: check-author + run: | + NON_COMPLIANT_FILES="" + for FILE in ${{ steps.changed-files.outputs.files }}; do + if ! sed -n '4p' "$FILE" | grep -qE "^# Author: .+"; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "Author header missing or invalid on line 4 in files:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: Check license + if: always() && steps.changed-files.outputs.files != '' + id: check-license + run: | + NON_COMPLIANT_FILES="" + for FILE in ${{ steps.changed-files.outputs.files }}; do + if [[ "$(sed -n '5p' "$FILE")" != "# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE" ]]; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "License header missing or not on line 5 in files:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: Check source + if: always() && steps.changed-files.outputs.files != '' + id: check-source + run: | + NON_COMPLIANT_FILES="" + for FILE in ${{ steps.changed-files.outputs.files }}; do + if ! sed -n '6p' "$FILE" | grep -qE "^# Source: .+"; then + NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE" + fi + done + + if [ -n "$NON_COMPLIANT_FILES" ]; then + echo "files=$NON_COMPLIANT_FILES" >> $GITHUB_OUTPUT + echo "Source header missing or not on line 6 in files:" + for FILE in $NON_COMPLIANT_FILES; do + echo "$FILE" + done + exit 1 + fi + + - name: Post results and comment + if: always() && steps.changed-files.outputs.files != '' && github.event_name == 'pull_request' + uses: actions/github-script@v7 + with: + script: | + const result = '${{ job.status }}' === 'success' ? 'success' : 'failure'; + const nonCompliantFiles = { + 'Invalid build.func source': "${{ steps.build-func.outputs.files }}", + 'Not executable': "${{ steps.check-executable.outputs.files }}", + 'Copyright header line missing or invalid': "${{ steps.check-copyright.outputs.files }}", + 'Author header line missing or invalid': "${{ steps.check-author.outputs.files }}", + 'License header line missing or invalid': "${{ steps.check-license.outputs.files }}", + 'Source header line missing or invalid': "${{ steps.check-source.outputs.files }}" + }; + + const issueNumber = context.payload.pull_request ? context.payload.pull_request.number : null; + const commentIdentifier = 'validate-scripts'; + let newCommentBody = `\n### Script validation\n\n`; + + if (result === 'failure') { + newCommentBody += ':x: We found issues in the following changed files:\n\n'; + for (const [check, files] of Object.entries(nonCompliantFiles)) { + if (files) { + newCommentBody += `**${check}:**\n${files.trim().split(' ').map(file => `- ${file}`).join('\n')}\n\n`; + } + } + } else { + newCommentBody += `:rocket: All changed shell scripts passed validation!\n`; + } + + newCommentBody += `\n\n`; + + if (issueNumber) { + const { data: comments } = await github.rest.issues.listComments({ + ...context.repo, + issue_number: issueNumber + }); + + const existingComment = comments.find(comment => comment.user.login === 'github-actions[bot]'); + + if (existingComment) { + if (existingComment.body.includes(commentIdentifier)) { + const re = new RegExp(String.raw`[\s\S]*?`, ""); + newCommentBody = existingComment.body.replace(re, newCommentBody); + } else { + newCommentBody = existingComment.body + '\n\n---\n\n' + newCommentBody; + } + + await github.rest.issues.updateComment({ + ...context.repo, + comment_id: existingComment.id, + body: newCommentBody + }); + } else { + await github.rest.issues.createComment({ + ...context.repo, + issue_number: issueNumber, + body: newCommentBody + }); + } + } diff --git a/CHANGELOG.md b/CHANGELOG.md index 97c551127..198bf6355 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,150 @@ All LXC instances created using this repository come pre-installed with Midnight > [!IMPORTANT] Do not break established syntax in this file, as it is automatically updated by a Github Workflow +## 2025-01-07 + +### Changed + +### πŸš€ Updated Scripts + +- Fix: Folder-Check for Updatescript Zammad [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1309](https://github.com/community-scripts/ProxmoxVE/pull/1309)) + +### 🧰 Maintenance + +- Set Execution Rights for GH-Action: Validate Scripts [@MickLesk](https://github.com/MickLesk) ([#1312](https://github.com/community-scripts/ProxmoxVE/pull/1312)) + +## 2025-01-06 + +### Changed + +### ✨ New Scripts + +- New Script: Typesense [@tlissak](https://github.com/tlissak) ([#1291](https://github.com/community-scripts/ProxmoxVE/pull/1291)) +- New script: GLPI [@opastorello](https://github.com/opastorello) ([#1201](https://github.com/community-scripts/ProxmoxVE/pull/1201)) + +### πŸš€ Updated Scripts + +- Fix Tag in HyperHDR Script [@MickLesk](https://github.com/MickLesk) ([#1299](https://github.com/community-scripts/ProxmoxVE/pull/1299)) +- [Fix]: Fixed rm Bug in pf2etools [@MickLesk](https://github.com/MickLesk) ([#1292](https://github.com/community-scripts/ProxmoxVE/pull/1292)) +- Fix: Homebox Update Script [@MickLesk](https://github.com/MickLesk) ([#1284](https://github.com/community-scripts/ProxmoxVE/pull/1284)) +- Add ca-certificates for Install (Frigate) [@MickLesk](https://github.com/MickLesk) ([#1282](https://github.com/community-scripts/ProxmoxVE/pull/1282)) +- fix: buffer from base64 in formatting pipeline [@se-bastiaan](https://github.com/se-bastiaan) ([#1285](https://github.com/community-scripts/ProxmoxVE/pull/1285)) + +### 🧰 Maintenance + +- Add reapproval of Changelog-PR [@MickLesk](https://github.com/MickLesk) ([#1279](https://github.com/community-scripts/ProxmoxVE/pull/1279)) +- ci: combine header checks into workflow with PR comment [@se-bastiaan](https://github.com/se-bastiaan) ([#1257](https://github.com/community-scripts/ProxmoxVE/pull/1257)) +- ci: change filename checks into steps with PR comment [@se-bastiaan](https://github.com/se-bastiaan) ([#1255](https://github.com/community-scripts/ProxmoxVE/pull/1255)) +- ci: add pipeline for code formatting checks [@se-bastiaan](https://github.com/se-bastiaan) ([#1239](https://github.com/community-scripts/ProxmoxVE/pull/1239)) + +## 2025-01-05 + +### Changed + +### πŸ’₯ Breaking Changes + +- [Breaking] Update Zigbee2mqtt to v.2.0.0 (Read PR Description) [@MickLesk](https://github.com/MickLesk) ([#1221](https://github.com/community-scripts/ProxmoxVE/pull/1221)) + +### ❔ Unlabelled + +- Add RAM and Disk units [@oOStroudyOo](https://github.com/oOStroudyOo) ([#1261](https://github.com/community-scripts/ProxmoxVE/pull/1261)) + +## 2025-01-04 + +### Changed + +### πŸš€ Updated Scripts + +- Fix gpg key pf2tools & 5etools [@MickLesk](https://github.com/MickLesk) ([#1242](https://github.com/community-scripts/ProxmoxVE/pull/1242)) +- Homarr: Fix missing curl dependency [@MickLesk](https://github.com/MickLesk) ([#1238](https://github.com/community-scripts/ProxmoxVE/pull/1238)) +- Homeassistan Core: Fix Python3 and add missing dependencies [@MickLesk](https://github.com/MickLesk) ([#1236](https://github.com/community-scripts/ProxmoxVE/pull/1236)) +- Fix: Update Python for HomeAssistant [@MickLesk](https://github.com/MickLesk) ([#1227](https://github.com/community-scripts/ProxmoxVE/pull/1227)) +- OneDev: Add git-lfs [@MickLesk](https://github.com/MickLesk) ([#1225](https://github.com/community-scripts/ProxmoxVE/pull/1225)) +- Pf2eTools & 5eTools: Fixing npm build [@TheRealVira](https://github.com/TheRealVira) ([#1213](https://github.com/community-scripts/ProxmoxVE/pull/1213)) + +### 🌐 Website + +- Bump next from 15.0.2 to 15.1.3 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#1212](https://github.com/community-scripts/ProxmoxVE/pull/1212)) + +### 🧰 Maintenance + +- [GitHub Action] Add filename case check [@quantumryuu](https://github.com/quantumryuu) ([#1228](https://github.com/community-scripts/ProxmoxVE/pull/1228)) + +## 2025-01-03 + +### Changed + +### πŸš€ Updated Scripts + +- Improve Homarr Installation [@MickLesk](https://github.com/MickLesk) ([#1208](https://github.com/community-scripts/ProxmoxVE/pull/1208)) +- Fix: Zabbix-Update Script [@MickLesk](https://github.com/MickLesk) ([#1205](https://github.com/community-scripts/ProxmoxVE/pull/1205)) +- Update Script: Lazylibrarian [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1190](https://github.com/community-scripts/ProxmoxVE/pull/1190)) +- Fix: Memos update function [@MickLesk](https://github.com/MickLesk) ([#1207](https://github.com/community-scripts/ProxmoxVE/pull/1207)) +- Keep Lubelogger data after update to a new version [@JcMinarro](https://github.com/JcMinarro) ([#1200](https://github.com/community-scripts/ProxmoxVE/pull/1200)) + +### 🌐 Website + +- Update Nextcloud-LXC JSON [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1191](https://github.com/community-scripts/ProxmoxVE/pull/1191)) + +### 🧰 Maintenance + +- Github action to check metadata lines in scripts. [@quantumryuu](https://github.com/quantumryuu) ([#1110](https://github.com/community-scripts/ProxmoxVE/pull/1110)) + +## 2025-01-02 + +### Changed + +### ✨ New Scripts + +- New Script: Pf2eTools [@TheRealVira](https://github.com/TheRealVira) ([#1162](https://github.com/community-scripts/ProxmoxVE/pull/1162)) +- New Script: 5etools [@TheRealVira](https://github.com/TheRealVira) ([#1157](https://github.com/community-scripts/ProxmoxVE/pull/1157)) + +### πŸš€ Updated Scripts + +- Update config template in blocky-install.sh [@xFichtl1](https://github.com/xFichtl1) ([#1059](https://github.com/community-scripts/ProxmoxVE/pull/1059)) + +## 2025-01-01 + +### Changed + +### ✨ New Scripts + +- New Script: Komodo [@MickLesk](https://github.com/MickLesk) ([#1167](https://github.com/community-scripts/ProxmoxVE/pull/1167)) +- New Script: Firefly [@quantumryuu](https://github.com/quantumryuu) ([#616](https://github.com/community-scripts/ProxmoxVE/pull/616)) +- New Script: Semaphore [@quantumryuu](https://github.com/quantumryuu) ([#596](https://github.com/community-scripts/ProxmoxVE/pull/596)) + +### πŸš€ Updated Scripts + +- Fix Script Homepage: add version during build step [@se-bastiaan](https://github.com/se-bastiaan) ([#1155](https://github.com/community-scripts/ProxmoxVE/pull/1155)) +- Happy new Year! Update Copyright to 2025 [@MickLesk](https://github.com/MickLesk) ([#1150](https://github.com/community-scripts/ProxmoxVE/pull/1150)) +- Update Kernel-Clean to new Version & Bugfixing [@MickLesk](https://github.com/MickLesk) ([#1147](https://github.com/community-scripts/ProxmoxVE/pull/1147)) +- Fix chromium installation for ArchiveBox [@tkunzfeld](https://github.com/tkunzfeld) ([#1140](https://github.com/community-scripts/ProxmoxVE/pull/1140)) + +### 🌐 Website + +- Fix Category of Semaphore [@MickLesk](https://github.com/MickLesk) ([#1148](https://github.com/community-scripts/ProxmoxVE/pull/1148)) + +### 🧰 Maintenance + +- Correctly check for changed files in Shellcheck workflow [@se-bastiaan](https://github.com/se-bastiaan) ([#1156](https://github.com/community-scripts/ProxmoxVE/pull/1156)) + +## 2024-12-31 - Happy new Year! πŸŽ‰βœ¨ + +### Changed + +### πŸ’₯ Breaking Changes + +- Add ExecReload to prometheus.service [@BasixKOR](https://github.com/BasixKOR) ([#1131](https://github.com/community-scripts/ProxmoxVE/pull/1131)) +- Fix: Figlet Version & Font Check [@MickLesk](https://github.com/MickLesk) ([#1133](https://github.com/community-scripts/ProxmoxVE/pull/1133)) + +### πŸš€ Updated Scripts + +- Fix: Copy issue after update in Bookstack LXC [@MickLesk](https://github.com/MickLesk) ([#1137](https://github.com/community-scripts/ProxmoxVE/pull/1137)) +- Omada: Switch Base-URL to prevent issues [@MickLesk](https://github.com/MickLesk) ([#1135](https://github.com/community-scripts/ProxmoxVE/pull/1135)) +- fix: guacd service not start during Apache-Guacamole script installation process [@PhoenixEmik](https://github.com/PhoenixEmik) ([#1122](https://github.com/community-scripts/ProxmoxVE/pull/1122)) +- Fix Homepage-Script: Installation/Update [@MickLesk](https://github.com/MickLesk) ([#1129](https://github.com/community-scripts/ProxmoxVE/pull/1129)) +- Netbox: Updating URL to https [@surajsbmn](https://github.com/surajsbmn) ([#1124](https://github.com/community-scripts/ProxmoxVE/pull/1124)) + ## 2024-12-30 ### Changed diff --git a/LICENSE b/LICENSE index acc8bf814..7961c9517 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021-2025 tteck +Copyright (c) 2021-2025 asylumexp Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/ct/2fauth.sh b/ct/2fauth.sh index 1f930ac41..3ef44999c 100644 --- a/ct/2fauth.sh +++ b/ct/2fauth.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: jkrgr0 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://docs.2fauth.app/ diff --git a/ct/5etools.sh b/ct/5etools.sh new file mode 100644 index 000000000..177cdfa49 --- /dev/null +++ b/ct/5etools.sh @@ -0,0 +1,113 @@ +#!/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: TheRealVira +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://5e.tools/ + +# App Default Values +APP="5etools" +var_tags="wiki" +var_cpu="1" +var_ram="512" +var_disk="13" +var_os="debian" +var_version="12" +var_unprivileged="1" + +# App Output & Base Settings +header_info "$APP" +base_settings + +# Core +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + # Check if installation is present | -f for file, -d for folder + if [[ ! -d "/opt/${APP}" ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-3/5etools-src/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f "/opt/${APP}_version.txt" ]]; then + # Crawling the new version and checking whether an update is required + msg_info "Updating System" + apt-get update &>/dev/null + apt-get -y upgrade &>/dev/null + msg_ok "Updated System" + + # Execute Update + msg_info "Updating base 5etools" + cd /opt + wget -q "https://github.com/5etools-mirror-3/5etools-src/archive/refs/tags/${RELEASE}.zip" + unzip -q "${RELEASE}.zip" + mv "/opt/${APP}/img" "/opt/img-backup" + rm -rf "/opt/${APP}" + mv "${APP}-src-${RELEASE:1}" "/opt/${APP}" + mv "/opt/img-backup" "/opt/${APP}/img" + cd /opt/5etools + $STD npm install + $STD npm run build + cd ~ + echo "${RELEASE}" >"/opt/${APP}_version.txt" + chown -R www-data: "/opt/${APP}" + chmod -R 755 "/opt/${APP}" + msg_ok "Updated base 5etools" + # Cleaning up + msg_info "Cleaning Up" + rm -rf /opt/${RELEASE}.zip + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleanup Completed" + else + msg_ok "No update required. Base ${APP} is already at ${RELEASE}" + fi + + IMG_RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-2/5etools-img/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${IMG_RELEASE}" != "$(cat /opt/${APP}_IMG_version.txt)" ]] || [[ ! -f "/opt/${APP}_IMG_version.txt" ]]; then + # Crawling the new version and checking whether an update is required + msg_info "Updating System" + apt-get update &>/dev/null + apt-get -y upgrade &>/dev/null + msg_ok "Updated System" + + # Execute Update + msg_info "Updating 5etools images" + curl -sSL "https://github.com/5etools-mirror-2/5etools-img/archive/refs/tags/${IMG_RELEASE}.zip" > "${IMG_RELEASE}.zip" + unzip -q "${IMG_RELEASE}.zip" + rm -rf "/opt/${APP}/img" + mv "${APP}-img-${IMG_RELEASE:1}" "/opt/${APP}/img" + echo "${IMG_RELEASE}" >"/opt/${APP}_IMG_version.txt" + chown -R www-data: "/opt/${APP}" + chmod -R 755 "/opt/${APP}" + + msg_ok "Updating 5etools images" + + # Cleaning up + msg_info "Cleaning Up" + rm -rf /opt/${RELEASE}.zip + rm -rf ${IMG_RELEASE}.zip + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleanup Completed" + else + msg_ok "No update required. ${APP} images are already at ${IMG_RELEASE}" + fi + +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh index b5925f1d8..8bad74dcd 100644 --- a/ct/actualbudget.sh +++ b/ct/actualbudget.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://actualbudget.org/ diff --git a/ct/adguard.sh b/ct/adguard.sh index c233e2b4a..d4d94f593 100644 --- a/ct/adguard.sh +++ b/ct/adguard.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://adguard.com/ diff --git a/ct/adventurelog.sh b/ct/adventurelog.sh index 14478040e..5c168ce4e 100644 --- a/ct/adventurelog.sh +++ b/ct/adventurelog.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://adventurelog.app/ diff --git a/ct/agentdvr.sh b/ct/agentdvr.sh index 07810da88..2e5cda1b7 100644 --- a/ct/agentdvr.sh +++ b/ct/agentdvr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.ispyconnect.com/ diff --git a/ct/alpine-docker.sh b/ct/alpine-docker.sh index b04cd64a8..267066b1a 100644 --- a/ct/alpine-docker.sh +++ b/ct/alpine-docker.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/alpine-grafana.sh b/ct/alpine-grafana.sh index c71d9a21d..909ade3d6 100644 --- a/ct/alpine-grafana.sh +++ b/ct/alpine-grafana.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/alpine-nextcloud.sh b/ct/alpine-nextcloud.sh index ec1a313ea..d41b9e3dc 100644 --- a/ct/alpine-nextcloud.sh +++ b/ct/alpine-nextcloud.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 9f18067b3..cafb2e4e8 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/alpine-zigbee2mqtt.sh b/ct/alpine-zigbee2mqtt.sh index 688d513d6..4760d94a7 100644 --- a/ct/alpine-zigbee2mqtt.sh +++ b/ct/alpine-zigbee2mqtt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/apache-cassandra.sh b/ct/apache-cassandra.sh index 0e0db07b2..8e1270291 100644 --- a/ct/apache-cassandra.sh +++ b/ct/apache-cassandra.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://cassandra.apache.org/_/index.html diff --git a/ct/apache-couchdb.sh b/ct/apache-couchdb.sh index 9f1b41599..9df39570f 100644 --- a/ct/apache-couchdb.sh +++ b/ct/apache-couchdb.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://couchdb.apache.org/ diff --git a/ct/apache-guacamole.sh b/ct/apache-guacamole.sh index 96df515fd..35a2fceaf 100644 --- a/ct/apache-guacamole.sh +++ b/ct/apache-guacamole.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: | MIT https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://guacamole.apache.org/ diff --git a/ct/apt-cacher-ng.sh b/ct/apt-cacher-ng.sh index 52182d22a..09c10d9d1 100644 --- a/ct/apt-cacher-ng.sh +++ b/ct/apt-cacher-ng.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://wiki.debian.org/AptCacherNg diff --git a/ct/archivebox.sh b/ct/archivebox.sh index 1a6e2b745..1fd6f0980 100644 --- a/ct/archivebox.sh +++ b/ct/archivebox.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://archivebox.io/ diff --git a/ct/aria2.sh b/ct/aria2.sh index af1bd8185..366d7279a 100644 --- a/ct/aria2.sh +++ b/ct/aria2.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://aria2.github.io/ diff --git a/ct/audiobookshelf.sh b/ct/audiobookshelf.sh index 8c8770f11..ccb1cac6b 100644 --- a/ct/audiobookshelf.sh +++ b/ct/audiobookshelf.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.audiobookshelf.org/ diff --git a/ct/authentik.sh b/ct/authentik.sh index 6ea956ed2..3f1a39ab3 100644 --- a/ct/authentik.sh +++ b/ct/authentik.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: remz1337 # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/autobrr.sh b/ct/autobrr.sh index 5497fb256..383f81df7 100644 --- a/ct/autobrr.sh +++ b/ct/autobrr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://autobrr.com/ diff --git a/ct/bazarr.sh b/ct/bazarr.sh index fd646e614..698344b2d 100755 --- a/ct/bazarr.sh +++ b/ct/bazarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.bazarr.media/ diff --git a/ct/blocky.sh b/ct/blocky.sh index 494e51c0b..dd1309acc 100644 --- a/ct/blocky.sh +++ b/ct/blocky.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://0xerr0r.github.io/blocky/latest/ diff --git a/ct/bookstack.sh b/ct/bookstack.sh index e8b6aa169..0589d2dca 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/BookStackApp/BookStack @@ -44,9 +44,9 @@ function update_script() { unzip -q /opt/v${RELEASE}.zip -d /opt mv /opt/BookStack-${RELEASE} /opt/bookstack cp /opt/bookstack-backup/.env /opt/bookstack/.env - cp -r /opt/bookstack-backup/public/uploads/ /opt/bookstack/public/uploads - cp -r /opt/bookstack-backup/storage/uploads/ /opt/bookstack/storage/uploads - cp -r /opt/bookstack-backup/themes/ /opt/bookstack/themes + cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ + cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ + cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ cd /opt/bookstack COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null php artisan migrate --force &>/dev/null diff --git a/ct/bunkerweb.sh b/ct/bunkerweb.sh index bd5a0b252..d539cc5fe 100644 --- a/ct/bunkerweb.sh +++ b/ct/bunkerweb.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.bunkerweb.io/ diff --git a/ct/caddy.sh b/ct/caddy.sh index 5afc686d0..e8fa01b4d 100644 --- a/ct/caddy.sh +++ b/ct/caddy.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://caddyserver.com/ diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh index 2d8849d17..3980f37ac 100644 --- a/ct/calibre-web.sh +++ b/ct/calibre-web.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/janeczku/calibre-web diff --git a/ct/casaos.sh b/ct/casaos.sh index 050290a3b..76e226a0b 100644 --- a/ct/casaos.sh +++ b/ct/casaos.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://casaos.io/ diff --git a/ct/changedetection.sh b/ct/changedetection.sh index 86901e7d6..a6075cf24 100644 --- a/ct/changedetection.sh +++ b/ct/changedetection.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://changedetection.io/ diff --git a/ct/channels.sh b/ct/channels.sh index 8d09ab4d6..d7f23d366 100644 --- a/ct/channels.sh +++ b/ct/channels.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://getchannels.com/dvr-server/ diff --git a/ct/checkmk.sh b/ct/checkmk.sh index 4a08f504a..7822d1355 100644 --- a/ct/checkmk.sh +++ b/ct/checkmk.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://checkmk.com/ diff --git a/ct/cloudflared.sh b/ct/cloudflared.sh index c3a43cb2e..16f8d6254 100644 --- a/ct/cloudflared.sh +++ b/ct/cloudflared.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.cloudflare.com/ diff --git a/ct/cockpit.sh b/ct/cockpit.sh index 265f3de2f..266d36219 100644 --- a/ct/cockpit.sh +++ b/ct/cockpit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://cockpit-project.org/ diff --git a/ct/commafeed.sh b/ct/commafeed.sh index 59d9f44c3..4d5d29947 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.commafeed.com/#/welcome diff --git a/ct/create_lxc.sh b/ct/create_lxc.sh index 7b2ab2e5c..1ec0b82a8 100644 --- a/ct/create_lxc.sh +++ b/ct/create_lxc.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: MickLesk # License: MIT diff --git a/ct/cronicle.sh b/ct/cronicle.sh index fd2d56337..19f3454e2 100644 --- a/ct/cronicle.sh +++ b/ct/cronicle.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://cronicle.net/ diff --git a/ct/daemonsync.sh b/ct/daemonsync.sh index 910324bef..1d9b31375 100644 --- a/ct/daemonsync.sh +++ b/ct/daemonsync.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://daemonsync.me/ diff --git a/ct/dashy.sh b/ct/dashy.sh index edce87ed0..9f9c77aa6 100644 --- a/ct/dashy.sh +++ b/ct/dashy.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://dashy.to/ diff --git a/ct/debian.sh b/ct/debian.sh index be9e3aa9d..fd5dae410 100644 --- a/ct/debian.sh +++ b/ct/debian.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.debian.org/ diff --git a/ct/deconz.sh b/ct/deconz.sh index 49f06c81a..e8233a595 100644 --- a/ct/deconz.sh +++ b/ct/deconz.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.phoscon.de/en/conbee2/software#deconz diff --git a/ct/deluge.sh b/ct/deluge.sh index be944b694..1f80e8db1 100644 --- a/ct/deluge.sh +++ b/ct/deluge.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.deluge-torrent.org/ diff --git a/ct/docker.sh b/ct/docker.sh index fed85f34d..5af992b23 100644 --- a/ct/docker.sh +++ b/ct/docker.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.docker.com/ diff --git a/ct/dockge.sh b/ct/dockge.sh index 45e3d2278..8f5fd9d2e 100644 --- a/ct/dockge.sh +++ b/ct/dockge.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://dockge.kuma.pet/ diff --git a/ct/emby.sh b/ct/emby.sh index 91e04bee4..364fb1663 100644 --- a/ct/emby.sh +++ b/ct/emby.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://emby.media/ diff --git a/ct/emqx.sh b/ct/emqx.sh index 300ac95b7..348f0b7ef 100644 --- a/ct/emqx.sh +++ b/ct/emqx.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.emqx.com/en diff --git a/ct/ersatztv.sh b/ct/ersatztv.sh index 3b9d9fe9b..c77cc7a79 100644 --- a/ct/ersatztv.sh +++ b/ct/ersatztv.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://ersatztv.org/ diff --git a/ct/esphome.sh b/ct/esphome.sh index d28c43f27..6b381486c 100644 --- a/ct/esphome.sh +++ b/ct/esphome.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://esphome.io/ diff --git a/ct/evcc.sh b/ct/evcc.sh index a1fedac10..bf1070edb 100644 --- a/ct/evcc.sh +++ b/ct/evcc.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://evcc.io/en/ diff --git a/ct/fenrus.sh b/ct/fenrus.sh index 45b91696b..f3ae35507 100644 --- a/ct/fenrus.sh +++ b/ct/fenrus.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: Scorpoon # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/revenz/Fenrus diff --git a/ct/fhem.sh b/ct/fhem.sh index 976bef551..922cad73b 100644 --- a/ct/fhem.sh +++ b/ct/fhem.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://fhem.de/ diff --git a/ct/firefly.sh b/ct/firefly.sh new file mode 100644 index 000000000..542f84ec3 --- /dev/null +++ b/ct/firefly.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: quantumryuu +# License: MIT +# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://firefly-iii.org/ + +# App Default Values +APP="Firefly" +var_tags="finance" +var_cpu="1" +var_ram="1024" +var_disk="2" +var_os="debian" +var_version="12" +var_unprivileged="1" + +# App Output & Base Settings +header_info "$APP" +base_settings + +# Core +variables +color +catch_errors + +function update_script() { +header_info +check_container_storage +check_container_resources + + if [[ ! -d /opt/firefly ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Apache2" + systemctl stop apache2 + msg_ok "Stopped Apache2" + + msg_info "Updating ${APP} to v${RELEASE}" + cp /opt/firefly/.env /opt/.env + cp -r /opt/firefly/storage /opt/storage + rm -rf /opt/firefly/* + cd /opt + wget -q "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" + tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly --exclude='storage' + cd /opt/firefly + composer install --no-dev --no-interaction &>/dev/null + php artisan migrate --seed --force &>/dev/null + php artisan firefly:decrypt-all &>/dev/null + php artisan cache:clear &>/dev/null + php artisan view:clear &>/dev/null + php artisan firefly:upgrade-database &>/dev/null + php artisan firefly:laravel-passport-keys &>/dev/null + chown -R www-data:www-data /opt/firefly + chmod -R 775 /opt/firefly/storage + + echo "${RELEASE}" >"/opt/${APP}_version.txt" + msg_ok "Updated ${APP} to v${RELEASE}" + + msg_info "Starting Apache2" + systemctl start apache2 + msg_ok "Started Apache2" + + msg_info "Cleaning up" + rm -rf /opt/FireflyIII-v${RELEASE}.tar.gz + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}." + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/flaresolverr.sh b/ct/flaresolverr.sh index 4db31142e..d212c00f7 100644 --- a/ct/flaresolverr.sh +++ b/ct/flaresolverr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/FlareSolverr/FlareSolverr diff --git a/ct/flowiseai.sh b/ct/flowiseai.sh index c83da8216..ab26b1139 100644 --- a/ct/flowiseai.sh +++ b/ct/flowiseai.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://flowiseai.com/ diff --git a/ct/forgejo.sh b/ct/forgejo.sh index 1b5b43e1c..3e9223ba0 100644 --- a/ct/forgejo.sh +++ b/ct/forgejo.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://forgejo.org/ diff --git a/ct/frigate.sh b/ct/frigate.sh index e40014701..40e14e1db 100644 --- a/ct/frigate.sh +++ b/ct/frigate.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Authors: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://frigate.video/ diff --git a/ct/gitea.sh b/ct/gitea.sh index 18561c61c..ed7fbca44 100644 --- a/ct/gitea.sh +++ b/ct/gitea.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: Rogue-King # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://about.gitea.com/ diff --git a/ct/glance.sh b/ct/glance.sh index 7cf8dc36f..7ef2b4587 100644 --- a/ct/glance.sh +++ b/ct/glance.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/glanceapp/glance diff --git a/ct/glpi.sh b/ct/glpi.sh new file mode 100644 index 000000000..a485061b3 --- /dev/null +++ b/ct/glpi.sh @@ -0,0 +1,52 @@ +#!/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: NΓ­colas Pastorello (opastorello) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +# App Default Values +APP="GLPI" +var_tags="asset-management;foss" +var_cpu="2" +var_ram="2048" +var_disk="10" +var_os="debian" +var_version="12" +var_unprivileged="1" + +# App Output & Base Settings +header_info "$APP" +base_settings + +# Core +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /opt/glpi ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_error "Ther is currently no automatic update function for ${APP}." + else + msg_ok "No update required. ${APP} is already at v${RELEASE}." + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh index b6278d9d7..e577388f5 100644 --- a/ct/go2rtc.sh +++ b/ct/go2rtc.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/AlexxIT/go2rtc diff --git a/ct/gokapi.sh b/ct/gokapi.sh index 7f81581bd..1a86e0ce0 100644 --- a/ct/gokapi.sh +++ b/ct/gokapi.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/Forceu/Gokapi diff --git a/ct/gotify.sh b/ct/gotify.sh index bf1875f6e..a31273f41 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://gotify.net/ diff --git a/ct/grafana.sh b/ct/grafana.sh index b8edc7741..7547f14fa 100644 --- a/ct/grafana.sh +++ b/ct/grafana.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://grafana.com/ diff --git a/ct/grocy.sh b/ct/grocy.sh index b95386726..f6bfc8ecb 100644 --- a/ct/grocy.sh +++ b/ct/grocy.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://grocy.info/ diff --git a/ct/headscale.sh b/ct/headscale.sh index cfa1ec13d..e63aa6a7e 100644 --- a/ct/headscale.sh +++ b/ct/headscale.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/juanfont/headscale diff --git a/ct/heimdall-dashboard.sh b/ct/heimdall-dashboard.sh index 8e5f6fdc3..4613040d5 100644 --- a/ct/heimdall-dashboard.sh +++ b/ct/heimdall-dashboard.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://heimdall.site/ diff --git a/ct/hivemq.sh b/ct/hivemq.sh index 6f055f1dc..fe9aa2ba5 100644 --- a/ct/hivemq.sh +++ b/ct/hivemq.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.hivemq.com/ diff --git a/ct/hoarder.sh b/ct/hoarder.sh index 6c66c24c5..b91765ec7 100644 --- a/ct/hoarder.sh +++ b/ct/hoarder.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) & vhsdream # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://hoarder.app/ diff --git a/ct/homarr.sh b/ct/homarr.sh index a3c24270e..715796a27 100644 --- a/ct/homarr.sh +++ b/ct/homarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://homarr.dev/ diff --git a/ct/homeassistant-core.sh b/ct/homeassistant-core.sh index 733489b27..f54bf4fdc 100644 --- a/ct/homeassistant-core.sh +++ b/ct/homeassistant-core.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.home-assistant.io/ @@ -51,7 +51,9 @@ function update_script() { echo -e "${GN}Updating to Stable Version${CL}" BR="" fi - if [[ "$PY" == "python3.11" ]]; then echo -e "⚠️ Home Assistant will soon require Python 3.12."; fi + if [[ "$PY" =~ ^python3\.(11|12)\.[0-9]+$ ]]; then + echo -e "⚠️ Home Assistant will soon require Python 3.13.x"; + fi msg_info "Stopping Home Assistant" systemctl stop homeassistant diff --git a/ct/homeassistant.sh b/ct/homeassistant.sh index 9df12ee63..aa35e9416 100644 --- a/ct/homeassistant.sh +++ b/ct/homeassistant.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.home-assistant.io/ diff --git a/ct/homebox.sh b/ct/homebox.sh index a697366d6..d719007f5 100644 --- a/ct/homebox.sh +++ b/ct/homebox.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://homebox.software/en/ @@ -40,8 +40,10 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt rm -rf homebox_bak + rm -rf /tmp/homebox.tar.gz mv homebox homebox_bak - wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt + wget -qO /tmp/homebox.tar.gz https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz + tar -xzf /tmp/homebox.tar.gz -C /opt chmod +x /opt/homebox echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated Homebox" diff --git a/ct/homebridge.sh b/ct/homebridge.sh index 007bfc411..3253b79e4 100644 --- a/ct/homebridge.sh +++ b/ct/homebridge.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://homebridge.io/ diff --git a/ct/homepage.sh b/ct/homepage.sh index d2f913a2d..e2c74b367 100644 --- a/ct/homepage.sh +++ b/ct/homepage.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://gethomepage.dev/ @@ -50,16 +50,16 @@ function update_script() { cp -r homepage-${RELEASE}/* /opt/homepage/ rm -rf homepage-${RELEASE} cd /opt/homepage - npx update-browserslist-db@latest - pnpm install - export NEXT_PUBLIC_VERSION=v$RELEASE - export NEXT_PUBLIC_REVISION='source' - pnpm build + npx --yes update-browserslist-db@latest >/dev/null 2>&1 + pnpm install >/dev/null 2>&1 + export NEXT_PUBLIC_VERSION="v$RELEASE" + export NEXT_PUBLIC_REVISION="source" + pnpm build >/dev/null 2>&1 systemctl start homepage echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated Homepage to v${RELEASE}" else - msg_ok "No update required. ${APP} is already at ${RELEASE}" + msg_ok "No update required. ${APP} is already at v${RELEASE}" fi exit } diff --git a/ct/homer.sh b/ct/homer.sh index 7b410241f..1445fceea 100644 --- a/ct/homer.sh +++ b/ct/homer.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/bastienwirtz/homer diff --git a/ct/hyperhdr.sh b/ct/hyperhdr.sh index 64a4ca866..bbdc82d39 100644 --- a/ct/hyperhdr.sh +++ b/ct/hyperhdr.sh @@ -1,13 +1,13 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.hyperhdr.eu/ # App Default Values APP="HyperHDR" -var_tags="ambient lightning" +var_tags="ambient-lightning" var_cpu="2" var_ram="2048" var_disk="4" diff --git a/ct/hyperion.sh b/ct/hyperion.sh index d862196ee..28b310b5f 100644 --- a/ct/hyperion.sh +++ b/ct/hyperion.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://hyperion-project.org/forum/ diff --git a/ct/influxdb.sh b/ct/influxdb.sh index 8d0e3cfd5..0824effef 100644 --- a/ct/influxdb.sh +++ b/ct/influxdb.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.influxdata.com/ diff --git a/ct/inspircd.sh b/ct/inspircd.sh index 15bd26cdb..749911e5b 100644 --- a/ct/inspircd.sh +++ b/ct/inspircd.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.inspircd.org/ diff --git a/ct/iobroker.sh b/ct/iobroker.sh index 5e9f47b39..310f0a29c 100644 --- a/ct/iobroker.sh +++ b/ct/iobroker.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.iobroker.net/#en/intro diff --git a/ct/iventoy.sh b/ct/iventoy.sh index 88da21121..12a434fff 100644 --- a/ct/iventoy.sh +++ b/ct/iventoy.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.iventoy.com/en/index.html diff --git a/ct/jackett.sh b/ct/jackett.sh index d55e53619..0c1c91717 100644 --- a/ct/jackett.sh +++ b/ct/jackett.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/Jackett/Jackett diff --git a/ct/jellyfin.sh b/ct/jellyfin.sh index bc5ec5400..123f3e94c 100644 --- a/ct/jellyfin.sh +++ b/ct/jellyfin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://jellyfin.org/ diff --git a/ct/jellyseerr.sh b/ct/jellyseerr.sh index 018384f85..5403ae589 100644 --- a/ct/jellyseerr.sh +++ b/ct/jellyseerr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://docs.jellyseerr.dev/ diff --git a/ct/jenkins.sh b/ct/jenkins.sh index 235c43c8c..49e4fcda0 100644 --- a/ct/jenkins.sh +++ b/ct/jenkins.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/kavita.sh b/ct/kavita.sh index cb44ee221..4303d04aa 100644 --- a/ct/kavita.sh +++ b/ct/kavita.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.kavitareader.com/ diff --git a/ct/keycloak.sh b/ct/keycloak.sh index 26d214f0d..668a866b4 100644 --- a/ct/keycloak.sh +++ b/ct/keycloak.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.keycloak.org/ diff --git a/ct/kimai.sh b/ct/kimai.sh index 3d499a733..1ca15fac6 100644 --- a/ct/kimai.sh +++ b/ct/kimai.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.kimai.org/ diff --git a/ct/komga.sh b/ct/komga.sh index 05ece8a67..f8e47c29b 100644 --- a/ct/komga.sh +++ b/ct/komga.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: madelyn (DysfunctionalProgramming) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://komga.org/ diff --git a/ct/komodo.sh b/ct/komodo.sh new file mode 100644 index 000000000..2a5508924 --- /dev/null +++ b/ct/komodo.sh @@ -0,0 +1,73 @@ +#!/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 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://komo.do + +# App Default Values +APP="Komodo" +var_tags="docker" +var_cpu="2" +var_ram="2048" +var_disk="10" +var_os="debian" +var_version="12" +var_unprivileged="1" + +# App Output & Base Settings +header_info "$APP" +base_settings + +# Core +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/komodo ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating ${APP}" + COMPOSE_FILE="" + for file in *.compose.yaml; do + if [[ "$file" != "compose.env" ]]; then + COMPOSE_FILE="$file" + break + fi + done + + if [[ -z "$COMPOSE_FILE" ]]; then + msg_error "No valid compose file found in /opt/komodo!" + exit 1 + fi + + BACKUP_FILE="${COMPOSE_FILE}.bak_$(date +%Y%m%d_%H%M%S)" + mv "$COMPOSE_FILE" "$BACKUP_FILE" || { + msg_error "Failed to create backup of $COMPOSE_FILE!" + exit 1 + } + + GITHUB_URL="https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$COMPOSE_FILE" + wget -q -O "$COMPOSE_FILE" "$GITHUB_URL" || { + msg_error "Failed to download $COMPOSE_FILE from GitHub!" + mv "$BACKUP_FILE" "$COMPOSE_FILE" + exit 1 + } + + docker compose -p komodo -f "/opt/komodo/$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d &>/dev/null + msg_ok "Updated ${APP}" +} + +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}:9120${CL}" diff --git a/ct/kubo.sh b/ct/kubo.sh index 414a6e929..7a73b2682 100644 --- a/ct/kubo.sh +++ b/ct/kubo.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: ulmentflam # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/ipfs/kubo diff --git a/ct/lazylibrarian.sh b/ct/lazylibrarian.sh index 954bbb599..37f7e71f8 100644 --- a/ct/lazylibrarian.sh +++ b/ct/lazylibrarian.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MountyMapleSyrup (MountyMapleSyrup) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://gitlab.com/LazyLibrarian/LazyLibrarian diff --git a/ct/lidarr.sh b/ct/lidarr.sh index 4ce867560..809e5a191 100644 --- a/ct/lidarr.sh +++ b/ct/lidarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://lidarr.audio/ diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh index 196bc52d3..5c0435e09 100644 --- a/ct/linkwarden.sh +++ b/ct/linkwarden.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://linkwarden.app/ diff --git a/ct/listmonk.sh b/ct/listmonk.sh index a2ed4716a..55e5c4f5d 100644 --- a/ct/listmonk.sh +++ b/ct/listmonk.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: bvdberg01 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://listmonk.app/ diff --git a/ct/lldap.sh b/ct/lldap.sh index 83fef1166..60c97157d 100644 --- a/ct/lldap.sh +++ b/ct/lldap.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/lldap/lldap diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh index 9bdfbe70c..0f10b6670 100644 --- a/ct/lubelogger.sh +++ b/ct/lubelogger.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://lubelogger.com/ @@ -42,11 +42,19 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt wget -q https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip - cp /opt/lubelogger/appsettings.json /opt/appsettings.json + mkdir -p /tmp/lubeloggerData/wwwroot + cp /opt/lubelogger/appsettings.json /tmp/lubeloggerData/appsettings.json + cp -r /opt/lubelogger/config /tmp/lubeloggerData/ + cp -r /opt/lubelogger/data /tmp/lubeloggerData/ + [[ -e /opt/lubelogger/wwwroot/translations ]] && cp -r /opt/lubelogger/wwwroot/translations /tmp/lubeloggerData/wwwroot/ + [[ -e /opt/lubelogger/wwwroot/documents ]] && cp -r /opt/lubelogger/wwwroot/documents /tmp/lubeloggerData/wwwroot/ + [[ -e /opt/lubelogger/wwwroot/images ]] && cp -r /opt/lubelogger/wwwroot/images /tmp/lubeloggerData/wwwroot/ + [[ -e /opt/lubelogger/wwwroot/temp ]] && cp -r /opt/lubelogger/wwwroot/temp /tmp/lubeloggerData/wwwroot/ + [[ -e /opt/lubelogger/log ]] && cp -r /opt/lubelogger/log /tmp/lubeloggerData/ rm -rf /opt/lubelogger unzip -qq LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip -d lubelogger chmod 700 /opt/lubelogger/CarCareTracker - mv -f /opt/appsettings.json /opt/lubelogger/appsettings.json + cp -rf /tmp/lubeloggerData/* /opt/lubelogger/ echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${RELEASE}" @@ -56,6 +64,7 @@ function update_script() { msg_info "Cleaning up" rm -rf /opt/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip + rm -rf /tmp/lubeloggerData msg_ok "Cleaned" msg_ok "Updated Successfully" else @@ -71,4 +80,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" diff --git a/ct/mafl.sh b/ct/mafl.sh index 5f0bb0030..a8e5777d5 100644 --- a/ct/mafl.sh +++ b/ct/mafl.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://mafl.hywax.space/ diff --git a/ct/magicmirror.sh b/ct/magicmirror.sh index dd068fea3..7504eb207 100644 --- a/ct/magicmirror.sh +++ b/ct/magicmirror.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://magicmirror.builders/ diff --git a/ct/mariadb.sh b/ct/mariadb.sh index 83446e94b..729d21365 100644 --- a/ct/mariadb.sh +++ b/ct/mariadb.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://mariadb.org/ diff --git a/ct/matterbridge.sh b/ct/matterbridge.sh index 103898a91..9647cb7cf 100644 --- a/ct/matterbridge.sh +++ b/ct/matterbridge.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/Luligu/matterbridge diff --git a/ct/mediamtx.sh b/ct/mediamtx.sh index a823ef2a8..67cb8f9ae 100644 --- a/ct/mediamtx.sh +++ b/ct/mediamtx.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/bluenviron/mediamtx diff --git a/ct/medusa.sh b/ct/medusa.sh index 397881228..19aae9b55 100644 --- a/ct/medusa.sh +++ b/ct/medusa.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/pymedusa/Medusa.git diff --git a/ct/memos.sh b/ct/memos.sh index 50dba0580..ed1b30ed8 100644 --- a/ct/memos.sh +++ b/ct/memos.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.usememos.com/ @@ -34,6 +34,7 @@ function update_script() { fi msg_info "Updating $APP (Patience)" cd /opt/memos + git reset --hard HEAD output=$(git pull --no-rebase) if echo "$output" | grep -q "Already up to date."; then msg_ok "$APP is already up to date." @@ -60,4 +61,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9030${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9030${CL}" diff --git a/ct/meshcentral.sh b/ct/meshcentral.sh index 1545d004c..6ae005d41 100644 --- a/ct/meshcentral.sh +++ b/ct/meshcentral.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://meshcentral.com/ diff --git a/ct/metube.sh b/ct/metube.sh index 61642a8d9..8aa488afc 100644 --- a/ct/metube.sh +++ b/ct/metube.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/alexta69/metube diff --git a/ct/mongodb.sh b/ct/mongodb.sh index 2dcaae321..27e4bd0a1 100644 --- a/ct/mongodb.sh +++ b/ct/mongodb.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.mongodb.com/de-de diff --git a/ct/motioneye.sh b/ct/motioneye.sh index 5eab31d38..9436f759d 100644 --- a/ct/motioneye.sh +++ b/ct/motioneye.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/motioneye-project/motioneye diff --git a/ct/mqtt.sh b/ct/mqtt.sh index 335d25742..a577519db 100644 --- a/ct/mqtt.sh +++ b/ct/mqtt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://mosquitto.org/ diff --git a/ct/mylar3.sh b/ct/mylar3.sh index 88816bf4c..9c7636eb0 100644 --- a/ct/mylar3.sh +++ b/ct/mylar3.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: davalanche # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/mylar3/mylar3 diff --git a/ct/myspeed.sh b/ct/myspeed.sh index 69de5d148..e52d123af 100644 --- a/ct/myspeed.sh +++ b/ct/myspeed.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://myspeed.dev/ diff --git a/ct/mysql.sh b/ct/mysql.sh index 9c43b59e6..9c5968f4c 100644 --- a/ct/mysql.sh +++ b/ct/mysql.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.mysql.com/ diff --git a/ct/n8n.sh b/ct/n8n.sh index e12caecd7..27c15c605 100644 --- a/ct/n8n.sh +++ b/ct/n8n.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://n8n.io/ diff --git a/ct/navidrome.sh b/ct/navidrome.sh index 3c606f687..be9e335b9 100644 --- a/ct/navidrome.sh +++ b/ct/navidrome.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.navidrome.org/ diff --git a/ct/neo4j.sh b/ct/neo4j.sh index aa37e39ac..0debb55d1 100644 --- a/ct/neo4j.sh +++ b/ct/neo4j.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://neo4j.com/product/neo4j-graph-database/ diff --git a/ct/netbox.sh b/ct/netbox.sh index bfa96d3f7..38f54a837 100644 --- a/ct/netbox.sh +++ b/ct/netbox.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: bvdberg01 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://netboxlabs.com/ @@ -87,4 +87,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}" \ No newline at end of file diff --git a/ct/nextcloudpi.sh b/ct/nextcloudpi.sh index 6aa98306d..d22fcaa30 100644 --- a/ct/nextcloudpi.sh +++ b/ct/nextcloudpi.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.turnkeylinux.org/nextcloud diff --git a/ct/nextpvr.sh b/ct/nextpvr.sh index 52ef0d31a..97938904a 100644 --- a/ct/nextpvr.sh +++ b/ct/nextpvr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT # https://github.com/tteck/Proxmox/raw/main/LICENSE diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh index 179da1740..ed3dcdecb 100644 --- a/ct/nginxproxymanager.sh +++ b/ct/nginxproxymanager.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://nginxproxymanager.com/ diff --git a/ct/nocodb.sh b/ct/nocodb.sh index f5a5a616a..a72c91a6a 100644 --- a/ct/nocodb.sh +++ b/ct/nocodb.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.nocodb.com/ diff --git a/ct/node-red.sh b/ct/node-red.sh index a9a615a95..c2bce1860 100644 --- a/ct/node-red.sh +++ b/ct/node-red.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://nodered.org/ diff --git a/ct/notifiarr.sh b/ct/notifiarr.sh index 26a94e61e..4bd8f9a0d 100644 --- a/ct/notifiarr.sh +++ b/ct/notifiarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://notifiarr.com/ diff --git a/ct/ntfy.sh b/ct/ntfy.sh index 8be75ec3e..4ac3bae0d 100644 --- a/ct/ntfy.sh +++ b/ct/ntfy.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://ntfy.sh/ diff --git a/ct/nzbget.sh b/ct/nzbget.sh index 352799aa7..509105132 100644 --- a/ct/nzbget.sh +++ b/ct/nzbget.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://nzbget.com/ diff --git a/ct/octoprint.sh b/ct/octoprint.sh index 689cbe9d9..be0b71a2a 100644 --- a/ct/octoprint.sh +++ b/ct/octoprint.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://octoprint.org/ diff --git a/ct/ollama.sh b/ct/ollama.sh index 604552b78..43cebc9c6 100644 --- a/ct/ollama.sh +++ b/ct/ollama.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://ollama.com/ diff --git a/ct/omada.sh b/ct/omada.sh index 0ef88d784..b9b46f86a 100644 --- a/ct/omada.sh +++ b/ct/omada.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.tp-link.com/us/support/download/omada-software-controller/ @@ -32,9 +32,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - latest_url=$(curl -s "https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" | \ - grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | \ - head -n 1) + latest_url=$(curl -s "https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n 1) latest_version=$(basename "$latest_url") if [ -z "${latest_version}" ]; then msg_error "It seems that the server (tp-link.com) might be down. Please try again at a later time." diff --git a/ct/ombi.sh b/ct/ombi.sh index a74a9707f..610c7dfab 100644 --- a/ct/ombi.sh +++ b/ct/ombi.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://ombi.io/ diff --git a/ct/omv.sh b/ct/omv.sh index ac1a70f85..a05706fd2 100644 --- a/ct/omv.sh +++ b/ct/omv.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.openmediavault.org/ diff --git a/ct/onedev.sh b/ct/onedev.sh index 568251b81..16e1b1946 100644 --- a/ct/onedev.sh +++ b/ct/onedev.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://onedev.io/ diff --git a/ct/openhab.sh b/ct/openhab.sh index 9800efedf..79e249842 100644 --- a/ct/openhab.sh +++ b/ct/openhab.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.openhab.org/ diff --git a/ct/openobserve.sh b/ct/openobserve.sh index ae73a4ed1..598182b67 100644 --- a/ct/openobserve.sh +++ b/ct/openobserve.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://openobserve.ai/ diff --git a/ct/openwebui.sh b/ct/openwebui.sh index 7bac3e88a..47eab4abc 100644 --- a/ct/openwebui.sh +++ b/ct/openwebui.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://openwebui.com/ diff --git a/ct/overseerr.sh b/ct/overseerr.sh index a7245a9db..dff260466 100644 --- a/ct/overseerr.sh +++ b/ct/overseerr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://overseerr.dev/ diff --git a/ct/owncast.sh b/ct/owncast.sh index 3b84d64f5..6442af66e 100644 --- a/ct/owncast.sh +++ b/ct/owncast.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://owncast.online/ diff --git a/ct/pairdrop.sh b/ct/pairdrop.sh index b3f6f57a0..00548dd36 100644 --- a/ct/pairdrop.sh +++ b/ct/pairdrop.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://pairdrop.net/ diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh index 3a641f3ef..63aead01f 100644 --- a/ct/paperless-ngx.sh +++ b/ct/paperless-ngx.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://docs.paperless-ngx.com/ diff --git a/ct/part-db.sh b/ct/part-db.sh index bf7217e20..dcb31c76f 100644 --- a/ct/part-db.sh +++ b/ct/part-db.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: bvdberg01 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://docs.part-db.de/ diff --git a/ct/pbs.sh b/ct/pbs.sh index d392e1635..8aae63d3b 100644 --- a/ct/pbs.sh +++ b/ct/pbs.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/peanut.sh b/ct/peanut.sh index 7dedccd78..87cd3eff7 100644 --- a/ct/peanut.sh +++ b/ct/peanut.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/Brandawg93/PeaNUT/ diff --git a/ct/petio.sh b/ct/petio.sh index 13a729464..c9d9b2d92 100644 --- a/ct/petio.sh +++ b/ct/petio.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://petio.tv/ diff --git a/ct/pf2etools.sh b/ct/pf2etools.sh new file mode 100644 index 000000000..967c407d9 --- /dev/null +++ b/ct/pf2etools.sh @@ -0,0 +1,81 @@ +#!/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: TheRealVira +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://pf2etools.com/ + +# App Default Values +APP="Pf2eTools" +var_tags="wiki" +var_cpu="1" +var_ram="512" +var_disk="6" +var_os="debian" +var_version="12" +var_unprivileged="1" + +# App Output & Base Settings +header_info "$APP" +base_settings + +# Core +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + # Check if installation is present | -f for file, -d for folder + if [[ ! -d "/opt/${APP}" ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -s https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f "/opt/${APP}_version.txt" ]]; then + # Crawling the new version and checking whether an update is required + msg_info "Updating System" + apt-get update &>/dev/null + apt-get -y upgrade &>/dev/null + msg_ok "Updated System" + + # Execute Update + msg_info "Updating ${APP}" + cd /opt + wget -q "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" + unzip -q ${RELEASE}.zip + rm -rf "/opt/${APP}" + mv ${APP}-${RELEASE:1} /opt/${APP} + cd /opt/Pf2eTools + $STD npm install + $STD npm run build + echo "${RELEASE}" >"/opt/${APP}_version.txt" + msg_ok "Updated ${APP}" + + chown -R www-data: "/opt/${APP}" + chmod -R 755 "/opt/${APP}" + + # Cleaning up + msg_info "Cleaning Up" + rm -rf /opt/${RELEASE}.zip + $STD apt-get -y autoremove + $STD apt-get -y autoclean + msg_ok "Cleanup Completed" + 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}${CL}" diff --git a/ct/photoprism.sh b/ct/photoprism.sh index 4762fd83f..f6f79c935 100644 --- a/ct/photoprism.sh +++ b/ct/photoprism.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.photoprism.app/ diff --git a/ct/pialert.sh b/ct/pialert.sh index ef6ebdd0b..9569f5643 100644 --- a/ct/pialert.sh +++ b/ct/pialert.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/leiweibau/Pi.Alert/ diff --git a/ct/pihole.sh b/ct/pihole.sh index 9947f8d87..4071efe7e 100644 --- a/ct/pihole.sh +++ b/ct/pihole.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://pi-hole.net/ diff --git a/ct/pingvin.sh b/ct/pingvin.sh index 53bd0aa22..95e097111 100644 --- a/ct/pingvin.sh +++ b/ct/pingvin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://stonith404.github.io/pingvin-share/introduction diff --git a/ct/plex.sh b/ct/plex.sh index 0aebd688f..004a93e39 100644 --- a/ct/plex.sh +++ b/ct/plex.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.plex.tv/ diff --git a/ct/pocketbase.sh b/ct/pocketbase.sh index 986e20f69..f9c24680e 100644 --- a/ct/pocketbase.sh +++ b/ct/pocketbase.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://pocketbase.io/ diff --git a/ct/podman-homeassistant.sh b/ct/podman-homeassistant.sh index 05925edd6..f0e43c2ae 100644 --- a/ct/podman-homeassistant.sh +++ b/ct/podman-homeassistant.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/podman.sh b/ct/podman.sh index cdc63cd65..ef36a6824 100644 --- a/ct/podman.sh +++ b/ct/podman.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://podman.io/ diff --git a/ct/postgresql.sh b/ct/postgresql.sh index 72f567a14..287bfab13 100644 --- a/ct/postgresql.sh +++ b/ct/postgresql.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.postgresql.org/ diff --git a/ct/prometheus.sh b/ct/prometheus.sh index 62c7cd3e0..d03e070be 100644 --- a/ct/prometheus.sh +++ b/ct/prometheus.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://prometheus.io/ diff --git a/ct/prowlarr.sh b/ct/prowlarr.sh index a8b32963e..04c8a4ec5 100644 --- a/ct/prowlarr.sh +++ b/ct/prowlarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://prowlarr.com/ diff --git a/ct/proxmox-datacenter-manager.sh b/ct/proxmox-datacenter-manager.sh index d254d6835..2ee486339 100644 --- a/ct/proxmox-datacenter-manager.sh +++ b/ct/proxmox-datacenter-manager.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: Proxmox Server Solution GmbH diff --git a/ct/qbittorrent.sh b/ct/qbittorrent.sh index 7b6d95d90..790a57167 100644 --- a/ct/qbittorrent.sh +++ b/ct/qbittorrent.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.qbittorrent.org/ diff --git a/ct/rabbitmq.sh b/ct/rabbitmq.sh index 70ab87423..c47d56da8 100644 --- a/ct/rabbitmq.sh +++ b/ct/rabbitmq.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.rabbitmq.com/ diff --git a/ct/radarr.sh b/ct/radarr.sh index f4aa3b4c2..c6ee25078 100644 --- a/ct/radarr.sh +++ b/ct/radarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://radarr.video/ diff --git a/ct/rdtclient.sh b/ct/rdtclient.sh index fa5be4856..3b26ad7c0 100755 --- a/ct/rdtclient.sh +++ b/ct/rdtclient.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/rogerfar/rdt-client diff --git a/ct/readarr.sh b/ct/readarr.sh index 96d625dcf..2c0bf458d 100644 --- a/ct/readarr.sh +++ b/ct/readarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://readarr.com/ diff --git a/ct/readeck.sh b/ct/readeck.sh index 69f29ba37..a34294edd 100644 --- a/ct/readeck.sh +++ b/ct/readeck.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://readeck.org/en/ diff --git a/ct/recyclarr.sh b/ct/recyclarr.sh index 5063ec2fe..388ab627e 100644 --- a/ct/recyclarr.sh +++ b/ct/recyclarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MrYadro # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://recyclarr.dev/wiki/ diff --git a/ct/redis.sh b/ct/redis.sh index 6b64f9b7c..13b29e590 100644 --- a/ct/redis.sh +++ b/ct/redis.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://redis.io/ diff --git a/ct/rtsptoweb.sh b/ct/rtsptoweb.sh index 9b85efc41..c09182a38 100644 --- a/ct/rtsptoweb.sh +++ b/ct/rtsptoweb.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/deepch/RTSPtoWeb diff --git a/ct/runtipi.sh b/ct/runtipi.sh index 641c02362..3beb2ea2d 100644 --- a/ct/runtipi.sh +++ b/ct/runtipi.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://runtipi.io/ diff --git a/ct/sabnzbd.sh b/ct/sabnzbd.sh index 5f58c02c9..9c8489836 100644 --- a/ct/sabnzbd.sh +++ b/ct/sabnzbd.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://sabnzbd.org/ diff --git a/ct/semaphore.sh b/ct/semaphore.sh new file mode 100644 index 000000000..12d32a0a1 --- /dev/null +++ b/ct/semaphore.sh @@ -0,0 +1,71 @@ +#!/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: kristocopani +# License: MIT +# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://semaphoreui.com/ + +# App Default Values +APP="Semaphore" +var_tags="dev_ops" +var_cpu="2" +var_ram="2048" +var_disk="4" +var_os="debian" +var_version="12" +var_unprivileged="1" + +# App Output & Base Settings +header_info "$APP" +base_settings + +# Core +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -f /etc/systemd/system/semaphore.service ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Service" + systemctl stop semaphore + msg_ok "Stopped Service" + + msg_info "Updating ${APP} to v${RELEASE}" + cd /opt + wget -q https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb + dpkg -i semaphore_${RELEASE}_linux_amd64.deb &>/dev/null + echo "${RELEASE}" >"/opt/${APP}_version.txt" + msg_ok "Updated ${APP} to v${RELEASE}" + + msg_info "Starting Service" + systemctl start semaphore + msg_ok "Started Service" + + msg_info "Cleaning up" + rm -rf /opt/semaphore_${RELEASE}_linux_amd64.deb + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}." + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/sftpgo.sh b/ct/sftpgo.sh index 3e9f7b14d..6a14392c1 100644 --- a/ct/sftpgo.sh +++ b/ct/sftpgo.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://sftpgo.com/ diff --git a/ct/shinobi.sh b/ct/shinobi.sh index de34210a3..4da07b586 100644 --- a/ct/shinobi.sh +++ b/ct/shinobi.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://shinobi.video/ diff --git a/ct/silverbullet.sh b/ct/silverbullet.sh index 744379b5b..56bf1a4e6 100644 --- a/ct/silverbullet.sh +++ b/ct/silverbullet.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Dominik Siebel (dsiebel) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://silverbullet.md diff --git a/ct/smokeping.sh b/ct/smokeping.sh index 4e7473abb..8bd4a2421 100644 --- a/ct/smokeping.sh +++ b/ct/smokeping.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://oss.oetiker.ch/smokeping/ diff --git a/ct/snipeit.sh b/ct/snipeit.sh index 506e14cb1..025088047 100644 --- a/ct/snipeit.sh +++ b/ct/snipeit.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://snipeitapp.com/ diff --git a/ct/sonarr.sh b/ct/sonarr.sh index 80e3714bc..606fdb30b 100644 --- a/ct/sonarr.sh +++ b/ct/sonarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://sonarr.tv/ diff --git a/ct/spoolman.sh b/ct/spoolman.sh index 4ddf5a732..f98dc1f24 100644 --- a/ct/spoolman.sh +++ b/ct/spoolman.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/Donkie/Spoolman diff --git a/ct/stirling-pdf.sh b/ct/stirling-pdf.sh index 67acd496c..c212c18c6 100644 --- a/ct/stirling-pdf.sh +++ b/ct/stirling-pdf.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.stirlingpdf.com/ diff --git a/ct/syncthing.sh b/ct/syncthing.sh index 8a6856201..455e262f1 100644 --- a/ct/syncthing.sh +++ b/ct/syncthing.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://syncthing.net/ diff --git a/ct/tandoor.sh b/ct/tandoor.sh index 0a449c22d..146c73ee4 100644 --- a/ct/tandoor.sh +++ b/ct/tandoor.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://tandoor.dev/ diff --git a/ct/tasmoadmin.sh b/ct/tasmoadmin.sh index dae770946..500d67d63 100644 --- a/ct/tasmoadmin.sh +++ b/ct/tasmoadmin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/TasmoAdmin/TasmoAdmin diff --git a/ct/tautulli.sh b/ct/tautulli.sh index 934131c98..0675f5bbb 100644 --- a/ct/tautulli.sh +++ b/ct/tautulli.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://tautulli.com/ diff --git a/ct/tdarr.sh b/ct/tdarr.sh index c69f2281e..6360f0014 100644 --- a/ct/tdarr.sh +++ b/ct/tdarr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://home.tdarr.io/ diff --git a/ct/technitiumdns.sh b/ct/technitiumdns.sh index 73920a2ee..8f6877082 100644 --- a/ct/technitiumdns.sh +++ b/ct/technitiumdns.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://technitium.com/dns/ diff --git a/ct/teddycloud.sh b/ct/teddycloud.sh index 65e49f20b..0b2a7dcb2 100644 --- a/ct/teddycloud.sh +++ b/ct/teddycloud.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Dominik Siebel (dsiebel) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/toniebox-reverse-engineering/teddycloud diff --git a/ct/the-lounge.sh b/ct/the-lounge.sh index ea8547746..28d426aed 100644 --- a/ct/the-lounge.sh +++ b/ct/the-lounge.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://thelounge.chat/ diff --git a/ct/threadfin.sh b/ct/threadfin.sh index bb3bc8941..83c5ed795 100644 --- a/ct/threadfin.sh +++ b/ct/threadfin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/Threadfin/Threadfin diff --git a/ct/tianji.sh b/ct/tianji.sh index f2882924a..1ac59203f 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://tianji.msgbyte.com/ diff --git a/ct/traccar.sh b/ct/traccar.sh index c8bf88b26..5487784ae 100644 --- a/ct/traccar.sh +++ b/ct/traccar.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.traccar.org/ diff --git a/ct/traefik.sh b/ct/traefik.sh index 877943159..39786b8e5 100644 --- a/ct/traefik.sh +++ b/ct/traefik.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://traefik.io/ diff --git a/ct/transmission.sh b/ct/transmission.sh index ea05ec438..78d5b1b4a 100644 --- a/ct/transmission.sh +++ b/ct/transmission.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://transmissionbt.com/ diff --git a/ct/trilium.sh b/ct/trilium.sh index f65702742..a2835202c 100644 --- a/ct/trilium.sh +++ b/ct/trilium.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://triliumnext.github.io/Docs/ diff --git a/ct/typesense.sh b/ct/typesense.sh new file mode 100644 index 000000000..f4e5aa9bb --- /dev/null +++ b/ct/typesense.sh @@ -0,0 +1,54 @@ +#!/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: tlissak | Co-Author MickLesk +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://typesense.org/ + +# App Default Values +APP="TypeSense" +var_tags="database" +var_cpu="1" +var_ram="1024" +var_disk="4" +var_os="debian" +var_version="12" +var_unprivileged="1" + +# App Output & Base Settings +header_info "$APP" +base_settings + +# Core +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/typesense/typesense-server.ini ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Updating ${APP} LXC" + apt-get update &>/dev/null + apt-get -y upgrade &>/dev/null + 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 IP:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:8108${CL}" diff --git a/ct/ubuntu.sh b/ct/ubuntu.sh index 86ac38615..d3aac33f5 100644 --- a/ct/ubuntu.sh +++ b/ct/ubuntu.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://ubuntu.com/ diff --git a/ct/umami.sh b/ct/umami.sh index 592c7e8df..6b898cae1 100644 --- a/ct/umami.sh +++ b/ct/umami.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://umami.is/ diff --git a/ct/umbrel.sh b/ct/umbrel.sh index 4a5b0739c..5dc0a7918 100644 --- a/ct/umbrel.sh +++ b/ct/umbrel.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://umbrel.com/ diff --git a/ct/unbound.sh b/ct/unbound.sh index a8bd86513..b0a0d1ecc 100644 --- a/ct/unbound.sh +++ b/ct/unbound.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: wimb0 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/NLnetLabs/unbound diff --git a/ct/unifi.sh b/ct/unifi.sh index 0805320fa..16fe0c8d7 100644 --- a/ct/unifi.sh +++ b/ct/unifi.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://ui.com/download/unifi diff --git a/ct/unmanic.sh b/ct/unmanic.sh index 02c53c682..bce7450a0 100644 --- a/ct/unmanic.sh +++ b/ct/unmanic.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://docs.unmanic.app/ diff --git a/ct/uptimekuma.sh b/ct/uptimekuma.sh index 7c92b4aee..0efe730fd 100644 --- a/ct/uptimekuma.sh +++ b/ct/uptimekuma.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://uptime.kuma.pet/ diff --git a/ct/vaultwarden.sh b/ct/vaultwarden.sh index 3d0f30841..4d12d0dac 100644 --- a/ct/vaultwarden.sh +++ b/ct/vaultwarden.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.vaultwarden.net/ diff --git a/ct/vikunja.sh b/ct/vikunja.sh index 710949444..e805f8b23 100644 --- a/ct/vikunja.sh +++ b/ct/vikunja.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://vikunja.io/ diff --git a/ct/wallos.sh b/ct/wallos.sh index 0e06c8e1d..9931f1f70 100644 --- a/ct/wallos.sh +++ b/ct/wallos.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://wallosapp.com/ diff --git a/ct/wastebin.sh b/ct/wastebin.sh index f0c37343e..9e4162377 100644 --- a/ct/wastebin.sh +++ b/ct/wastebin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/matze/wastebin diff --git a/ct/watchyourlan.sh b/ct/watchyourlan.sh index e79dc3670..de29154eb 100644 --- a/ct/watchyourlan.sh +++ b/ct/watchyourlan.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/aceberg/WatchYourLAN diff --git a/ct/wavelog.sh b/ct/wavelog.sh index 1d1c55a9b..0dc24ae24 100644 --- a/ct/wavelog.sh +++ b/ct/wavelog.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Don Locke (DonLocke) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.wavelog.org/ diff --git a/ct/whisparr.sh b/ct/whisparr.sh index be18bff9c..53e2fff89 100644 --- a/ct/whisparr.sh +++ b/ct/whisparr.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/Whisparr/Whisparr diff --git a/ct/whoogle.sh b/ct/whoogle.sh index f7e5b887c..1010b6fc0 100644 --- a/ct/whoogle.sh +++ b/ct/whoogle.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/benbusby/whoogle-search diff --git a/ct/wikijs.sh b/ct/wikijs.sh index acec35dfd..d387b2d95 100644 --- a/ct/wikijs.sh +++ b/ct/wikijs.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://js.wiki/ diff --git a/ct/wireguard.sh b/ct/wireguard.sh index 7fce847e0..946a909ea 100644 --- a/ct/wireguard.sh +++ b/ct/wireguard.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.wireguard.com/ diff --git a/ct/yunohost.sh b/ct/yunohost.sh index fbd1e8a1d..36319202a 100644 --- a/ct/yunohost.sh +++ b/ct/yunohost.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://yunohost.org/ diff --git a/ct/zabbix.sh b/ct/zabbix.sh index 55a5c9521..14cfc3579 100644 --- a/ct/zabbix.sh +++ b/ct/zabbix.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.zabbix.com/ @@ -41,7 +41,7 @@ function update_script() { cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/ cp -R /usr/share/zabbix/ /opt/zabbix-backup/ - cp -R /usr/share/zabbix-* /opt/zabbix-backup/ + #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary rm -Rf /etc/apt/sources.list.d/zabbix.list cd /tmp wget -q https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb diff --git a/ct/zammad.sh b/ct/zammad.sh index 81bd5e835..e96d4f6c6 100644 --- a/ct/zammad.sh +++ b/ct/zammad.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://zammad.com @@ -28,7 +28,7 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/zamad ]]; then + if [[ ! -d /opt/zammad ]]; then msg_error "No ${APP} Installation Found!" exit fi diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh index c5ba5ef2b..591e19bb7 100644 --- a/ct/zigbee2mqtt.sh +++ b/ct/zigbee2mqtt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.zigbee2mqtt.io/ @@ -32,91 +32,35 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then - if ! command -v npm >/dev/null 2>&1; then - echo "Installing NPM..." - apt-get install -y npm >/dev/null 2>&1 - echo "Installed NPM..." - fi + RELEASE=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Service" + systemctl stop zigbee2mqtt + msg_ok "Stopped Service" + + msg_info "Creating Backup" + mkdir -p /opt/z2m_backup + tar -czf /opt/z2m_backup/${APP}_backup_$(date +%Y%m%d%H%M%S).tar.gz -C /opt zigbee2mqtt &>/dev/null + mv /opt/zigbee2mqtt/data /opt/z2m_backup + msg_ok "Backup Created" + + msg_info "Updating ${APP} to v${RELEASE}" + cd /opt + wget -q "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" + unzip -q ${RELEASE}.zip + mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt + rm -rf /opt/zigbee2mqtt/data + mv /opt/z2m_backup/data /opt/zigbee2mqtt + cd /opt/zigbee2mqtt + pnpm install --frozen-lockfile &>/dev/null + pnpm build &>/dev/null + msg_info "Starting Service" + systemctl start zigbee2mqtt + msg_ok "Started Service" + echo "${RELEASE}" >/opt/${APP}_version.txt + else + msg_ok "No update required. ${APP} is already at v${RELEASE}." fi - cd /opt/zigbee2mqtt - - stop_zigbee2mqtt() { - if which systemctl 2>/dev/null >/dev/null; then - echo "Shutting down Zigbee2MQTT..." - sudo systemctl stop zigbee2mqtt - else - echo "Skipped stopping Zigbee2MQTT, no systemctl found" - fi - } - - start_zigbee2mqtt() { - if which systemctl 2>/dev/null >/dev/null; then - echo "Starting Zigbee2MQTT..." - sudo systemctl start zigbee2mqtt - else - echo "Skipped starting Zigbee2MQTT, no systemctl found" - fi - } - - set -e - - if [ -d data-backup ]; then - echo "ERROR: Backup directory exists. May be previous restoring was failed?" - echo "1. Save 'data-backup' and 'data' dirs to safe location to make possibility to restore config later." - echo "2. Manually delete 'data-backup' dir and try again." - exit 1 - fi - - stop_zigbee2mqtt - - echo "Generating a backup of the configuration..." - cp -R data data-backup || { - echo "Failed to create backup." - exit 1 - } - - echo "Checking if any changes were made to package-lock.json..." - git checkout package-lock.json || { - echo "Failed to check package-lock.json." - exit 1 - } - - echo "Initiating update..." - if ! git pull; then - echo "Update failed, temporarily storing changes and trying again." - git stash && git pull || ( - echo "Update failed even after storing changes. Aborting." - exit 1 - ) - fi - - echo "Acquiring necessary components..." - npm ci || { - echo "Failed to install necessary components." - exit 1 - } - - echo "Building..." - npm run build || { - echo "Failed to build new version." - exit 1 - } - - echo "Restoring configuration..." - cp -R data-backup/* data || { - echo "Failed to restore configuration." - exit 1 - } - - rm -rf data-backup || { - echo "Failed to remove backup directory." - exit 1 - } - - start_zigbee2mqtt - - echo "Done!" exit } @@ -127,4 +71,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9442${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9442${CL}" diff --git a/ct/zipline.sh b/ct/zipline.sh index b6dfcf94b..7031bf8e9 100644 --- a/ct/zipline.sh +++ b/ct/zipline.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://zipline.diced.sh/ diff --git a/ct/zoraxy.sh b/ct/zoraxy.sh index 71e9c12b4..2f30ebc23 100644 --- a/ct/zoraxy.sh +++ b/ct/zoraxy.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://zoraxy.aroz.org/ diff --git a/ct/zwave-js-ui.sh b/ct/zwave-js-ui.sh index 9c25a90ad..ffea06b2a 100644 --- a/ct/zwave-js-ui.sh +++ b/ct/zwave-js-ui.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://zwave-js.github.io/zwave-js-ui/#/ diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 36ec168b7..40e82fae3 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -31,7 +31,7 @@ "fuse.js": "^7.0.0", "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", - "next": "15.0.2", + "next": "15.1.3", "next-themes": "^0.3.0", "nuqs": "^2.1.1", "pocketbase": "^0.21.4", @@ -1556,10 +1556,9 @@ } }, "node_modules/@next/env": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.0.2.tgz", - "integrity": "sha512-c0Zr0ModK5OX7D4ZV8Jt/wqoXtitLNPwUfG9zElCZztdaZyNVnN40rDXVZ/+FGuR4CcNV5AEfM6N8f+Ener7Dg==", - "license": "MIT" + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.3.tgz", + "integrity": "sha512-Q1tXwQCGWyA3ehMph3VO+E6xFPHDKdHFYosadt0F78EObYxPio0S09H9UGYznDe6Wc8eLKLG89GqcFJJDiK5xw==" }, "node_modules/@next/eslint-plugin-next": { "version": "15.0.2", @@ -1602,13 +1601,12 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.2.tgz", - "integrity": "sha512-GK+8w88z+AFlmt+ondytZo2xpwlfAR8U6CRwXancHImh6EdGfHMIrTSCcx5sOSBei00GyLVL0ioo1JLKTfprgg==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.3.tgz", + "integrity": "sha512-aZtmIh8jU89DZahXQt1La0f2EMPt/i7W+rG1sLtYJERsP7GRnNFghsciFpQcKHcGh4dUiyTB5C1X3Dde/Gw8gg==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "darwin" @@ -1618,13 +1616,12 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.2.tgz", - "integrity": "sha512-KUpBVxIbjzFiUZhiLIpJiBoelqzQtVZbdNNsehhUn36e2YzKHphnK8eTUW1s/4aPy5kH/UTid8IuVbaOpedhpw==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.3.tgz", + "integrity": "sha512-aw8901rjkVBK5mbq5oV32IqkJg+CQa6aULNlN8zyCWSsePzEG3kpDkAFkkTOh3eJ0p95KbkLyWBzslQKamXsLA==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "darwin" @@ -1634,13 +1631,12 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.2.tgz", - "integrity": "sha512-9J7TPEcHNAZvwxXRzOtiUvwtTD+fmuY0l7RErf8Yyc7kMpE47MIQakl+3jecmkhOoIyi/Rp+ddq7j4wG6JDskQ==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.3.tgz", + "integrity": "sha512-YbdaYjyHa4fPK4GR4k2XgXV0p8vbU1SZh7vv6El4bl9N+ZSiMfbmqCuCuNU1Z4ebJMumafaz6UCC2zaJCsdzjw==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -1650,13 +1646,12 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.2.tgz", - "integrity": "sha512-BjH4ZSzJIoTTZRh6rG+a/Ry4SW0HlizcPorqNBixBWc3wtQtj4Sn9FnRZe22QqrPnzoaW0ctvSz4FaH4eGKMww==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.3.tgz", + "integrity": "sha512-qgH/aRj2xcr4BouwKG3XdqNu33SDadqbkqB6KaZZkozar857upxKakbRllpqZgWl/NDeSCBYPmUAZPBHZpbA0w==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -1666,13 +1661,12 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.2.tgz", - "integrity": "sha512-i3U2TcHgo26sIhcwX/Rshz6avM6nizrZPvrDVDY1bXcLH1ndjbO8zuC7RoHp0NSK7wjJMPYzm7NYL1ksSKFreA==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.3.tgz", + "integrity": "sha512-uzafnTFwZCPN499fNVnS2xFME8WLC9y7PLRs/yqz5lz1X/ySoxfaK2Hbz74zYUdEg+iDZPd8KlsWaw9HKkLEVw==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -1682,13 +1676,12 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.2.tgz", - "integrity": "sha512-AMfZfSVOIR8fa+TXlAooByEF4OB00wqnms1sJ1v+iu8ivwvtPvnkwdzzFMpsK5jA2S9oNeeQ04egIWVb4QWmtQ==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.3.tgz", + "integrity": "sha512-el6GUFi4SiDYnMTTlJJFMU+GHvw0UIFnffP1qhurrN1qJV3BqaSRUjkDUgVV44T6zpw1Lc6u+yn0puDKHs+Sbw==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "linux" @@ -1698,13 +1691,12 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.2.tgz", - "integrity": "sha512-JkXysDT0/hEY47O+Hvs8PbZAeiCQVxKfGtr4GUpNAhlG2E0Mkjibuo8ryGD29Qb5a3IOnKYNoZlh/MyKd2Nbww==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.3.tgz", + "integrity": "sha512-6RxKjvnvVMM89giYGI1qye9ODsBQpHSHVo8vqA8xGhmRPZHDQUE4jcDbhBwK0GnFMqBnu+XMg3nYukNkmLOLWw==", "cpu": [ "arm64" ], - "license": "MIT", "optional": true, "os": [ "win32" @@ -1714,13 +1706,12 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.2.tgz", - "integrity": "sha512-foaUL0NqJY/dX0Pi/UcZm5zsmSk5MtP/gxx3xOPyREkMFN+CTjctPfu3QaqrQHinaKdPnMWPJDKt4VjDfTBe/Q==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.3.tgz", + "integrity": "sha512-VId/f5blObG7IodwC5Grf+aYP0O8Saz1/aeU3YcWqNdIUAmFQY3VEPKPaIzfv32F/clvanOb2K2BR5DtDs6XyQ==", "cpu": [ "x64" ], - "license": "MIT", "optional": true, "os": [ "win32" @@ -3024,12 +3015,11 @@ "license": "Apache-2.0" }, "node_modules/@swc/helpers": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", - "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", - "license": "Apache-2.0", + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", "dependencies": { - "tslib": "^2.4.0" + "tslib": "^2.8.0" } }, "node_modules/@testing-library/dom": { @@ -7104,14 +7094,13 @@ "license": "MIT" }, "node_modules/next": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/next/-/next-15.0.2.tgz", - "integrity": "sha512-rxIWHcAu4gGSDmwsELXacqAPUk+j8dV/A9cDF5fsiCMpkBDYkO2AEaL1dfD+nNmDiU6QMCFN8Q30VEKapT9UHQ==", - "license": "MIT", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/next/-/next-15.1.3.tgz", + "integrity": "sha512-5igmb8N8AEhWDYzogcJvtcRDU6n4cMGtBklxKD4biYv4LXN8+awc/bbQ2IM2NQHdVPgJ6XumYXfo3hBtErg1DA==", "dependencies": { - "@next/env": "15.0.2", + "@next/env": "15.1.3", "@swc/counter": "0.1.3", - "@swc/helpers": "0.5.13", + "@swc/helpers": "0.5.15", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", @@ -7121,25 +7110,25 @@ "next": "dist/bin/next" }, "engines": { - "node": ">=18.18.0" + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "15.0.2", - "@next/swc-darwin-x64": "15.0.2", - "@next/swc-linux-arm64-gnu": "15.0.2", - "@next/swc-linux-arm64-musl": "15.0.2", - "@next/swc-linux-x64-gnu": "15.0.2", - "@next/swc-linux-x64-musl": "15.0.2", - "@next/swc-win32-arm64-msvc": "15.0.2", - "@next/swc-win32-x64-msvc": "15.0.2", + "@next/swc-darwin-arm64": "15.1.3", + "@next/swc-darwin-x64": "15.1.3", + "@next/swc-linux-arm64-gnu": "15.1.3", + "@next/swc-linux-arm64-musl": "15.1.3", + "@next/swc-linux-x64-gnu": "15.1.3", + "@next/swc-linux-x64-musl": "15.1.3", + "@next/swc-win32-arm64-msvc": "15.1.3", + "@next/swc-win32-x64-msvc": "15.1.3", "sharp": "^0.33.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.41.2", "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-02c0e824-20241028", - "react-dom": "^18.2.0 || 19.0.0-rc-02c0e824-20241028", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "peerDependenciesMeta": { diff --git a/frontend/package.json b/frontend/package.json index 174b34e5c..2309f43c5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -42,7 +42,7 @@ "fuse.js": "^7.0.0", "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", - "next": "15.0.2", + "next": "15.1.3", "next-themes": "^0.3.0", "nuqs": "^2.1.1", "pocketbase": "^0.21.4", diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index 949b84b2e..9f71d9fa5 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: jkrgr0 # License: MIT # Source: https://docs.2fauth.app/ diff --git a/install/5etools-install.sh b/install/5etools-install.sh new file mode 100644 index 000000000..1e2da9c79 --- /dev/null +++ b/install/5etools-install.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: TheRealVira +# License: MIT +# Source: https://5e.tools/ + +# Import Functions und Setup +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + curl \ + mc \ + sudo \ + git \ + gpg \ + ca-certificates \ + apache2 +msg_ok "Installed Dependencies" + +msg_info "Setting up Node.js Repository" +mkdir -p /etc/apt/keyrings +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +msg_ok "Set up Node.js Repository" + +msg_info "Installing Node.js" +$STD apt-get update +$STD apt-get install -y nodejs +msg_ok "Installed Node.js" + +# Setup App +msg_info "Set up 5etools Base" +cd /opt +RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-3/5etools-src/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +wget -q "https://github.com/5etools-mirror-3/5etools-src/archive/refs/tags/${RELEASE}.zip" +unzip -q "${RELEASE}.zip" +mv "5etools-src-${RELEASE:1}" /opt/5etools +cd /opt/5etools +$STD npm install +$STD npm run build +echo "${RELEASE}" >"/opt/5etools_version.txt" +msg_ok "Set up 5etools Base" + +msg_info "Set up 5etools Image" +cd /opt +IMG_RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-2/5etools-img/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -sSL "https://github.com/5etools-mirror-2/5etools-img/archive/refs/tags/${IMG_RELEASE}.zip" > "${IMG_RELEASE}.zip" +unzip -q "${IMG_RELEASE}.zip" +mv "5etools-img-${IMG_RELEASE:1}" /opt/5etools/img +echo "${IMG_RELEASE}" >"/opt/5etools_IMG_version.txt" +msg_ok "Set up 5etools Image" + +msg_info "Creating Service" +cat <> /etc/apache2/apache2.conf + + SetHandler server-status + Order deny,allow + Allow from all + +EOF +rm -rf /var/www/html +ln -s "/opt/5etools" /var/www/html +chown -R www-data: "/opt/5etools" +chmod -R 755 "/opt/5etools" +msg_ok "Created Service" + +msg_info "Cleaning up" +rm -rf /opt/${IMG_RELEASE}.zip +rm -rf /opt/${RELEASE}.zip +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" + +motd_ssh +customize diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index 133853f4a..64995d5a7 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/adguard-install.sh b/install/adguard-install.sh index b4c4c3dc1..b62255c10 100644 --- a/install/adguard-install.sh +++ b/install/adguard-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index e81205257..250a4d8f2 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/agentdvr-install.sh b/install/agentdvr-install.sh index 74c1e6a48..fc21d7fac 100644 --- a/install/agentdvr-install.sh +++ b/install/agentdvr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/alpine-docker-install.sh b/install/alpine-docker-install.sh index c594f6bf5..cd70c6f0e 100644 --- a/install/alpine-docker-install.sh +++ b/install/alpine-docker-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/alpine-grafana-install.sh b/install/alpine-grafana-install.sh index 93171e1e5..d6b59ef60 100644 --- a/install/alpine-grafana-install.sh +++ b/install/alpine-grafana-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/alpine-install.sh b/install/alpine-install.sh index a6623386b..83999eb68 100644 --- a/install/alpine-install.sh +++ b/install/alpine-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/alpine-nextcloud-install.sh b/install/alpine-nextcloud-install.sh index 3fe273b28..7f337a052 100644 --- a/install/alpine-nextcloud-install.sh +++ b/install/alpine-nextcloud-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/alpine-vaultwarden-install.sh b/install/alpine-vaultwarden-install.sh index dffd20b0d..c3a934901 100644 --- a/install/alpine-vaultwarden-install.sh +++ b/install/alpine-vaultwarden-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/alpine-zigbee2mqtt-install.sh b/install/alpine-zigbee2mqtt-install.sh index 0effd6c17..7c2943888 100644 --- a/install/alpine-zigbee2mqtt-install.sh +++ b/install/alpine-zigbee2mqtt-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/apache-cassandra-install.sh b/install/apache-cassandra-install.sh index e70f470d7..733102ee2 100644 --- a/install/apache-cassandra-install.sh +++ b/install/apache-cassandra-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/apache-couchdb-install.sh b/install/apache-couchdb-install.sh index af618efff..4388aaac6 100644 --- a/install/apache-couchdb-install.sh +++ b/install/apache-couchdb-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index 71393235c..435193e14 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#Copyright (c) 2021-2024 community-scripts ORG +#Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) | MickLesk (CanbiZ) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -126,7 +126,21 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl -q enable --now tomcat guacd mysql +cat </etc/systemd/system/guacd.service +[Unit] +Description=Guacamole Proxy Daemon (guacd) +After=mysql.service tomcat.service +Requires=mysql.service tomcat.service +[Service] +Type=forking +ExecStart=/etc/init.d/guacd start +ExecStop=/etc/init.d/guacd stop +ExecReload=/etc/init.d/guacd restart +PIDFile=/var/run/guacd.pid +[Install] +WantedBy=multi-user.target +EOF +systemctl -q enable --now mysql tomcat guacd msg_ok "Setup Service" motd_ssh diff --git a/install/apt-cacher-ng-install.sh b/install/apt-cacher-ng-install.sh index 7bb65c480..fb0a8330c 100644 --- a/install/apt-cacher-ng-install.sh +++ b/install/apt-cacher-ng-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/archivebox-install.sh b/install/archivebox-install.sh index 9d05a034c..59c29c81c 100644 --- a/install/archivebox-install.sh +++ b/install/archivebox-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -47,14 +47,14 @@ $STD apt-get update $STD apt-get install -y nodejs msg_ok "Installed Node.js" -msg_info "Installing Playright/Chromium" -$STD pip install playwright -$STD playwright install --with-deps chromium -msg_ok "Installed Playright/Chromium" +msg_info "Installing Playwright" +$STD pip install playwright +$STD playwright install-deps chromium +msg_ok "Installed Playwright" -msg_info "Installing ArchiveBox" +msg_info "Installing Chromium and ArchiveBox" mkdir -p /opt/archivebox/{data,.npm,.cache,.local} -$STD adduser --system --shell /bin/bash --gecos 'Archive Box User' --group --disabled-password archivebox +$STD adduser --system --shell /bin/bash --gecos 'Archive Box User' --group --disabled-password --home /home/archivebox archivebox chown -R archivebox:archivebox /opt/archivebox/{data,.npm,.cache,.local} chmod -R 755 /opt/archivebox/data $STD pip install archivebox @@ -63,6 +63,7 @@ expect </opt/blocky/config.yml -upstream: - # these external DNS resolvers will be used. Blocky picks 2 random resolvers from the list for each query - # format for resolver: [net:]host:[port][/path]. net could be empty (default, shortcut for tcp+udp), tcp+udp, tcp, udp, tcp-tls or https (DoH). If port is empty, default port will be used (53 for udp and tcp, 853 for tcp-tls, 443 for https (Doh)) - # this configuration is mandatory, please define at least one external DNS resolver - default: - # example for tcp+udp IPv4 server (https://digitalcourage.de/) - #- 5.9.164.112 - # Cloudflare - - 1.1.1.1 - # example for DNS-over-TLS server (DoT) - #- tcp-tls:fdns1.dismail.de:853 - # example for DNS-over-HTTPS (DoH) - #- https://dns.digitale-gesellschaft.ch/dns-query - # optional: use client name (with wildcard support: * - sequence of any characters, [0-9] - range) - # or single ip address / client subnet as CIDR notation - #laptop*: - #- 123.123.123.123 +# configuration documentation: https://0xerr0r.github.io/blocky/latest/configuration/ -# optional: timeout to query the upstream resolver. Default: 2s -#upstreamTimeout: 2s +upstreams: + groups: + # these external DNS resolvers will be used. Blocky picks 2 random resolvers from the list for each query + # format for resolver: [net:]host:[port][/path]. net could be empty (default, shortcut for tcp+udp), tcp+udp, tcp, udp, tcp-tls or https (DoH). If port is empty, default port will be used (53 for udp and tcp, 853 for tcp-tls, 443 for https (Doh)) + # this configuration is mandatory, please define at least one external DNS resolver + default: + # Cloudflare + - 1.1.1.1 + # Quad9 DNS-over-TLS server (DoT) + - tcp-tls:dns.quad9.net -# optional: If true, blocky will fail to start unless at least one upstream server per group is reachable. Default: false -#startVerifyUpstream: true - -# optional: Determines how blocky will create outgoing connections. This impacts both upstreams, and lists. -# accepted: dual, v4, v6 -# default: dual -#connectIPVersion: dual - -# optional: custom IP address(es) for domain name (with all sub-domains). Multiple addresses must be separated by a comma -# example: query "printer.lan" or "my.printer.lan" will return 192.168.178.3 -#customDNS: - #customTTL: 1h - # optional: if true (default), return empty result for unmapped query types (for example TXT, MX or AAAA if only IPv4 address is defined). - # if false, queries with unmapped types will be forwarded to the upstream resolver - #filterUnmappedTypes: true - # optional: replace domain in the query with other domain before resolver lookup in the mapping - #rewrite: - #example.com: printer.lan - #mapping: - #printer.lan: 192.168.178.3,2001:0db8:85a3:08d3:1319:8a2e:0370:7344 - -# optional: definition, which DNS resolver(s) should be used for queries to the domain (with all sub-domains). Multiple resolvers must be separated by a comma -# Example: Query client.fritz.box will ask DNS server 192.168.178.1. This is necessary for local network, to resolve clients by host name -#conditional: - # optional: if false (default), return empty result if after rewrite, the mapped resolver returned an empty answer. If true, the original query will be sent to the upstream resolver - # Example: The query "blog.example.com" will be rewritten to "blog.fritz.box" and also redirected to the resolver at 192.168.178.1. If not found and if was set to , the original query "blog.example.com" will be sent upstream. - # Usage: One usecase when having split DNS for internal and external (internet facing) users, but not all subdomains are listed in the internal domain. - #fallbackUpstream: false - # optional: replace domain in the query with other domain before resolver lookup in the mapping - #rewrite: - #example.com: fritz.box - #mapping: - #fritz.box: 192.168.178.1 - #lan.net: 192.168.178.1,192.168.178.2 - -# optional: use black and white lists to block queries (for example ads, trackers, adult pages etc.) +# optional: use allow/denylists to block queries (for example ads, trackers, adult pages etc.) blocking: - # definition of blacklist groups. Can be external link (http/https) or local file - blackLists: + # definition of denylist groups. Can be external link (http/https) or local file + denylists: ads: - - https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt - https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts - - http://sysctl.org/cameleon/hosts - - https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt - - | - # inline definition with YAML literal block scalar style - # hosts format - someadsdomain.com - special: - - https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts - # definition of whitelist groups. Attention: if the same group has black and whitelists, whitelists will be used to disable particular blacklist entries. If a group has only whitelist entries -> this means only domains from this list are allowed, all other domains will be blocked - whiteLists: - ads: - - whitelist.txt - - | - # inline definition with YAML literal block scalar style - # hosts format - whitelistdomain.com - # this is a regex - /^banners?[_.-]/ # definition: which groups should be applied for which client clientGroupsBlock: # default will be used, if no special definition for a client name exists default: - ads - - special - # use client name (with wildcard support: * - sequence of any characters, [0-9] - range) - # or single ip address / client subnet as CIDR notation - #laptop*: - #- ads - #192.168.178.1/24: - #- special - # which response will be sent, if query is blocked: - # zeroIp: 0.0.0.0 will be returned (default) - # nxDomain: return NXDOMAIN as return code - # comma separated list of destination IP addresses (for example: 192.100.100.15, 2001:0db8:85a3:08d3:1319:8a2e:0370:7344). Should contain ipv4 and ipv6 to cover all query types. Useful with running web server on this address to display the "blocked" page. - blockType: zeroIp - # optional: TTL for answers to blocked domains - # default: 6h - blockTTL: 1m - # optional: automatically list refresh period (in duration format). Default: 4h. - # Negative value -> deactivate automatically refresh. - # 0 value -> use default - refreshPeriod: 4h - # optional: timeout for list download (each url). Default: 60s. Use large values for big lists or slow internet connections - downloadTimeout: 4m - # optional: Download attempt timeout. Default: 60s - downloadAttempts: 5 - # optional: Time between the download attempts. Default: 1s - downloadCooldown: 10s - # optional: if failOnError, application startup will fail if at least one list can't be downloaded / opened. Default: blocking - #startStrategy: failOnError - -# optional: configuration for caching of DNS responses -caching: - # duration how long a response must be cached (min value). - # If <=0, use response's TTL, if >0 use this value, if TTL is smaller - # Default: 0 - minTime: 5m - # duration how long a response must be cached (max value). - # If <0, do not cache responses - # If 0, use TTL - # If > 0, use this value, if TTL is greater - # Default: 0 - maxTime: 30m - # Max number of cache entries (responses) to be kept in cache (soft limit). Useful on systems with limited amount of RAM. - # Default (0): unlimited - maxItemsCount: 0 - # if true, will preload DNS results for often used queries (default: names queried more than 5 times in a 2-hour time window) - # this improves the response time for often used queries, but significantly increases external traffic - # default: false - prefetching: true - # prefetch track time window (in duration format) - # default: 120 - prefetchExpires: 2h - # name queries threshold for prefetch - # default: 5 - prefetchThreshold: 5 - # Max number of domains to be kept in cache for prefetching (soft limit). Useful on systems with limited amount of RAM. - # Default (0): unlimited - #prefetchMaxItemsCount: 0 - -# optional: configuration of client name resolution -clientLookup: - # optional: this DNS resolver will be used to perform reverse DNS lookup (typically local router) - #upstream: 192.168.178.1 - # optional: some routers return multiple names for client (host name and user defined name). Define which single name should be used. - # Example: take second name if present, if not take first name - #singleNameOrder: - #- 2 - #- 1 - # optional: custom mapping of client name to IP addresses. Useful if reverse DNS does not work properly or just to have custom client names. - #clients: - #laptop: - #- 192.168.178.29 -# optional: configuration for prometheus metrics endpoint -prometheus: - # enabled if true - #enable: true - # url path, optional (default '/metrics') - #path: /metrics # optional: write query information (question, answer, client, duration etc.) to daily csv file queryLog: # optional one of: mysql, postgresql, csv, csv-client. If empty, log to console - #type: mysql - # directory (should be mounted as volume in docker) for csv, db connection string for mysql/postgresql - #target: db_user:db_password@tcp(db_host_or_ip:3306)/db_name?charset=utf8mb4&parseTime=True&loc=Local - #postgresql target: postgres://user:password@db_host_or_ip:5432/db_name - # if > 0, deletes log files which are older than ... days - #logRetentionDays: 7 - # optional: Max attempts to create specific query log writer, default: 3 - #creationAttempts: 1 - # optional: Time between the creation attempts, default: 2s - #creationCooldown: 2s + type: -# optional: Blocky can synchronize its cache and blocking state between multiple instances through redis. -redis: - # Server address and port - #address: redis:6379 - # Password if necessary - #password: passwd - # Database, default: 0 - #database: 2 - # Connection is required for blocky to start. Default: false - #required: true - # Max connection attempts, default: 3 - #connectionAttempts: 10 - # Time between the connection attempts, default: 1s - #connectionCooldown: 3s +# optional: use these DNS servers to resolve denylist urls and upstream DNS servers. It is useful if no system DNS resolver is configured, and/or to encrypt the bootstrap queries. +bootstrapDns: + - upstream: tcp-tls:one.one.one.one + ips: + - 1.1.1.1 -# optional: DNS listener port(s) and bind ip address(es), default 53 (UDP and TCP). Example: 53, :53, "127.0.0.1:5353,[::1]:5353" -port: 553 -# optional: Port(s) and bind ip address(es) for DoT (DNS-over-TLS) listener. Example: 853, 127.0.0.1:853 -#tlsPort: 853 -# optional: HTTPS listener port(s) and bind ip address(es), default empty = no http listener. If > 0, will be used for prometheus metrics, pprof, REST API, DoH... Example: 443, :443, 127.0.0.1:443 -#httpPort: 4000 -#httpsPort: 443 -# optional: Mininal TLS version that the DoH and DoT server will use -#minTlsServeVersion: 1.3 -# if https port > 0: path to cert and key file for SSL encryption. if not set, self-signed certificate will be generated -#certFile: server.crt -#keyFile: server.key -# optional: use this DNS server to resolve blacklist urls and upstream DNS servers. Useful if no DNS resolver is configured and blocky needs to resolve a host name. Format net:IP:port, net must be udp or tcp -#bootstrapDns: tcp+udp:1.1.1.1 - -filtering: -# optional: drop all queries with following query types. Default: empty - #queryTypes: - #- AAAA - -# optional: if path defined, use this file for query resolution (A, AAAA and rDNS). Default: empty -hostsFile: - # optional: Path to hosts file (e.g. /etc/hosts on Linux) - #filePath: /etc/hosts - # optional: TTL, default: 1h - #hostsTTL: 60m - # optional: Time between hosts file refresh, default: 1h - #refreshPeriod: 30m - # optional: Whether loopback hosts addresses (127.0.0.0/8 and ::1) should be filtered or not, default: false - #filterLoopback: true -# optional: Log level (one from debug, info, warn, error). Default: info -#logLevel: info -# optional: Log format (text or json). Default: text -#logFormat: text -# optional: log timestamps. Default: true -#logTimestamp: true -# optional: obfuscate log output (replace all alphanumeric characters with *) for user sensitive data like request domains or responses to increase privacy. Default: false -#logPrivacy: false - -# optional: add EDE error codes to dns response -#ede: - # enabled if true, Default: false - #enable: true +# optional: logging configuration +log: + # optional: Log level (one from trace, debug, info, warn, error). Default: info + level: info EOF msg_ok "Installed Blocky" diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index 129ed71eb..3d648742f 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/bunkerweb-install.sh b/install/bunkerweb-install.sh index ca569ba99..3ed4797fd 100644 --- a/install/bunkerweb-install.sh +++ b/install/bunkerweb-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/caddy-install.sh b/install/caddy-install.sh index b435449c1..56a8fbd81 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/calibre-web-install.sh b/install/calibre-web-install.sh index f51714a73..1cff7bf08 100644 --- a/install/calibre-web-install.sh +++ b/install/calibre-web-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: remz1337 # License: MIT diff --git a/install/casaos-install.sh b/install/casaos-install.sh index 23e8d2895..99136ee9b 100644 --- a/install/casaos-install.sh +++ b/install/casaos-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/changedetection-install.sh b/install/changedetection-install.sh index 2eee9ec43..99aa077c7 100644 --- a/install/changedetection-install.sh +++ b/install/changedetection-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/channels-install.sh b/install/channels-install.sh index 1ee8b6bf3..f4b545204 100644 --- a/install/channels-install.sh +++ b/install/channels-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/checkmk-install.sh b/install/checkmk-install.sh index a802bfc34..892c057da 100644 --- a/install/checkmk-install.sh +++ b/install/checkmk-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -#Copyright (c) 2021-2024 community-scripts ORG +#Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/cloudflared-install.sh b/install/cloudflared-install.sh index 0b0d9f7f3..f0f5c925d 100644 --- a/install/cloudflared-install.sh +++ b/install/cloudflared-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/cockpit-install.sh b/install/cockpit-install.sh index 126943e79..c444f7fa8 100644 --- a/install/cockpit-install.sh +++ b/install/cockpit-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: havardthom # License: MIT diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index 6beb62813..78fd051ca 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/cronicle-install.sh b/install/cronicle-install.sh index ab87f7852..56148456a 100644 --- a/install/cronicle-install.sh +++ b/install/cronicle-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/daemonsync-install.sh b/install/daemonsync-install.sh index f773bc0c8..20febdb17 100644 --- a/install/daemonsync-install.sh +++ b/install/daemonsync-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/dashy-install.sh b/install/dashy-install.sh index cfad57bf7..fb41a6758 100644 --- a/install/dashy-install.sh +++ b/install/dashy-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/debian-install.sh b/install/debian-install.sh index 3feb1f7f1..209714516 100644 --- a/install/debian-install.sh +++ b/install/debian-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/deconz-install.sh b/install/deconz-install.sh index 5d6b11592..0ee44eec6 100644 --- a/install/deconz-install.sh +++ b/install/deconz-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/deluge-install.sh b/install/deluge-install.sh index 6ff3f1c26..5a83ccb6e 100644 --- a/install/deluge-install.sh +++ b/install/deluge-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/docker-install.sh b/install/docker-install.sh index b22e14868..7e7708888 100644 --- a/install/docker-install.sh +++ b/install/docker-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/dockge-install.sh b/install/dockge-install.sh index 8d9a211de..f25d671ec 100644 --- a/install/dockge-install.sh +++ b/install/dockge-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/emby-install.sh b/install/emby-install.sh index 2e3cdc130..153d19ac5 100644 --- a/install/emby-install.sh +++ b/install/emby-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/emqx-install.sh b/install/emqx-install.sh index 85b7e41bb..1818b9b92 100644 --- a/install/emqx-install.sh +++ b/install/emqx-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index ffaee5469..8e0a7389f 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/esphome-install.sh b/install/esphome-install.sh index 708f32da8..91295ed83 100644 --- a/install/esphome-install.sh +++ b/install/esphome-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/evcc-install.sh b/install/evcc-install.sh index 764cdf4ec..f0861c925 100644 --- a/install/evcc-install.sh +++ b/install/evcc-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/fenrus-install.sh b/install/fenrus-install.sh index 60d358f47..2ccd0e689 100644 --- a/install/fenrus-install.sh +++ b/install/fenrus-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: Scorpoon # License: MIT diff --git a/install/fhem-install.sh b/install/fhem-install.sh index b9e53d26f..4188cff44 100644 --- a/install/fhem-install.sh +++ b/install/fhem-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/firefly-install.sh b/install/firefly-install.sh new file mode 100644 index 000000000..17b5623de --- /dev/null +++ b/install/firefly-install.sh @@ -0,0 +1,101 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: quantumryuu +# License: MIT +# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + curl \ + mc \ + sudo +curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg +echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list +$STD apt-get update +$STD apt-get install -y \ + apache2 \ + libapache2-mod-php8.4 \ + php8.4-{bcmath,cli,intl,curl,zip,gd,xml,mbstring,mysql} \ + mariadb-server \ + composer +msg_ok "Installed Dependencies" + +msg_info "Setting up database" +DB_NAME=firefly +DB_USER=firefly +DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +MYSQL_VERSION=$(mysql --version | grep -oP 'Distrib \K[0-9]+\.[0-9]+\.[0-9]+') +mysql -u root -e "CREATE DATABASE $DB_NAME;" +mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');" +mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +{ + echo "Firefly-Credentials" + echo "Firefly Database User: $DB_USER" + echo "Firefly Database Password: $DB_PASS" + echo "Firefly Database Name: $DB_NAME" +} >> ~/firefly.creds +msg_ok "Set up database" + +msg_info "Installing Firefly III (Patience)" +RELEASE=$(curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') +cd /opt +wget -q "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" +mkdir -p /opt/firefly +tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly +chown -R www-data:www-data /opt/firefly +chmod -R 775 /opt/firefly/storage +cd /opt/firefly +cp .env.example .env +sed -i "s/DB_HOST=.*/DB_HOST=localhost/" /opt/firefly/.env +sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=$DB_PASS/" /opt/firefly/.env +echo "export COMPOSER_ALLOW_SUPERUSER=1" >> ~/.bashrc +source ~/.bashrc +$STD composer install --no-dev --no-plugins --no-interaction +$STD php artisan firefly:upgrade-database +$STD php artisan firefly:correct-database +$STD php artisan firefly:report-integrity +$STD php artisan firefly:laravel-passport-keys +echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" +msg_ok "Installed Firefly III" + +msg_info "Creating Service" +cat </etc/apache2/sites-available/firefly.conf + + ServerAdmin webmaster@localhost + DocumentRoot /opt/firefly/public/ + + + Options FollowSymLinks + AllowOverride All + Require all granted + + + ErrorLog /var/log/apache2/error.log + CustomLog /var/log/apache2/access.log combined + + +EOF +$STD a2enmod php8.4 +$STD a2enmod rewrite +$STD a2ensite firefly.conf +$STD a2dissite 000-default.conf +$STD systemctl reload apache2 +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -rf /opt/FireflyIII-v${RELEASE}.tar.gz +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" diff --git a/install/flaresolverr-install.sh b/install/flaresolverr-install.sh index cc09e46cd..a9e57590b 100644 --- a/install/flaresolverr-install.sh +++ b/install/flaresolverr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: remz1337 # License: MIT diff --git a/install/flowiseai-install.sh b/install/flowiseai-install.sh index 84326e494..a2932e949 100644 --- a/install/flowiseai-install.sh +++ b/install/flowiseai-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/forgejo-install.sh b/install/forgejo-install.sh index 7cacfb40b..2da47a055 100644 --- a/install/forgejo-install.sh +++ b/install/forgejo-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/frigate-install.sh b/install/frigate-install.sh index 649e5ffae..c42814e57 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: remz1337 # License: MIT @@ -15,7 +15,7 @@ network_check update_os msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y {curl,sudo,mc,git,gpg,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq,moreutils} +$STD apt-get install -y {curl,sudo,mc,git,gpg,ca-certificates,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq,moreutils} msg_ok "Installed Dependencies" msg_info "Installing Python3 Dependencies" diff --git a/install/gitea-install.sh b/install/gitea-install.sh index 66f6a2119..17cd4adc0 100644 --- a/install/gitea-install.sh +++ b/install/gitea-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-author: Rogue-King # License: MIT diff --git a/install/glance-install.sh b/install/glance-install.sh index 8f3579815..c30bfaf63 100644 --- a/install/glance-install.sh +++ b/install/glance-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/glpi-install.sh b/install/glpi-install.sh new file mode 100644 index 000000000..61fc6f29a --- /dev/null +++ b/install/glpi-install.sh @@ -0,0 +1,151 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: NΓ­colas Pastorello (opastorello) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + curl \ + git \ + sudo \ + mc \ + apache2 \ + php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \ + php-cas \ + libapache2-mod-php \ + mariadb-server +msg_ok "Installed Dependencies" + +msg_info "Setting up database" +DB_NAME=glpi_db +DB_USER=glpi +DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql +mysql -u root -e "CREATE DATABASE $DB_NAME;" +mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" +mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';" +mysql -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" +{ + echo "GLPI Database Credentials" + echo "Database: $DB_NAME" + echo "Username: $DB_USER" + echo "Password: $DB_PASS" +} >> ~/glpi_db.creds +msg_ok "Set up database" + +msg_info "Installing GLPi" +cd /opt +RELEASE=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') +wget -q "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" +$STD tar -xzvf glpi-${RELEASE}.tgz +cd /opt/glpi +$STD php bin/console db:install --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASS --no-interaction +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +msg_ok "Installed GLPi" + +msg_info "Setting Downstream file" +cat < /opt/glpi/inc/downstream.php + /etc/glpi/local_define.php +/etc/apache2/sites-available/glpi.conf + + ServerName localhost + DocumentRoot /opt/glpi/public + + + Require all granted + RewriteEngine On + RewriteCond %{HTTP:Authorization} ^(.+)$ + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^(.*)$ index.php [QSA,L] + + + ErrorLog \${APACHE_LOG_DIR}/glpi_error.log + CustomLog \${APACHE_LOG_DIR}/glpi_access.log combined + +EOF +$STD a2dissite 000-default.conf +$STD a2enmod rewrite +$STD a2ensite glpi.conf +msg_ok "Setup Service" + +msg_info "Setup Cronjob" +echo "* * * * * php /opt/glpi/front/cron.php" | crontab - +msg_ok "Setup Cronjob" + +msg_info "Update PHP Params" +PHP_VERSION=$(ls /etc/php/ | grep -E '^[0-9]+\.[0-9]+$' | head -n 1) +PHP_INI="/etc/php/$PHP_VERSION/apache2/php.ini" +sed -i 's/^upload_max_filesize = .*/upload_max_filesize = 20M/' $PHP_INI +sed -i 's/^post_max_size = .*/post_max_size = 20M/' $PHP_INI +sed -i 's/^max_execution_time = .*/max_execution_time = 60/' $PHP_INI +sed -i 's/^max_input_vars = .*/max_input_vars = 5000/' $PHP_INI +sed -i 's/^memory_limit = .*/memory_limit = 256M/' $PHP_INI +sed -i 's/^;\?\s*session.cookie_httponly\s*=.*/session.cookie_httponly = On/' $PHP_INI +systemctl restart apache2 +msg_ok "Update PHP Params" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -rf /opt/glpi/install +rm -rf /opt/glpi-${RELEASE}.tgz +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index 43c0aa741..babf59131 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index 78be6810a..e25b6840d 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/gotify-install.sh b/install/gotify-install.sh index acff502e1..67f8472d1 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/grafana-install.sh b/install/grafana-install.sh index c6e656caf..2a4fc3e2e 100644 --- a/install/grafana-install.sh +++ b/install/grafana-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/grist-install.sh b/install/grist-install.sh index 868c93ac5..30786777d 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: cfurrow # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/grocy-install.sh b/install/grocy-install.sh index 35b5365dc..63bee18be 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/headscale-install.sh b/install/headscale-install.sh index c4ffaf409..c1464f45c 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/heimdall-dashboard-install.sh b/install/heimdall-dashboard-install.sh index ee5083425..0cb03c2b2 100644 --- a/install/heimdall-dashboard-install.sh +++ b/install/heimdall-dashboard-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index 7d225567a..42c0d4aa8 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/hoarder-install.sh b/install/hoarder-install.sh index 0c37b69c2..4b56b0761 100644 --- a/install/hoarder-install.sh +++ b/install/hoarder-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) & vhsdream # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/homarr-install.sh b/install/homarr-install.sh index fe138d402..410ba8aeb 100644 --- a/install/homarr-install.sh +++ b/install/homarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: MickLesk (Canbiz) # License: MIT @@ -16,11 +16,15 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y curl -$STD apt-get install -y sudo -$STD apt-get install -y mc -$STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg +$STD apt-get install -y \ + sudo \ + mc \ + curl \ + ca-certificates \ + gnupg \ + make \ + g++ \ + build-essential msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" diff --git a/install/homeassistant-core-install.sh b/install/homeassistant-core-install.sh index 3c794b32f..e5cca6873 100644 --- a/install/homeassistant-core-install.sh +++ b/install/homeassistant-core-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,9 +14,49 @@ network_check update_os msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y git curl sudo mc bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libturbojpeg0-dev ffmpeg liblapack3 liblapack-dev dbus-broker libpcap-dev libavdevice-dev libavformat-dev libavcodec-dev libavutil-dev libavfilter-dev libmariadb-dev-compat libatlas-base-dev pip python3.12-dev +$STD apt-get install -y \ + curl \ + git \ + sudo \ + mc \ + gnupg \ + ca-certificates \ + bluez \ + libtiff6 \ + tzdata \ + libffi-dev \ + libssl-dev \ + libjpeg-dev \ + zlib1g-dev \ + autoconf \ + build-essential \ + libopenjp2-7 \ + libturbojpeg0-dev \ + ffmpeg \ + liblapack3 \ + liblapack-dev \ + dbus-broker \ + libpcap-dev \ + libavdevice-dev \ + libavformat-dev \ + libavcodec-dev \ + libavutil-dev \ + libavfilter-dev \ + libmariadb-dev-compat \ + libatlas-base-dev \ + software-properties-common msg_ok "Installed Dependencies" +msg_info "Setup Python3" +$STD add-apt-repository -y ppa:deadsnakes/ppa +$STD apt-get update +$STD apt-get install -y \ + python3.13-* \ + python3-pip \ + python3.13-dev \ + python3.13-venv +msg_ok "Setup Python3" + msg_info "Installing UV" $STD pip install uv msg_ok "Installed UV" diff --git a/install/homeassistant-install.sh b/install/homeassistant-install.sh index 9d1ce31b2..e0cfd3e17 100644 --- a/install/homeassistant-install.sh +++ b/install/homeassistant-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/homebox-install.sh b/install/homebox-install.sh index 6548e7607..2f6ab1da8 100644 --- a/install/homebox-install.sh +++ b/install/homebox-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/homebridge-install.sh b/install/homebridge-install.sh index 890128184..72b7242f4 100644 --- a/install/homebridge-install.sh +++ b/install/homebridge-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/homepage-install.sh b/install/homepage-install.sh index 906e524a0..21064860d 100644 --- a/install/homepage-install.sh +++ b/install/homepage-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -43,8 +43,9 @@ rm -rf homepage-${RELEASE} cd /opt/homepage cp /opt/homepage/src/skeleton/* /opt/homepage/config $STD pnpm install -$STD export NEXT_PUBLIC_VERSION=v$RELEASE -$STD export NEXT_PUBLIC_REVISION='source' $STD pnpm build +export NEXT_PUBLIC_VERSION="v$RELEASE" +export NEXT_PUBLIC_REVISION="source" +$STD pnpm build echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Homepage v${RELEASE}" diff --git a/install/homer-install.sh b/install/homer-install.sh index 594860d73..02da0cae8 100644 --- a/install/homer-install.sh +++ b/install/homer-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/hyperhdr-install.sh b/install/hyperhdr-install.sh index 122838945..fa72c6b5c 100644 --- a/install/hyperhdr-install.sh +++ b/install/hyperhdr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/hyperion-install.sh b/install/hyperion-install.sh index f967e414b..d6feebc34 100644 --- a/install/hyperion-install.sh +++ b/install/hyperion-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/influxdb-install.sh b/install/influxdb-install.sh index a15de6f58..6c0905b60 100644 --- a/install/influxdb-install.sh +++ b/install/influxdb-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/inspircd-install.sh b/install/inspircd-install.sh index 512463cf7..33cd9f51b 100644 --- a/install/inspircd-install.sh +++ b/install/inspircd-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/iobroker-install.sh b/install/iobroker-install.sh index 9f2612c9e..057471185 100644 --- a/install/iobroker-install.sh +++ b/install/iobroker-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/iventoy-install.sh b/install/iventoy-install.sh index 586e588b6..681a5647c 100644 --- a/install/iventoy-install.sh +++ b/install/iventoy-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/jackett-install.sh b/install/jackett-install.sh index 1f2f5d05b..fe33d1e9f 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/jellyfin-install.sh b/install/jellyfin-install.sh index d2a04a47e..3f3f1a612 100644 --- a/install/jellyfin-install.sh +++ b/install/jellyfin-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/jellyseerr-install.sh b/install/jellyseerr-install.sh index fe39f0944..535d374f1 100644 --- a/install/jellyseerr-install.sh +++ b/install/jellyseerr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/jenkins-install.sh b/install/jenkins-install.sh index 9283fb7ac..3226a4ca6 100644 --- a/install/jenkins-install.sh +++ b/install/jenkins-install.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/kavita-install.sh b/install/kavita-install.sh index daf513376..22991cacc 100644 --- a/install/kavita-install.sh +++ b/install/kavita-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/keycloak-install.sh b/install/keycloak-install.sh index ba9a0ec96..4ed59b2c4 100644 --- a/install/keycloak-install.sh +++ b/install/keycloak-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/kimai-install.sh b/install/kimai-install.sh index a86637fed..ee2aa947c 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk # License: MIT # https://github.com/tteck/Proxmox/raw/main/LICENSE @@ -56,11 +56,11 @@ $STD composer install --no-dev --optimize-autoloader --no-interaction cp .env.dist .env sed -i "/^DATABASE_URL=/c\DATABASE_URL=mysql://$DB_USER:$DB_PASS@127.0.0.1:3306/$DB_NAME?charset=utf8mb4&serverVersion=$MYSQL_VERSION" /opt/kimai/.env $STD bin/console kimai:install -n -chown -R :www-data /opt/kimai -chmod -R g+r /opt/kimai -chmod -R g+rw /opt/kimai -sudo chown -R www-data:www-data /opt/kimai -sudo chmod -R 755 /opt/kimai +chown -R :www-data /opt/* +chmod -R g+r /opt/* +chmod -R g+rw /opt/* +sudo chown -R www-data:www-data /opt/* +sudo chmod -R 755 /opt/* $STD expect < /dev/null +$STD apt-get update +msg_ok "Setup Docker Repository" + +msg_info "Installing Docker" +$STD apt-get install -y \ + docker-ce \ + docker-ce-cli \ + containerd.io \ + docker-buildx-plugin \ + docker-compose-plugin +msg_ok "Installed Docker" + +echo "Choose the database for Komodo installation:" +echo "1) MongoDB (recommended)" +echo "2) SQLite" +echo "3) PostgreSQL" +read -rp "Enter your choice (default: 1): " DB_CHOICE +DB_CHOICE=${DB_CHOICE:-1} + +case $DB_CHOICE in + 1) + DB_COMPOSE_FILE="mongo.compose.yaml" + ;; + 2) + DB_COMPOSE_FILE="sqlite.compose.yaml" + ;; + 3) + DB_COMPOSE_FILE="postgres.compose.yaml" + ;; + *) + echo "Invalid choice. Defaulting to MongoDB." + DB_COMPOSE_FILE="mongo.compose.yaml" + ;; +esac +mkdir -p /opt/komodo +cd /opt/komodo +wget -q "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE" + + +msg_info "Setup Komodo Environment" +wget -q -O /opt/komodo/compose.env https://raw.githubusercontent.com/mbecker20/komodo/main/compose/compose.env +DB_PASSWORD=$(openssl rand -base64 16 | tr -d '/+=') +PASSKEY=$(openssl rand -base64 24 | tr -d '/+=') +WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=') +JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=') + +sed -i "s/^DB_USERNAME=.*/DB_USERNAME=komodo_admin/" /opt/komodo/compose.env +sed -i "s/^DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/" /opt/komodo/compose.env +sed -i "s/^PASSKEY=.*/PASSKEY=${PASSKEY}/" /opt/komodo/compose.env +sed -i "s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET}/" /opt/komodo/compose.env +sed -i "s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" /opt/komodo/compose.env +msg_ok "Setup Komodo Environment" + +msg_info "Initialize Komodo" +$STD docker compose -p komodo -f /opt/komodo/$DB_COMPOSE_FILE --env-file /opt/komodo/compose.env up -d +msg_ok "Initialized Komodo" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" diff --git a/install/kubo-install.sh b/install/kubo-install.sh index 5dbc65c4f..8e1212544 100644 --- a/install/kubo-install.sh +++ b/install/kubo-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: ulmentflam # License: MIT diff --git a/install/lazylibrarian-install.sh b/install/lazylibrarian-install.sh index 271dc41af..dd00bab99 100644 --- a/install/lazylibrarian-install.sh +++ b/install/lazylibrarian-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MountyMapleSyrup (MountyMapleSyrup) # License: MIT @@ -15,15 +15,21 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y curl -$STD apt-get install -y sudo -$STD apt-get install -y mc -$STD apt-get install -y git +$STD apt-get install -y \ + curl \ + sudo \ + mc \ + git \ + libpng-dev \ + libjpeg-dev \ + libtiff-dev \ + imagemagick msg_ok "Installed Dependencies" msg_info "Installing Python3 Dependencies" -$STD apt-get install -y pip -$STD apt-get install -y python3-irc +$STD apt-get install -y \ + pip \ + python3-irc $STD pip install jaraco.stream $STD pip install python-Levenshtein $STD pip install soupsieve @@ -31,6 +37,8 @@ msg_ok "Installed Python3 Dependencies" msg_info "Installing LazyLibrarian" $STD git clone https://gitlab.com/LazyLibrarian/LazyLibrarian /opt/LazyLibrarian +cd /opt/LazyLibrarian +$STD pip install . msg_ok "Installed LazyLibrarian" msg_info "Creating Service" diff --git a/install/lidarr-install.sh b/install/lidarr-install.sh index 310135e47..e1e4233ba 100644 --- a/install/lidarr-install.sh +++ b/install/lidarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index ba7068146..534a69caf 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/listmonk-install.sh b/install/listmonk-install.sh index 18b8eaeb8..b6688356c 100644 --- a/install/listmonk-install.sh +++ b/install/listmonk-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: bvdberg01 # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/lldap-install.sh b/install/lldap-install.sh index 8def2e23a..303a302c9 100644 --- a/install/lldap-install.sh +++ b/install/lldap-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: remz1337 # License: MIT diff --git a/install/lubelogger-install.sh b/install/lubelogger-install.sh index f9bf887d7..f22f740e5 100644 --- a/install/lubelogger-install.sh +++ b/install/lubelogger-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/mafl-install.sh b/install/mafl-install.sh index 51ac1e106..a8a63cf33 100644 --- a/install/mafl-install.sh +++ b/install/mafl-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/magicmirror-install.sh b/install/magicmirror-install.sh index 7c884ab41..999ab8488 100644 --- a/install/magicmirror-install.sh +++ b/install/magicmirror-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index d5ad1c4be..189003c4b 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/matterbridge-install.sh b/install/matterbridge-install.sh index 99e609af8..8a81cc7c8 100644 --- a/install/matterbridge-install.sh +++ b/install/matterbridge-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/mediamtx-install.sh b/install/mediamtx-install.sh index db6dc3fbd..85d49d9da 100644 --- a/install/mediamtx-install.sh +++ b/install/mediamtx-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/medusa-install.sh b/install/medusa-install.sh index 924b496f9..a1fe8d381 100644 --- a/install/medusa-install.sh +++ b/install/medusa-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/memos-install.sh b/install/memos-install.sh index f7c72e153..05e95f404 100644 --- a/install/memos-install.sh +++ b/install/memos-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/meshcentral-install.sh b/install/meshcentral-install.sh index b0dc2c756..0735f1a0e 100644 --- a/install/meshcentral-install.sh +++ b/install/meshcentral-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/metube-install.sh b/install/metube-install.sh index 208c35af9..735c890df 100644 --- a/install/metube-install.sh +++ b/install/metube-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/mongodb-install.sh b/install/mongodb-install.sh index 30553ff09..ce525fc36 100644 --- a/install/mongodb-install.sh +++ b/install/mongodb-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/motioneye-install.sh b/install/motioneye-install.sh index 2f9150951..71d0c8215 100644 --- a/install/motioneye-install.sh +++ b/install/motioneye-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/mqtt-install.sh b/install/mqtt-install.sh index 1c87cf9ef..6cbeaf6bf 100644 --- a/install/mqtt-install.sh +++ b/install/mqtt-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/mylar3-install.sh b/install/mylar3-install.sh index eebb3b52d..ac0033ff3 100644 --- a/install/mylar3-install.sh +++ b/install/mylar3-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: davalanche # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index e0596490f..443f8aa83 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/mysql-install.sh b/install/mysql-install.sh index c8d12b88f..cfade74e1 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/n8n-install.sh b/install/n8n-install.sh index 059a0726f..ef04b5383 100644 --- a/install/n8n-install.sh +++ b/install/n8n-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/navidrome-install.sh b/install/navidrome-install.sh index 2bf37bcbf..1cb0277b8 100644 --- a/install/navidrome-install.sh +++ b/install/navidrome-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/neo4j-install.sh b/install/neo4j-install.sh index fdd22cf0c..1de663abc 100644 --- a/install/neo4j-install.sh +++ b/install/neo4j-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: havardthom # License: MIT diff --git a/install/netbox-install.sh b/install/netbox-install.sh index 81a718322..95eaf20fb 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: bvdberg01 # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/nextcloudpi-install.sh b/install/nextcloudpi-install.sh index 1cf277eaa..327434b95 100644 --- a/install/nextcloudpi-install.sh +++ b/install/nextcloudpi-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/nextpvr-install.sh b/install/nextpvr-install.sh index 7fba6c2a9..b8a6cdaea 100644 --- a/install/nextpvr-install.sh +++ b/install/nextpvr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 communtiy-scripts ORG +# Copyright (c) 2021-2025 communtiy-scripts ORG # Author: MickLesk (Canbiz) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/nginxproxymanager-install.sh b/install/nginxproxymanager-install.sh index 27639f1af..87664fb9e 100644 --- a/install/nginxproxymanager-install.sh +++ b/install/nginxproxymanager-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/nocodb-install.sh b/install/nocodb-install.sh index 64a2c05d2..c0da18949 100644 --- a/install/nocodb-install.sh +++ b/install/nocodb-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/node-red-install.sh b/install/node-red-install.sh index 01e3862ab..06a706e8f 100644 --- a/install/node-red-install.sh +++ b/install/node-red-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/notifiarr-install.sh b/install/notifiarr-install.sh index 2790f5442..3e2bd1ec8 100644 --- a/install/notifiarr-install.sh +++ b/install/notifiarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/ntfy-install.sh b/install/ntfy-install.sh index f05c4c84f..cc93fc73e 100644 --- a/install/ntfy-install.sh +++ b/install/ntfy-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/nzbget-install.sh b/install/nzbget-install.sh index ef548922a..ee63eab04 100644 --- a/install/nzbget-install.sh +++ b/install/nzbget-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: havardthom # License: MIT diff --git a/install/octoprint-install.sh b/install/octoprint-install.sh index a1c5c5ee8..d1091ac9b 100644 --- a/install/octoprint-install.sh +++ b/install/octoprint-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/ollama-install.sh b/install/ollama-install.sh index 95e2803a6..a43d124dd 100644 --- a/install/ollama-install.sh +++ b/install/ollama-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: havardthom # License: MIT diff --git a/install/omada-install.sh b/install/omada-install.sh index e29372fc8..c8de262ea 100644 --- a/install/omada-install.sh +++ b/install/omada-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,9 +38,7 @@ wget -qL https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/3.6/multiv $STD dpkg -i mongodb-org-server_3.6.23_amd64.deb msg_ok "Installed MongoDB" -latest_url=$(curl -s "https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" | \ -grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | \ -head -n 1) +latest_url=$(curl -s "https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n 1) latest_version=$(basename "$latest_url") msg_info "Installing Omada Controller" diff --git a/install/ombi-install.sh b/install/ombi-install.sh index 86d869f45..696795ada 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/omv-install.sh b/install/omv-install.sh index f89007f16..c0d670192 100644 --- a/install/omv-install.sh +++ b/install/omv-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/onedev-install.sh b/install/onedev-install.sh index 432b45af6..86d74e5ca 100644 --- a/install/onedev-install.sh +++ b/install/onedev-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -19,7 +19,8 @@ $STD apt-get install -y \ mc \ sudo \ default-jdk \ - git + git \ + git-lfs msg_ok "Installed Dependencies" @@ -41,4 +42,4 @@ msg_info "Cleaning up" rm -rf /opt/onedev-latest.tar.gz $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" diff --git a/install/openhab-install.sh b/install/openhab-install.sh index f9c7dbd75..37c90316d 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/openobserve-install.sh b/install/openobserve-install.sh index a6b07b918..c64084ae5 100644 --- a/install/openobserve-install.sh +++ b/install/openobserve-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/openwebui-install.sh b/install/openwebui-install.sh index 16cf2ad91..11fa4aa67 100644 --- a/install/openwebui-install.sh +++ b/install/openwebui-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: havardthom # License: MIT diff --git a/install/overseerr-install.sh b/install/overseerr-install.sh index 3739eaea0..1bc15a83c 100644 --- a/install/overseerr-install.sh +++ b/install/overseerr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/owncast-install.sh b/install/owncast-install.sh index 69d2d3912..3ada3c8f6 100644 --- a/install/owncast-install.sh +++ b/install/owncast-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/pairdrop-install.sh b/install/pairdrop-install.sh index e8e52392d..46b799be0 100644 --- a/install/pairdrop-install.sh +++ b/install/pairdrop-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index 47b36b5e1..9e5259087 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/part-db-install.sh b/install/part-db-install.sh index 020d9e55a..1429649fd 100644 --- a/install/part-db-install.sh +++ b/install/part-db-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: bvdberg01 # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/pbs-install.sh b/install/pbs-install.sh index 3fdc090de..c14a2c123 100644 --- a/install/pbs-install.sh +++ b/install/pbs-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/peanut-install.sh b/install/peanut-install.sh index bba32d87a..745278e78 100644 --- a/install/peanut-install.sh +++ b/install/peanut-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: remz1337 # License: MIT diff --git a/install/petio-install.sh b/install/petio-install.sh index 0b2d403a2..13108368d 100644 --- a/install/petio-install.sh +++ b/install/petio-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/pf2etools-install.sh b/install/pf2etools-install.sh new file mode 100644 index 000000000..d7e7c3125 --- /dev/null +++ b/install/pf2etools-install.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: TheRealVira +# License: MIT +# Source: https://pf2etools.com/ + +# Import Functions und Setup +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + curl \ + mc \ + sudo \ + apache2 \ + gpg \ + ca-certificates \ + git +msg_ok "Installed Dependencies" + +msg_info "Setting up Node.js Repository" +mkdir -p /etc/apt/keyrings +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +msg_ok "Set up Node.js Repository" + +msg_info "Installing Node.js" +$STD apt-get update +$STD apt-get install -y nodejs +msg_ok "Installed Node.js" + +# Setup App +msg_info "Setup Pf2eTools" +cd /opt +RELEASE=$(curl -s https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +wget -q "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" +unzip -q "${RELEASE}.zip" +mv "Pf2eTools-${RELEASE:1}" /opt/Pf2eTools +cd /opt/Pf2eTools +$STD npm install +$STD npm run build +cd ~ +echo "${RELEASE}" >/opt/Pf2eTools_version.txt +msg_ok "Set up Pf2eTools" + +msg_info "Creating Service" +cat <> /etc/apache2/apache2.conf + + SetHandler server-status + Order deny,allow + Allow from all + +EOF +rm -rf /var/www/html +ln -s "/opt/Pf2eTools" /var/www/html +chown -R www-data: "/opt/Pf2eTools" +chmod -R 755 "/opt/Pf2eTools" +msg_ok "Created Service" + +# Cleanup +msg_info "Cleaning up" +rm -rf /opt/${RELEASE}.zip +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" + +motd_ssh +customize diff --git a/install/photoprism-install.sh b/install/photoprism-install.sh index c7cf1a9f0..b06e84139 100644 --- a/install/photoprism-install.sh +++ b/install/photoprism-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/pialert-install.sh b/install/pialert-install.sh index 119ae699e..8b48ea8e5 100644 --- a/install/pialert-install.sh +++ b/install/pialert-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/pihole-install.sh b/install/pihole-install.sh index d9f0a4139..e5a6f5819 100644 --- a/install/pihole-install.sh +++ b/install/pihole-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/pingvin-install.sh b/install/pingvin-install.sh index 6007b45bd..5478aab45 100644 --- a/install/pingvin-install.sh +++ b/install/pingvin-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/plex-install.sh b/install/plex-install.sh index 5dfa87272..f80bb887f 100644 --- a/install/plex-install.sh +++ b/install/plex-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/pocketbase-install.sh b/install/pocketbase-install.sh index c1fa1cfe7..d0efa7edc 100644 --- a/install/pocketbase-install.sh +++ b/install/pocketbase-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/podman-homeassistant-install.sh b/install/podman-homeassistant-install.sh index 77d9cf343..cff4b32b3 100644 --- a/install/podman-homeassistant-install.sh +++ b/install/podman-homeassistant-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/podman-install.sh b/install/podman-install.sh index 8cc75ecf4..2b496ba75 100644 --- a/install/podman-install.sh +++ b/install/podman-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/postgresql-install.sh b/install/postgresql-install.sh index 8897abbec..31eeec22e 100644 --- a/install/postgresql-install.sh +++ b/install/postgresql-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/prometheus-install.sh b/install/prometheus-install.sh index 032a9d8c7..94e0e273c 100644 --- a/install/prometheus-install.sh +++ b/install/prometheus-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -46,6 +46,7 @@ ExecStart=/usr/local/bin/prometheus \ --config.file=/etc/prometheus/prometheus.yml \ --storage.tsdb.path=/var/lib/prometheus/ \ --web.listen-address=0.0.0.0:9090 +ExecReload=/bin/kill -HUP \$MAINPID [Install] WantedBy=multi-user.target" >$service_path diff --git a/install/prowlarr-install.sh b/install/prowlarr-install.sh index 9b5d2d901..7eaf6f6d7 100644 --- a/install/prowlarr-install.sh +++ b/install/prowlarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/proxmox-datacenter-manager-install.sh b/install/proxmox-datacenter-manager-install.sh index 8cd86eddc..d9f7c8852 100644 --- a/install/proxmox-datacenter-manager-install.sh +++ b/install/proxmox-datacenter-manager-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: CrazyWolf13 # License: MIT # Source: Proxmox Server Solution GmbH diff --git a/install/qbittorrent-install.sh b/install/qbittorrent-install.sh index 19fed748a..8decce6a6 100644 --- a/install/qbittorrent-install.sh +++ b/install/qbittorrent-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/rabbitmq-install.sh b/install/rabbitmq-install.sh index 905186141..ac867583b 100644 --- a/install/rabbitmq-install.sh +++ b/install/rabbitmq-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/radarr-install.sh b/install/radarr-install.sh index d1d947456..93ae83455 100644 --- a/install/radarr-install.sh +++ b/install/radarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/rdtclient-install.sh b/install/rdtclient-install.sh index d48d08487..e952f0a8b 100644 --- a/install/rdtclient-install.sh +++ b/install/rdtclient-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/readarr-install.sh b/install/readarr-install.sh index 143d60e5e..79e88132c 100644 --- a/install/readarr-install.sh +++ b/install/readarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/readeck-install.sh b/install/readeck-install.sh index 9b74231c1..d60edf162 100644 --- a/install/readeck-install.sh +++ b/install/readeck-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/recyclarr-install.sh b/install/recyclarr-install.sh index 404298e00..ecc033511 100644 --- a/install/recyclarr-install.sh +++ b/install/recyclarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MrYadro # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/redis-install.sh b/install/redis-install.sh index 26ddec18d..c6cd900ae 100644 --- a/install/redis-install.sh +++ b/install/redis-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/rtsptoweb-install.sh b/install/rtsptoweb-install.sh index 8c4859346..5928cdec9 100644 --- a/install/rtsptoweb-install.sh +++ b/install/rtsptoweb-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/runtipi-install.sh b/install/runtipi-install.sh index e553daea1..26d6ed5f1 100644 --- a/install/runtipi-install.sh +++ b/install/runtipi-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/sabnzbd-install.sh b/install/sabnzbd-install.sh index 9f6e71b19..94a0a0aff 100644 --- a/install/sabnzbd-install.sh +++ b/install/sabnzbd-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/semaphore-install.sh b/install/semaphore-install.sh new file mode 100644 index 000000000..2294ca227 --- /dev/null +++ b/install/semaphore-install.sh @@ -0,0 +1,87 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: kristocopani +# License: MIT +# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + curl \ + mc \ + git \ + gpg \ + sudo + +wget -qO- "https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=get&search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367" | gpg --dearmour >/usr/share/keyrings/ansible-archive-keyring.gpg +cat </etc/apt/sources.list.d/ansible.list +deb [signed-by=/usr/share/keyrings/ansible-archive-keyring.gpg] http://ppa.launchpad.net/ansible/ansible/ubuntu jammy main +EOF +$STD apt update +$STD apt install -y ansible +msg_ok "Installed Dependencies" + +msg_info "Setup Semaphore" +RELEASE=$(curl -s https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +mkdir -p /opt/semaphore +cd /opt/semaphore +wget -q https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb +$STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb + +SEM_HASH=$(openssl rand -base64 32) +SEM_ENCRYPTION=$(openssl rand -base64 32) +SEM_KEY=$(openssl rand -base64 32) +SEM_PW=$(openssl rand -base64 12) +cat </opt/semaphore/config.json +{ + "bolt": { + "host": "/opt/semaphore/semaphore_db.bolt" + }, + "tmp_path": "/opt/semaphore/tmp", + "cookie_hash": "${SEM_HASH}", + "cookie_encryption": "${SEM_ENCRYPTION}", + "access_key_encryption": "${SEM_KEY}" +} +EOF + +$STD semaphore user add --admin --login admin --email admin@helper-scripts.com --name Administrator --password ${SEM_PW} --config /opt/semaphore/config.json +echo "${SEM_PW}" >~/semaphore.creds +echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" +msg_ok "Setup Semaphore" + +msg_info "Creating Service" +cat </etc/systemd/system/semaphore.service +[Unit] +Description=Semaphore UI +Documentation=https://docs.semaphoreui.com/ +Wants=network-online.target +After=network-online.target + +[Service] +ExecStart=/usr/bin/semaphore server --config /opt/semaphore/config.json +Restart=always +RestartSec=10s + +[Install] +WantedBy=multi-user.target +EOF + +systemctl enable --now -q semaphore.service +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -rf semaphore_${RELEASE}_linux_amd64.deb +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/sftpgo-install.sh b/install/sftpgo-install.sh index 9930904fc..bffec81cc 100644 --- a/install/sftpgo-install.sh +++ b/install/sftpgo-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/shinobi-install.sh b/install/shinobi-install.sh index ef5965d34..9d4c64fe4 100644 --- a/install/shinobi-install.sh +++ b/install/shinobi-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh index 7338acd5f..feaa59694 100644 --- a/install/silverbullet-install.sh +++ b/install/silverbullet-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Dominik Siebel (dsiebel) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/smokeping-install.sh b/install/smokeping-install.sh index 20af44935..5b97b7117 100644 --- a/install/smokeping-install.sh +++ b/install/smokeping-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/snipeit-install.sh b/install/snipeit-install.sh index f4fa32f47..e3c5e1b9a 100644 --- a/install/snipeit-install.sh +++ b/install/snipeit-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -#Copyright (c) 2021-2024 community-scripts ORG +#Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/sonarr-install.sh b/install/sonarr-install.sh index e7a6bf382..353f47a98 100644 --- a/install/sonarr-install.sh +++ b/install/sonarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index 5f5d118a7..38a53c16d 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/stirling-pdf-install.sh b/install/stirling-pdf-install.sh index 3e3733737..788cb757f 100644 --- a/install/stirling-pdf-install.sh +++ b/install/stirling-pdf-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/syncthing-install.sh b/install/syncthing-install.sh index 221ac563f..6f0458f30 100644 --- a/install/syncthing-install.sh +++ b/install/syncthing-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/tandoor-install.sh b/install/tandoor-install.sh index 459dd6b2e..779b14e94 100644 --- a/install/tandoor-install.sh +++ b/install/tandoor-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/tasmoadmin-install.sh b/install/tasmoadmin-install.sh index 680cc0843..f9eb9ad28 100644 --- a/install/tasmoadmin-install.sh +++ b/install/tasmoadmin-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/tautulli-install.sh b/install/tautulli-install.sh index 0ba446c4c..87bc14eeb 100644 --- a/install/tautulli-install.sh +++ b/install/tautulli-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/tdarr-install.sh b/install/tdarr-install.sh index 8447a6c4a..23303b30e 100644 --- a/install/tdarr-install.sh +++ b/install/tdarr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/technitiumdns-install.sh b/install/technitiumdns-install.sh index 8dc37ae1a..3567030bf 100644 --- a/install/technitiumdns-install.sh +++ b/install/technitiumdns-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/teddycloud-install.sh b/install/teddycloud-install.sh index 8f61b8925..1a4995000 100644 --- a/install/teddycloud-install.sh +++ b/install/teddycloud-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Dominik Siebel (dsiebel) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/the-lounge-install.sh b/install/the-lounge-install.sh index 7b2a9381e..81a656ec6 100644 --- a/install/the-lounge-install.sh +++ b/install/the-lounge-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/threadfin-install.sh b/install/threadfin-install.sh index a4c08e014..3c78983f2 100644 --- a/install/threadfin-install.sh +++ b/install/threadfin-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 26b05eb3e..e03c09d0a 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/traccar-install.sh b/install/traccar-install.sh index c6c65034c..ebed5a913 100644 --- a/install/traccar-install.sh +++ b/install/traccar-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/traefik-install.sh b/install/traefik-install.sh index 7c98163da..185c26834 100644 --- a/install/traefik-install.sh +++ b/install/traefik-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/transmission-install.sh b/install/transmission-install.sh index b2e9e152b..734a50d05 100644 --- a/install/transmission-install.sh +++ b/install/transmission-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/trilium-install.sh b/install/trilium-install.sh index e8c447915..e62695beb 100644 --- a/install/trilium-install.sh +++ b/install/trilium-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/typesense-install.sh b/install/typesense-install.sh new file mode 100644 index 000000000..897eda5c2 --- /dev/null +++ b/install/typesense-install.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: tlissak +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://typesense.org/ + +source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y \ + curl \ + mc \ + sudo +msg_ok "Installed Dependencies" + +msg_info "Installing TypeSense" +RELEASE=$(curl -s https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +cd /opt +wget -q https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb +$STD apt install -y /opt/typesense-server-${RELEASE}-amd64.deb +echo 'enable-cors = true' >> /etc/typesense/typesense-server.ini +echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" +msg_ok "Installed TypeSense" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -rf /opt/typesense-server-${RELEASE}-amd64.deb +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" diff --git a/install/ubuntu-install.sh b/install/ubuntu-install.sh index cb2010c51..7d58cdaae 100644 --- a/install/ubuntu-install.sh +++ b/install/ubuntu-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/umami-install.sh b/install/umami-install.sh index 28dc0687f..07b019984 100644 --- a/install/umami-install.sh +++ b/install/umami-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/umbrel-install.sh b/install/umbrel-install.sh index 519f1c7c6..d39d3762d 100644 --- a/install/umbrel-install.sh +++ b/install/umbrel-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/unbound-install.sh b/install/unbound-install.sh index 198670224..39cde037e 100644 --- a/install/unbound-install.sh +++ b/install/unbound-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: wimb0 # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/unifi-install.sh b/install/unifi-install.sh index d1d2e872b..08af10cb9 100644 --- a/install/unifi-install.sh +++ b/install/unifi-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/unmanic-install.sh b/install/unmanic-install.sh index 8034abc7b..8c90ea432 100644 --- a/install/unmanic-install.sh +++ b/install/unmanic-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/uptimekuma-install.sh b/install/uptimekuma-install.sh index 5571166d6..f6e79a68d 100644 --- a/install/uptimekuma-install.sh +++ b/install/uptimekuma-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/vaultwarden-install.sh b/install/vaultwarden-install.sh index e5703f929..bcd10455a 100644 --- a/install/vaultwarden-install.sh +++ b/install/vaultwarden-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/vikunja-install.sh b/install/vikunja-install.sh index de52efc62..b4da4a748 100644 --- a/install/vikunja-install.sh +++ b/install/vikunja-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/wallos-install.sh b/install/wallos-install.sh index 5d62870ef..7f2191688 100644 --- a/install/wallos-install.sh +++ b/install/wallos-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/wastebin-install.sh b/install/wastebin-install.sh index 12e255a5c..994d80f75 100644 --- a/install/wastebin-install.sh +++ b/install/wastebin-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/watchyourlan-install.sh b/install/watchyourlan-install.sh index e93bfa2a5..224624730 100644 --- a/install/watchyourlan-install.sh +++ b/install/watchyourlan-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/wavelog-install.sh b/install/wavelog-install.sh index c6aa77d69..0df0ef312 100644 --- a/install/wavelog-install.sh +++ b/install/wavelog-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: Don Locke (DonLocke) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/whisparr-install.sh b/install/whisparr-install.sh index 3401374fc..22573c0b3 100644 --- a/install/whisparr-install.sh +++ b/install/whisparr-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/whoogle-install.sh b/install/whoogle-install.sh index c2f80be7e..00121f1c5 100644 --- a/install/whoogle-install.sh +++ b/install/whoogle-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/wikijs-install.sh b/install/wikijs-install.sh index f572752e2..1a41e4245 100644 --- a/install/wikijs-install.sh +++ b/install/wikijs-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/wireguard-install.sh b/install/wireguard-install.sh index a5805eab1..545c9de83 100644 --- a/install/wireguard-install.sh +++ b/install/wireguard-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/yunohost-install.sh b/install/yunohost-install.sh index 3012db34e..e43fd0b97 100644 --- a/install/yunohost-install.sh +++ b/install/yunohost-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh index 286d425c2..265dcd6b9 100644 --- a/install/zabbix-install.sh +++ b/install/zabbix-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/zammad-install.sh b/install/zammad-install.sh index 274df3a3e..7a87b51e2 100644 --- a/install/zammad-install.sh +++ b/install/zammad-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -#Copyright (c) 2021-2024 community-scripts ORG +#Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index 54cf0d18c..faf08b577 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,21 +14,22 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y curl -$STD apt-get install -y sudo -$STD apt-get install -y mc -$STD apt-get install -y git -$STD apt-get install -y make -$STD apt-get install -y g++ -$STD apt-get install -y gcc -$STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg +$STD apt-get install -y \ + curl \ + sudo \ + mc \ + git \ + make \ + g++ \ + gcc \ + ca-certificates \ + gnupg msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list msg_ok "Set up Node.js Repository" msg_info "Installing Node.js" @@ -36,37 +37,47 @@ $STD apt-get update $STD apt-get install -y nodejs msg_ok "Installed Node.js" -msg_info "Setting up Zigbee2MQTT Repository" -$STD git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt -msg_ok "Set up Zigbee2MQTT Repository" +msg_info "Installing pnpm" +$STD npm install -g pnpm +msg_ok "Installed pnpm" -msg_info "Installing Zigbee2MQTT" +msg_info "Setting up Zigbee2MQTT" +cd /opt +RELEASE=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +wget -q "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" +unzip -q ${RELEASE}.zip +mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt +cd /opt/zigbee2mqtt/data +mv configuration.example.yaml configuration.yaml cd /opt/zigbee2mqtt -$STD npm ci +$STD pnpm install --frozen-lockfile +$STD pnpm build msg_ok "Installed Zigbee2MQTT" msg_info "Creating Service" -service_path="/etc/systemd/system/zigbee2mqtt.service" -echo "[Unit] +cat </etc/systemd/system/zigbee2mqtt.service +[Unit] Description=zigbee2mqtt After=network.target [Service] Environment=NODE_ENV=production -ExecStart=/usr/bin/npm start +ExecStart=/usr/bin/pnpm start WorkingDirectory=/opt/zigbee2mqtt StandardOutput=inherit StandardError=inherit Restart=always User=root [Install] -WantedBy=multi-user.target" >$service_path -$STD systemctl enable zigbee2mqtt.service +WantedBy=multi-user.target +EOF +systemctl enable -q --now zigbee2mqtt.service msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" +rm -rf /opt/${RELEASE}.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/install/zipline-install.sh b/install/zipline-install.sh index f7f5c6a67..4ac4c6fca 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/install/zoraxy-install.sh b/install/zoraxy-install.sh index 5d7dd9b79..860da7d4e 100644 --- a/install/zoraxy-install.sh +++ b/install/zoraxy-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/install/zwave-js-ui-install.sh b/install/zwave-js-ui-install.sh index df366e32f..2c8a80c0b 100644 --- a/install/zwave-js-ui-install.sh +++ b/install/zwave-js-ui-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/json/5etools.json b/json/5etools.json new file mode 100644 index 000000000..2900dda6c --- /dev/null +++ b/json/5etools.json @@ -0,0 +1,34 @@ +{ + "name": "5etools", + "slug": "5etools", + "categories": [ + 0 + ], + "date_created": "2025-01-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 80, + "documentation": "https://wiki.tercept.net/en/5eTools", + "website": "https://5e.tools/", + "logo": "https://wiki.tercept.net/core-wiki-assets/5etoolslogocircle.png", + "description": "5eTools is a website providing a suite of tools for 5th Edition Dungeons & Dragons players and Dungeon Masters.", + "install_methods": [ + { + "type": "default", + "script": "ct/5etools.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 13, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/json/firefly.json b/json/firefly.json new file mode 100644 index 000000000..64a3669a5 --- /dev/null +++ b/json/firefly.json @@ -0,0 +1,39 @@ +{ + "name": "Firefly III", + "slug": "firefly", + "categories": [ + 0 + ], + "date_created": "2025-01-01", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 80, + "documentation": "https://docs.firefly-iii.org/", + "website": "https://firefly-iii.org/", + "logo": "https://raw.githubusercontent.com/firefly-iii/firefly-iii/develop/.github/assets/img/logo-small.png", + "description": "Firefly III is a free, self-hosted tool for managing your finances. Track expenses, plan budgets, and get detailed reports.", + "install_methods": [ + { + "type": "default", + "script": "ct/firefly.sh", + "resources": { + "cpu": 1, + "ram": 1024, + "hdd": 2, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Database credentials: `cat ~/firefly.creds`", + "type": "info" + } + ] +} diff --git a/json/glpi.json b/json/glpi.json new file mode 100644 index 000000000..6d652bddd --- /dev/null +++ b/json/glpi.json @@ -0,0 +1,34 @@ +{ + "name": "GLPI", + "slug": "glpi", + "categories": [ + 0 + ], + "date_created": "2025-01-06", + "type": "ct", + "updateable": false, + "privileged": false, + "interface_port": 80, + "documentation": "https://glpi-project.org/documentation/", + "website": "https://glpi-project.org/", + "logo": "https://raw.githubusercontent.com/glpi-project/glpi/refs/heads/main/public/pics/login_logo_glpi.png", + "description": "GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.", + "install_methods": [ + { + "type": "default", + "script": "ct/glpi.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 10, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "glpi", + "password": "glpi" + }, + "notes": [] +} diff --git a/json/komodo.json b/json/komodo.json new file mode 100644 index 000000000..d27b09aac --- /dev/null +++ b/json/komodo.json @@ -0,0 +1,39 @@ +{ + "name": "Komodo", + "slug": "komodo", + "categories": [ + 8 + ], + "date_created": "2025-01-01", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9120, + "documentation": "https://komo.do/docs/intro", + "website": "https://komo.do", + "logo": "https://komo.do/img/logo512.png", + "description": "Komodo is a build and deployment system that automates the creation of versioned Docker images from Git repositories and facilitates the deployment of Docker containers and Docker Compose setups. It provides features such as build automation triggered by Git pushes, deployment management, and monitoring of uptime and logs across multiple servers. The core API and associated agent are developed in Rust.", + "install_methods": [ + { + "type": "default", + "script": "ct/komodo.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 10, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "After the initial installation: Enter your desired admin user and password and then click on Sign Up", + "type": "info" + } + ] +} \ No newline at end of file diff --git a/json/nextcloudpi.json b/json/nextcloudpi.json index ab6d3f8c8..b1b0f09b7 100644 --- a/json/nextcloudpi.json +++ b/json/nextcloudpi.json @@ -41,5 +41,10 @@ "username": null, "password": null }, - "notes": [] + "notes": [ + { + "text": "Only Alpine: To get the username and password, run the script again inside the LXC shell.", + "type": "warning" + } + ] } diff --git a/json/pf2etools.json b/json/pf2etools.json new file mode 100644 index 000000000..d50aa5fe3 --- /dev/null +++ b/json/pf2etools.json @@ -0,0 +1,34 @@ +{ + "name": "Pf2eTools", + "slug": "Pf2eTools", + "categories": [ + 0 + ], + "date_created": "2025-01-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 80, + "documentation": "https://github.com/Pf2eToolsOrg/Pf2eTools/wiki", + "website": "https://pf2etools.com/", + "logo": "https://raw.githubusercontent.com/Pf2eToolsOrg/Pf2eTools/refs/heads/dev/android-chrome-192x192.png", + "description": "Pf2eTools is an open-source website aiming to provide tools and information for Pathfinder 2nd Edition players and gamemasters. It's built using basic web technologies to ensure wide compatibility, and utilises client-side caching for speed, efficiency, and offline access.", + "install_methods": [ + { + "type": "default", + "script": "ct/pf2etools.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 6, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/json/semaphore.json b/json/semaphore.json new file mode 100644 index 000000000..057fe6ce4 --- /dev/null +++ b/json/semaphore.json @@ -0,0 +1,43 @@ +{ + "name": "Semaphore", + "slug": "semaphore", + "categories": [ + 7 + ], + "date_created": "2025-01-01", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://docs.semaphoreui.com/", + "website": "https://semaphoreui.com/", + "logo": "https://docs.semaphoreui.com/favicon.png?x=", + "description": "Semaphore UI is a modern web interface for managing popular DevOps tools", + "install_methods": [ + { + "type": "default", + "script": "ct/semaphore.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 4, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "admin", + "password": null + }, + "notes": [ + { + "text": "This instance uses BoltDB", + "type": "info" + }, + { + "text": "Admin password: `cat ~/semaphore.creds`", + "type": "info" + } + ] +} diff --git a/json/typesense.json b/json/typesense.json new file mode 100644 index 000000000..53f596c99 --- /dev/null +++ b/json/typesense.json @@ -0,0 +1,39 @@ +{ + "name": "TypeSense", + "slug": "typesense", + "categories": [ + 5 + ], + "date_created": "2025-01-06", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": null, + "documentation": "https://typesense.org/docs/", + "website": "https://typesense.org/", + "logo": "https://typesense.org/_nuxt/img/typesense_logo_white.0f9fb0a.svg", + "description": "Typesense is an open-source, fast, and lightweight search engine optimized for delivering instant, relevant, and typo-tolerant search results. Designed for ease of use and high performance, it offers features like real-time indexing, fuzzy matching, customizable relevance ranking, and a simple API for integration. Typesense is particularly well-suited for applications requiring instant search capabilities, such as e-commerce, documentation, or any content-rich websites. It is often compared to tools like Elasticsearch but is more developer-friendly and less resource-intensive.", + "install_methods": [ + { + "type": "default", + "script": "ct/typesense.sh", + "resources": { + "cpu": 1, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "This script requires some extra steps after the installation, Please checkout the 'documentation' Button", + "type": "info" + } + ] +} diff --git a/misc/add-lxc-iptag.sh b/misc/add-lxc-iptag.sh index 3b556cc24..7ef23341f 100644 --- a/misc/add-lxc-iptag.sh +++ b/misc/add-lxc-iptag.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 community-scripts ORG +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/add-netbird-lxc.sh b/misc/add-netbird-lxc.sh index c543bed0c..d2e02bf26 100644 --- a/misc/add-netbird-lxc.sh +++ b/misc/add-netbird-lxc.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Co-Author: MickLesk (Canbiz) # License: MIT diff --git a/misc/add-tailscale-lxc.sh b/misc/add-tailscale-lxc.sh index 73a944974..36d148e40 100644 --- a/misc/add-tailscale-lxc.sh +++ b/misc/add-tailscale-lxc.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/all-templates.sh b/misc/all-templates.sh index 3581768df..80f8c807c 100644 --- a/misc/all-templates.sh +++ b/misc/all-templates.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/alpine-install.func b/misc/alpine-install.func index 6d7afc90f..25922b386 100644 --- a/misc/alpine-install.func +++ b/misc/alpine-install.func @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/asylumexp/Proxmox/raw/main/LICENSE diff --git a/misc/build.func b/misc/build.func index b032e6a56..472ddeb70 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/asylumexp/Proxmox/raw/main/LICENSE @@ -188,40 +188,59 @@ update_motd_ip() { # This function sets the APP-Name into an ASCII Header in Slant, figlet needed on proxmox main node. header_info() { - # Check if figlet is installed - if ! command -v figlet &> /dev/null; then - echo -e "${INFO}${BOLD}${DGN}Figlet for ASCII-Header not found. Installing... ${CL}" + # Helper function: Install FIGlet and download fonts + install_figlet() { + echo -e "${INFO}${BOLD}${DGN}Installing FIGlet...${CL}" - # Install necessary dependencies and figlet - if [ -f /etc/debian_version ] || [ -f /etc/lsb-release ]; then - apt-get update -y &> /dev/null - apt-get install -y tar build-essential &> /dev/null - elif [ -f /etc/alpine-release ]; then - apk add --no-cache tar build-base &> /dev/null - export TERM=xterm - else - return 1 - fi temp_dir=$(mktemp -d) curl -sL https://github.com/asylumexp/Proxmox/raw/refs/heads/main/misc/figlet.tar.xz -o "$temp_dir/figlet.tar.xz" mkdir -p /tmp/figlet tar -xf "$temp_dir/figlet.tar.xz" -C /tmp/figlet --strip-components=1 cd /tmp/figlet - # Run make to compile the figlet binary make >/dev/null - # Check if the figlet binary exists + if [ -f "figlet" ]; then chmod +x figlet - # Move figlet to /usr/local/bin if not already there - if [ ! -e /usr/local/bin/figlet ]; then - mv figlet /usr/local/bin/ - mkdir -p /usr/local/share/figlet - cp -r /tmp/figlet/fonts/*.flf /usr/local/share/figlet/ - fi - echo -e "${CM}${BOLD}${DGN}Figlet successfully installed. ${CL}" + mv figlet /usr/local/bin/ + mkdir -p /usr/local/share/figlet + cp -r /tmp/figlet/fonts/*.flf /usr/local/share/figlet/ + echo -e "${CM}${BOLD}${DGN}FIGlet successfully installed.${CL}" + else + echo -e "${ERR}${BOLD}${RED}Failed to install FIGlet.${CL}" + return 1 fi rm -rf "$temp_dir" + } + + # Check if figlet and the slant font are available + if ! figlet -f slant "Test" &>/dev/null; then + echo -e "${INFO}${BOLD}${DGN}FIGlet or the slant font is missing. Installing...${CL}" + + if [ -f /etc/debian_version ] || [ -f /etc/lsb-release ]; then + # Debian/Ubuntu-based systems + apt-get update -y &>/dev/null + apt-get install -y wget build-essential &>/dev/null + install_figlet + + elif [ -f /etc/alpine-release ]; then + # Alpine-based systems + apk add --no-cache tar xz build-base wget &>/dev/null + export TERM=xterm + install_figlet + + else + echo -e "${ERR}${BOLD}${RED}Unsupported operating system.${CL}" + return 1 + fi + + # Ensure the slant font is available + if [ ! -f "/usr/share/figlet/slant.flf" ]; then + echo -e "${INFO}${BOLD}${DGN}Downloading slant font...${CL}" + wget -qO /usr/share/figlet/slant.flf "http://www.figlet.org/fonts/slant.flf" + fi fi + + # Display ASCII header term_width=$(tput cols 2>/dev/null || echo 120) ascii_art=$(figlet -f slant -w "$term_width" "$APP") clear @@ -296,7 +315,7 @@ echo_default() { echo -e "${CONTAINERTYPE}${BOLD}${DGN}Container Type: ${BGN}$CT_TYPE_DESC${CL}" echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}GB${CL}" echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}" - echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MB${CL}" + echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MiB${CL}" echo -e "${CONTAINERID}${BOLD}${DGN}Container ID: ${BGN}${CT_ID}${CL}" if [ "$VERB" == "yes" ]; then echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}Enabled${CL}" @@ -443,13 +462,13 @@ advanced_settings() { if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GB" 8 58 $var_disk --title "DISK SIZE" 3>&1 1>&2 2>&3); then if [ -z "$DISK_SIZE" ]; then DISK_SIZE="$var_disk" - echo -e "${DISKSIZE}${DGN}Disk Size: ${BGN}$DISK_SIZE${CL}" + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}GB${CL}" else if ! [[ $DISK_SIZE =~ $INTEGER ]]; then echo -e "{INFO}${HOLD}${RD} DISK SIZE MUST BE AN INTEGER NUMBER!${CL}" advanced_settings fi - echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}$DISK_SIZE${CL}" + echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}GB${CL}" fi else exit_script @@ -469,9 +488,9 @@ advanced_settings() { if RAM_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate RAM in MiB" 8 58 $var_ram --title "RAM" 3>&1 1>&2 2>&3); then if [ -z "$RAM_SIZE" ]; then RAM_SIZE="$var_ram" - echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}$RAM_SIZE${CL}" + echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MiB${CL}" else - echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}$RAM_SIZE${CL}" + echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MiB${CL}" fi else exit_script diff --git a/misc/clean-lxcs.sh b/misc/clean-lxcs.sh index 129071f58..cabd3f033 100644 --- a/misc/clean-lxcs.sh +++ b/misc/clean-lxcs.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/clean.sh b/misc/clean.sh index 82a8ded8e..1c92d79ec 100644 --- a/misc/clean.sh +++ b/misc/clean.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/code-server.sh b/misc/code-server.sh index 5f2541347..5114e3200 100644 --- a/misc/code-server.sh +++ b/misc/code-server.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/container-restore-from-backup.sh b/misc/container-restore-from-backup.sh index ebd222902..dd5da9453 100644 --- a/misc/container-restore-from-backup.sh +++ b/misc/container-restore-from-backup.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh b/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh index 02060ae33..a8c137afb 100644 --- a/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh +++ b/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh b/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh index 8ca7b409f..998bcb63a 100644 --- a/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh +++ b/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh b/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh index cc3482842..e730372d2 100644 --- a/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh +++ b/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh b/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh index bdf8e55b9..dc9eecd7a 100644 --- a/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh +++ b/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh b/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh index bca88f362..a8d364085 100644 --- a/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh +++ b/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/plex-copy-data-plex.sh b/misc/copy-data/plex-copy-data-plex.sh index 4ada54d54..779921f89 100644 --- a/misc/copy-data/plex-copy-data-plex.sh +++ b/misc/copy-data/plex-copy-data-plex.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh b/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh index 56e9aabdd..0ff1f071f 100644 --- a/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh +++ b/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/z2m-copy-data-z2m.sh b/misc/copy-data/z2m-copy-data-z2m.sh index 35b8a3397..b6807351a 100644 --- a/misc/copy-data/z2m-copy-data-z2m.sh +++ b/misc/copy-data/z2m-copy-data-z2m.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh b/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh index e42adf7d6..3f282e250 100644 --- a/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh +++ b/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/core-restore-from-backup.sh b/misc/core-restore-from-backup.sh index fd7fab0e0..021e6b05a 100644 --- a/misc/core-restore-from-backup.sh +++ b/misc/core-restore-from-backup.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/cron-update-lxcs.sh b/misc/cron-update-lxcs.sh index 04bbfb11c..b83111fed 100644 --- a/misc/cron-update-lxcs.sh +++ b/misc/cron-update-lxcs.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/crowdsec.sh b/misc/crowdsec.sh index 07577e220..eae6fc967 100644 --- a/misc/crowdsec.sh +++ b/misc/crowdsec.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/filebrowser.sh b/misc/filebrowser.sh index d8912b7ff..02a4bb4cb 100644 --- a/misc/filebrowser.sh +++ b/misc/filebrowser.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/frigate-support.sh b/misc/frigate-support.sh index 981ba3a96..11e14e7a7 100644 --- a/misc/frigate-support.sh +++ b/misc/frigate-support.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/fstrim.sh b/misc/fstrim.sh index de604bdd5..27a9b9ed2 100644 --- a/misc/fstrim.sh +++ b/misc/fstrim.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/glances.sh b/misc/glances.sh index 51cf5d6bf..cd49dcb33 100644 --- a/misc/glances.sh +++ b/misc/glances.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/host-backup.sh b/misc/host-backup.sh index f9405b1ee..5de60fc7e 100644 --- a/misc/host-backup.sh +++ b/misc/host-backup.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/hw-acceleration.sh b/misc/hw-acceleration.sh index 97ca7de97..b632afb34 100644 --- a/misc/hw-acceleration.sh +++ b/misc/hw-acceleration.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/install.func b/misc/install.func index b258d01ee..ac6379648 100644 --- a/misc/install.func +++ b/misc/install.func @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/asylumexp/Proxmox/raw/main/LICENSE diff --git a/misc/kernel-clean.sh b/misc/kernel-clean.sh index 058ed2403..959318bdb 100644 --- a/misc/kernel-clean.sh +++ b/misc/kernel-clean.sh @@ -1,7 +1,6 @@ #!/usr/bin/env bash - -# Copyright (c) 2021-2024 tteck -# Author: tteck (tteckster) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -17,104 +16,65 @@ function header_info { EOF } -# Color variables for output -YW=$(echo "\033[33m") -RD=$(echo "\033[01;31m") -GN=$(echo "\033[1;92m") -CL=$(echo "\033[m") -BFR="\\r\\033[K" -HOLD="-" -CM="${GN}βœ“${CL}" - -# Functions for logging messages -function msg_info() { - local msg="$1" - echo -ne " ${HOLD} ${YW}${msg}..." -} - -function msg_ok() { - local msg="$1" - echo -e "${BFR} ${CM} ${GN}${msg}${CL}" -} +# Color variables +YW="\033[33m" +GN="\033[1;92m" +RD="\033[01;31m" +CL="\033[m" # Detect current kernel current_kernel=$(uname -r) - -# Detect all installed kernels except the current one available_kernels=$(dpkg --list | grep 'kernel-.*-pve' | awk '{print $2}' | grep -v "$current_kernel" | sort -V) header_info -# If no old kernels are available, exit with a message if [ -z "$available_kernels" ]; then - whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Old Kernels" \ - --msgbox "It appears there are no old kernels on your system.\nCurrent kernel: $current_kernel" 10 68 - echo "Exiting..." - sleep 2 - clear - exit + echo -e "${GN}No old kernels detected. Current kernel: ${current_kernel}${CL}" + exit 0 fi -# Prepare kernel options for selection -KERNEL_MENU=() -while read -r TAG ITEM; do - OFFSET=2 - MSG_MAX_LENGTH=$((MSG_MAX_LENGTH < ${#ITEM} + OFFSET ? ${#ITEM} + OFFSET : MSG_MAX_LENGTH)) - KERNEL_MENU+=("$TAG" "$ITEM " "OFF") -done < <(echo "$available_kernels") +echo -e "${YW}Available kernels for removal:${CL}" +echo "$available_kernels" | nl -w 2 -s '. ' -# Display checklist to select kernels for removal -remove_kernels=$(whiptail --backtitle "Proxmox VE Helper Scripts" \ - --title "Current Kernel: $current_kernel" \ - --checklist "\nSelect kernels to remove:\n" \ - 16 $((MSG_MAX_LENGTH + 58)) 6 "${KERNEL_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit +echo -e "\n${YW}Select kernels to remove (comma-separated, e.g., 1,2):${CL}" +read -r selected -# Exit if no kernel was selected -[ -z "$remove_kernels" ] && { - whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Kernel Selected" \ - --msgbox "It appears no kernel was selected." 10 68 - echo "Exiting..." - sleep 2 - clear - exit -} +# Parse selection +IFS=',' read -r -a selected_indices <<< "$selected" +kernels_to_remove=() -# Confirm removal -whiptail --backtitle "Proxmox VE Helper Scripts" --title "Remove Kernels" \ - --yesno "Would you like to remove the $(echo $remove_kernels | awk '{print NF}') selected kernels?" 10 68 || exit - -# Process kernel removal -msg_info "Removing ${RD}$(echo $remove_kernels | awk '{print NF}') ${YW}old kernels${CL}" -for kernel in $remove_kernels; do - if [[ $kernel == *"-signed" ]]; then - # Handle signed kernels with dependencies - touch /please-remove-proxmox-ve # Temporarily bypass Proxmox warnings - if sudo apt-get purge -y "$kernel" >/dev/null 2>&1; then - msg_ok "Removed kernel: $kernel" - else - msg_info "Failed to remove kernel: $kernel. Check dependencies or manual removal." - fi - rm -f /please-remove-proxmox-ve # Clean up bypass file - else - # Standard kernel removal - if sudo apt-get purge -y "$kernel" >/dev/null 2>&1; then - msg_ok "Removed kernel: $kernel" - else - msg_info "Failed to remove kernel: $kernel. Check dependencies or manual removal." - fi +for index in "${selected_indices[@]}"; do + kernel=$(echo "$available_kernels" | sed -n "${index}p") + if [ -n "$kernel" ]; then + kernels_to_remove+=("$kernel") fi - sleep 1 done -# Update GRUB configuration -msg_info "Updating GRUB" -if /usr/sbin/update-grub >/dev/null 2>&1; then - msg_ok "GRUB updated successfully" -else - msg_info "Failed to update GRUB" +if [ ${#kernels_to_remove[@]} -eq 0 ]; then + echo -e "${RD}No valid selection made. Exiting.${CL}" + exit 1 fi -# Completion message -msg_info "Exiting" -sleep 2 -msg_ok "Finished" +# Confirm removal +echo -e "${YW}Kernels to be removed:${CL}" +printf "%s\n" "${kernels_to_remove[@]}" +read -rp "Proceed with removal? (y/n): " confirm +if [[ "$confirm" != "y" ]]; then + echo -e "${RD}Aborted.${CL}" + exit 1 +fi + +# Remove kernels +for kernel in "${kernels_to_remove[@]}"; do + echo -e "${YW}Removing $kernel...${CL}" + if apt-get purge -y "$kernel" >/dev/null 2>&1; then + echo -e "${GN}Successfully removed: $kernel${CL}" + else + echo -e "${RD}Failed to remove: $kernel. Check dependencies.${CL}" + fi +done + +# Clean up and update GRUB +echo -e "${YW}Cleaning up...${CL}" +apt-get autoremove -y >/dev/null 2>&1 && update-grub >/dev/null 2>&1 +echo -e "${GN}Cleanup and GRUB update complete.${CL}" diff --git a/misc/kernel-pin.sh b/misc/kernel-pin.sh index cd4891c95..5450b71ef 100644 --- a/misc/kernel-pin.sh +++ b/misc/kernel-pin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/microcode.sh b/misc/microcode.sh index 232bcd48e..b5ce7aa71 100644 --- a/misc/microcode.sh +++ b/misc/microcode.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/monitor-all.sh b/misc/monitor-all.sh index a624dbd6c..3d6103f5e 100644 --- a/misc/monitor-all.sh +++ b/misc/monitor-all.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/netdata.sh b/misc/netdata.sh index 9c3ee42fa..d04b11f9a 100644 --- a/misc/netdata.sh +++ b/misc/netdata.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/olivetin.sh b/misc/olivetin.sh index d3e0adeee..e35e78df1 100644 --- a/misc/olivetin.sh +++ b/misc/olivetin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/pbs3-upgrade.sh b/misc/pbs3-upgrade.sh index 789c07edb..465ba8fb1 100644 --- a/misc/pbs3-upgrade.sh +++ b/misc/pbs3-upgrade.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/post-pbs-install.sh b/misc/post-pbs-install.sh index 31a15b7c1..e95c62b0b 100644 --- a/misc/post-pbs-install.sh +++ b/misc/post-pbs-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/post-pve-install.sh b/misc/post-pve-install.sh index 762d063f2..4290c50f6 100644 --- a/misc/post-pve-install.sh +++ b/misc/post-pve-install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/pve8-upgrade.sh b/misc/pve8-upgrade.sh index a530ee548..4dd8e1587 100644 --- a/misc/pve8-upgrade.sh +++ b/misc/pve8-upgrade.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/pyenv.sh b/misc/pyenv.sh index d8e36b0b2..c1d8044ad 100644 --- a/misc/pyenv.sh +++ b/misc/pyenv.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -110,7 +110,7 @@ pip3 install --pre esphome &>/dev/null cat </srv/esphome/start.sh #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/scaling-governor.sh b/misc/scaling-governor.sh index 646206e40..cb0975349 100644 --- a/misc/scaling-governor.sh +++ b/misc/scaling-governor.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/update-lxcs-cron.sh b/misc/update-lxcs-cron.sh index d3ddee7ca..9c0def0c4 100644 --- a/misc/update-lxcs-cron.sh +++ b/misc/update-lxcs-cron.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/update-lxcs.sh b/misc/update-lxcs.sh index 36892a9c7..09b697050 100644 --- a/misc/update-lxcs.sh +++ b/misc/update-lxcs.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/update-repo.sh b/misc/update-repo.sh index aa9c42d0c..d218d8291 100644 --- a/misc/update-repo.sh +++ b/misc/update-repo.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: MickLesk # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/usb-passthrough.sh b/misc/usb-passthrough.sh index b8cb42cf4..58dab9a23 100644 --- a/misc/usb-passthrough.sh +++ b/misc/usb-passthrough.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/misc/webmin.sh b/misc/webmin.sh index 260e806c6..92825f463 100644 --- a/misc/webmin.sh +++ b/misc/webmin.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/turnkey/turnkey.sh b/turnkey/turnkey.sh index bf269223f..5a39bc83a 100644 --- a/turnkey/turnkey.sh +++ b/turnkey/turnkey.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/debian-vm.sh b/vm/debian-vm.sh index 92884abf9..007dffdf9 100644 --- a/vm/debian-vm.sh +++ b/vm/debian-vm.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/haos-vm.sh b/vm/haos-vm.sh index 36b989c11..caaa9c856 100644 --- a/vm/haos-vm.sh +++ b/vm/haos-vm.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/mikrotik-routeros.sh b/vm/mikrotik-routeros.sh index 93ca54038..3a232fcd7 100644 --- a/vm/mikrotik-routeros.sh +++ b/vm/mikrotik-routeros.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/nextcloud-vm.sh b/vm/nextcloud-vm.sh index b956cd537..f2590c85a 100644 --- a/vm/nextcloud-vm.sh +++ b/vm/nextcloud-vm.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/openwrt.sh b/vm/openwrt.sh index 26d234932..741062137 100644 --- a/vm/openwrt.sh +++ b/vm/openwrt.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # Jon Spriggs (jontheniceguy) # License: MIT diff --git a/vm/owncloud-vm.sh b/vm/owncloud-vm.sh index 3e68f8239..99ca81c59 100644 --- a/vm/owncloud-vm.sh +++ b/vm/owncloud-vm.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/pimox-haos-vm.sh b/vm/pimox-haos-vm.sh index d1206031f..0db35f733 100644 --- a/vm/pimox-haos-vm.sh +++ b/vm/pimox-haos-vm.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/ubuntu2204-vm.sh b/vm/ubuntu2204-vm.sh index 020b59dac..b4fa0fb66 100644 --- a/vm/ubuntu2204-vm.sh +++ b/vm/ubuntu2204-vm.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/vm/ubuntu2404-vm.sh b/vm/ubuntu2404-vm.sh index e41c7cd02..01cc30150 100644 --- a/vm/ubuntu2404-vm.sh +++ b/vm/ubuntu2404-vm.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2024 tteck +# Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE