mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-02-07 08:19:17 +00:00
Compare commits
59 Commits
e00d18e477
...
68164f859a
Author | SHA1 | Date | |
---|---|---|---|
|
68164f859a | ||
|
dd04e15e60 | ||
|
575c24625a | ||
|
05407606b7 | ||
|
d717694746 | ||
|
62139d987d | ||
|
bcc6342f83 | ||
|
ca902c50fb | ||
|
69fe688418 | ||
|
2d9fcbb635 | ||
|
0573adc83c | ||
|
c0cf76f0d5 | ||
|
77d2df5a0f | ||
|
82ba836743 | ||
|
8c1b48453c | ||
|
ae0684b696 | ||
|
aab63c8db2 | ||
|
e7ac005592 | ||
|
6fb6c58454 | ||
|
0d63e66379 | ||
|
cfb755a862 | ||
|
4a60a29f1d | ||
|
ec27945abd | ||
|
d6ead654ad | ||
|
4f66476de5 | ||
|
e4354c1d53 | ||
|
8a6ea7cbac | ||
|
96d691c862 | ||
|
82ee63a6db | ||
|
102669cd11 | ||
|
ae120c1e23 | ||
|
c056dd97ea | ||
|
5b2cbd3e99 | ||
|
cadae9796e | ||
|
9eb5cc022a | ||
|
52898b4edf | ||
|
e45aba86bd | ||
|
be4e6503d7 | ||
|
59deaa0a19 | ||
|
a4803d178d | ||
|
259203ee51 | ||
|
944328625a | ||
|
3d38ad0288 | ||
|
c46f15cdc1 | ||
|
e2aa5fe627 | ||
|
493c2c931c | ||
|
ce545bd499 | ||
|
0ba2ea9183 | ||
|
cff3fa8696 | ||
|
871fd6517d | ||
|
3a876c99ef | ||
|
5c3fe0e802 | ||
|
3ec3478b2d | ||
|
67524454d7 | ||
|
ec27e92833 | ||
|
fa20526525 | ||
|
4f5712097b | ||
|
3c388ef157 | ||
|
df99c30ab3 |
69
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
69
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -5,24 +5,44 @@ body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**IMPORTANT:** Failure to comply with the following guidelines may result in immediate closure.
|
||||
- Prior to submitting, kindly search the closed issues to check if the problem you are reporting has already been addressed and resolved. If you come across a closed issue that pertains to your problem, please leave a comment on that issue instead of creating a new one.
|
||||
- If the default Linux distribution is not adhered to, script support will be discontinued.
|
||||
- When encountering the error message `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, make sure to run the script in verbose mode to accurately determine the underlying issue.
|
||||
- For suggestions, questions, or feature/script requests, please use the [Discussions section.](https://github.com/community-scripts/ProxmoxVE/discussions)
|
||||
# 🐞 **Script Issue Report**
|
||||
Thank you for taking the time to report an issue! Please provide as much detail as possible to help us address the problem efficiently.
|
||||
|
||||
## ⚠️ **IMPORTANT**
|
||||
- 🔍 **Search first:** Before submitting, check if the issue has already been reported or resolved in [closed issues](https://github.com/community-scripts/ProxmoxVE/issues?q=is%3Aissue+is%3Aclosed). If found, comment on that issue instead of creating a new one.
|
||||
Alternatively, check the **[Discussions](https://github.com/community-scripts/ProxmoxVE/discussions)** under the *"Announcement"* or *"Guide"* categories for relevant information.
|
||||
- 🛠️ **Supported environments only:** Ensure you are using a default Linux distribution. Custom setups may not be supported.
|
||||
- 🔎 If you encounter `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, rerun the script with verbose mode before submitting the issue.
|
||||
- 💡 For general questions, feature requests, or suggestions, use the [Discussions section](https://github.com/community-scripts/ProxmoxVE/discussions).
|
||||
|
||||
- type: input
|
||||
id: guidelines
|
||||
attributes:
|
||||
label: Please verify that you have read and understood the guidelines.
|
||||
label: ✅ Have you read and understood the above guidelines?
|
||||
placeholder: "yes"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: bug
|
||||
- type: input
|
||||
id: script_name
|
||||
attributes:
|
||||
label: A clear and concise description of the issue.
|
||||
label: 📜 What is the name of the script you are using?
|
||||
placeholder: "e.g., NextcloudPi, Zigbee2MQTT"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: script_command
|
||||
attributes:
|
||||
label: 📂 What was the exact command used to execute the script?
|
||||
placeholder: "e.g., bash -c \"$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/zigbee2mqtt.sh)\" or \"update\""
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: issue_description
|
||||
attributes:
|
||||
label: 📝 Provide a clear and concise description of the issue.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@ -30,19 +50,19 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: What settings are you currently utilizing?
|
||||
label: ⚙️ What settings are you using?
|
||||
options:
|
||||
- label: Default Settings
|
||||
- label: Advanced Settings
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "If using Advanced Settings, please try Default Settings before creating an issue."
|
||||
value: "💡 **Tip:** If you are using Advanced Settings, please test with Default Settings before submitting an issue."
|
||||
|
||||
- type: dropdown
|
||||
id: distribution
|
||||
id: linux_distribution
|
||||
attributes:
|
||||
label: Which Linux distribution are you employing?
|
||||
label: 🖥️ Which Linux distribution are you using?
|
||||
options:
|
||||
-
|
||||
- Alpine
|
||||
@ -51,21 +71,30 @@ body:
|
||||
- Ubuntu 20.04
|
||||
- Ubuntu 22.04
|
||||
- Ubuntu 24.04
|
||||
- Ubuntu 24.10
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: screenshot
|
||||
id: steps_to_reproduce
|
||||
attributes:
|
||||
label: If relevant, including screenshots or a code block can be helpful in clarifying the issue.
|
||||
placeholder: "Code blocks begin and conclude by enclosing the code with three backticks (```) above and below it."
|
||||
label: 🔄 Steps to reproduce the issue.
|
||||
placeholder: "e.g., Step 1: ..., Step 2: ..."
|
||||
validations:
|
||||
required: false
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
id: error_output
|
||||
attributes:
|
||||
label: Please provide detailed steps to reproduce the issue.
|
||||
placeholder: "First do this, then this ..."
|
||||
label: ❌ Paste the full error output (if available).
|
||||
placeholder: "Include any relevant logs or error messages."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: additional_context
|
||||
attributes:
|
||||
label: 🖼️ Additional context (optional).
|
||||
placeholder: "Include screenshots, code blocks (use triple backticks ```), or any other relevant information."
|
||||
validations:
|
||||
required: false
|
||||
|
44
.github/pull_request_template.md
vendored
44
.github/pull_request_template.md
vendored
@ -1,31 +1,39 @@
|
||||
> [!NOTE]
|
||||
> We are meticulous when it comes to merging code into the main branch, so please understand that we may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.
|
||||
> **🛠️ Note:**
|
||||
> We are meticulous about merging code into the main branch, so please understand that pull requests not meeting the project's standards may be rejected. It's never personal!
|
||||
> 🎮 **Note for game-related scripts:** These have a lower likelihood of being merged.
|
||||
|
||||
## Description
|
||||
---
|
||||
|
||||
## ✍️ Description
|
||||
Provide a summary of the changes made and/or reference the issue being addressed.
|
||||
|
||||
Fixes # (issue)
|
||||
-
|
||||
|
||||
## Type of change
|
||||
Please check the relevant option(s):
|
||||
- - -
|
||||
|
||||
- Related Issue: # (issue number, if applicable)
|
||||
- Related PR: # (if applicable)
|
||||
- Related Discussion: [Link](https://github.com/community-scripts/ProxmoxVE/discussions)
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Type of Change
|
||||
Please check the relevant options:
|
||||
- [ ] Bug fix (non-breaking change that resolves an issue)
|
||||
- [ ] New feature (non-breaking change that adds functionality)
|
||||
- [ ] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
|
||||
- [ ] New script (a fully functional and thoroughly tested script or set of scripts.)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to change unexpectedly)
|
||||
- [ ] New script (a fully functional and thoroughly tested script or set of scripts)
|
||||
|
||||
## Prerequisites
|
||||
The following efforts must be made for the PR to be considered. Please check when completed:
|
||||
- [ ] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
|
||||
- [ ] Testing performed (I have tested my changes, ensuring everything works as expected)
|
||||
---
|
||||
|
||||
## ✅ Prerequisites
|
||||
The following steps must be completed for the pull request to be considered:
|
||||
- [ ] Self-review performed (I have reviewed my code to ensure it follows established patterns and conventions.)
|
||||
- [ ] Testing performed (I have thoroughly tested my changes and verified expected functionality.)
|
||||
- [ ] Documentation updated (I have updated any relevant documentation)
|
||||
|
||||
## Additional Information (optional)
|
||||
Provide any additional context or screenshots about the feature or fix here.
|
||||
---
|
||||
|
||||
## 📋 Additional Information (optional)
|
||||
Provide any extra context or screenshots about the feature or fix here.
|
||||
|
||||
## Related Pull Requests / Discussions
|
||||
|
||||
If there are other pull requests or discussions related to this change, please link them here:
|
||||
- Related PR #
|
||||
|
1
.github/workflows/changelog-pr.yml
vendored
1
.github/workflows/changelog-pr.yml
vendored
@ -63,6 +63,7 @@ jobs:
|
||||
const { data: pulls } = await github.rest.pulls.list({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
base: "main",
|
||||
state: "closed",
|
||||
sort: "updated",
|
||||
direction: "desc",
|
||||
|
79
.github/workflows/deploy-pages.yml
vendored
79
.github/workflows/deploy-pages.yml
vendored
@ -1,79 +0,0 @@
|
||||
# Sample workflow for building and deploying a Next.js site to GitHub Pages
|
||||
#
|
||||
# To get started with Next.js see: https://nextjs.org/docs/getting-started
|
||||
#
|
||||
name: Deploy Next.js site to Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
paths:
|
||||
- frontend/**
|
||||
- json/**
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: frontend # Set default working directory for all run steps
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Detect package manager
|
||||
id: detect-package-manager
|
||||
run: |
|
||||
if [ -f "${{ github.workspace }}/frontend/yarn.lock" ]; then
|
||||
echo "manager=yarn" >> $GITHUB_OUTPUT
|
||||
echo "command=install" >> $GITHUB_OUTPUT
|
||||
echo "runner=yarn" >> $GITHUB_OUTPUT
|
||||
exit 0
|
||||
elif [ -f "${{ github.workspace }}/frontend/package.json" ]; then
|
||||
echo "manager=npm" >> $GITHUB_OUTPUT
|
||||
echo "command=ci" >> $GITHUB_OUTPUT
|
||||
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
|
||||
exit 0
|
||||
else
|
||||
echo "Unable to determine package manager"
|
||||
exit 1
|
||||
fi
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
cache: ${{ steps.detect-package-manager.outputs.manager }}
|
||||
cache-dependency-path: frontend/package-lock.json # Specify the path to package-lock.json
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v5
|
||||
with:
|
||||
static_site_generator: next
|
||||
- name: Install dependencies
|
||||
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} --legacy-peer-deps
|
||||
- name: Build with Next.js
|
||||
run: ${{ steps.detect-package-manager.outputs.runner }} next build
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: frontend/out
|
||||
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
78
.github/workflows/frontend-cicd.yml
vendored
Normal file
78
.github/workflows/frontend-cicd.yml
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
# Based on https://github.com/actions/starter-workflows/blob/main/pages/nextjs.yml
|
||||
|
||||
name: Frontend CI/CD
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main"]
|
||||
paths:
|
||||
- frontend/**
|
||||
- json/**
|
||||
|
||||
pull_request:
|
||||
branches: ["main"]
|
||||
types: [opened, synchronize, reopened, edited]
|
||||
paths:
|
||||
- frontend/**
|
||||
- json/**
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: pages-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: frontend # Set default working directory for all run steps
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
cache: npm
|
||||
cache-dependency-path: frontend/package-lock.json
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci --prefer-offline --legacy-peer-deps
|
||||
|
||||
- name: Run tests
|
||||
run: npm run test
|
||||
|
||||
- name: Configure Next.js for pages
|
||||
uses: actions/configure-pages@v5
|
||||
with:
|
||||
static_site_generator: next
|
||||
|
||||
- name: Build with Next.js
|
||||
run: npm run build
|
||||
|
||||
- name: Upload artifact
|
||||
if: github.ref == 'refs/heads/main'
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: frontend/out
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
if: github.ref == 'refs/heads/main'
|
||||
permissions:
|
||||
pages: write
|
||||
id-token: write
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
131
CHANGELOG.md
131
CHANGELOG.md
@ -16,6 +16,131 @@ All LXC instances created using this repository come pre-installed with Midnight
|
||||
> [!IMPORTANT]
|
||||
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
|
||||
|
||||
## 2024-12-13
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Fix Keycloak Update Function [@MickLesk](https://github.com/MickLesk) ([#762](https://github.com/community-scripts/ProxmoxVE/pull/762))
|
||||
- Fix config bug in Alpine Vaultwarden [@havardthom](https://github.com/havardthom) ([#775](https://github.com/community-scripts/ProxmoxVE/pull/775))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- Change MISC from red to green [@MickLesk](https://github.com/MickLesk) ([#815](https://github.com/community-scripts/ProxmoxVE/pull/815))
|
||||
- Update some JSON Files for Website [@MickLesk](https://github.com/MickLesk) ([#812](https://github.com/community-scripts/ProxmoxVE/pull/812))
|
||||
- Update Notes & Documentation for Proxmox Backup Server [@MickLesk](https://github.com/MickLesk) ([#804](https://github.com/community-scripts/ProxmoxVE/pull/804))
|
||||
|
||||
### 🧰 Maintenance
|
||||
|
||||
- Github: Optimize Issue Template & PR Template [@MickLesk](https://github.com/MickLesk) ([#802](https://github.com/community-scripts/ProxmoxVE/pull/802))
|
||||
|
||||
## 2024-12-12
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Update jellyfin.sh / Fix infinite loop [@gerpo](https://github.com/gerpo) ([#792](https://github.com/community-scripts/ProxmoxVE/pull/792))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- Fix port and website in nextcloudpi.json [@PhoenixEmik](https://github.com/PhoenixEmik) ([#790](https://github.com/community-scripts/ProxmoxVE/pull/790))
|
||||
- Add post-install note to mqtt.json [@havardthom](https://github.com/havardthom) ([#783](https://github.com/community-scripts/ProxmoxVE/pull/783))
|
||||
|
||||
### 🧰 Maintenance
|
||||
|
||||
- Filter pull requests on main branch in changelog-pr.yml [@havardthom](https://github.com/havardthom) ([#793](https://github.com/community-scripts/ProxmoxVE/pull/793))
|
||||
- Fix Z-Wave JS UI Breaking Change in CHANGELOG.md [@havardthom](https://github.com/havardthom) ([#781](https://github.com/community-scripts/ProxmoxVE/pull/781))
|
||||
|
||||
## 2024-12-09
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Fix PostgreSQL password bug in Umami install [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#750](https://github.com/community-scripts/ProxmoxVE/pull/750))
|
||||
|
||||
## 2024-12-08
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Use MongoDB 4.4 in Unifi for non-AVX users [@havardthom](https://github.com/havardthom) ([#691](https://github.com/community-scripts/ProxmoxVE/pull/691))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- Move homarr to Dashboards section [@CrazyWolf13](https://github.com/CrazyWolf13) ([#740](https://github.com/community-scripts/ProxmoxVE/pull/740))
|
||||
|
||||
## 2024-12-07
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Zigbee2MQTT: Remove dev branch choice until v2.0.0 release [@havardthom](https://github.com/havardthom) ([#702](https://github.com/community-scripts/ProxmoxVE/pull/702))
|
||||
- Fix Hoarder build failure by installing Chromium stable [@vhsdream](https://github.com/vhsdream) ([#723](https://github.com/community-scripts/ProxmoxVE/pull/723))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- Bugfix: Include script name in website search [@havardthom](https://github.com/havardthom) ([#731](https://github.com/community-scripts/ProxmoxVE/pull/731))
|
||||
|
||||
### ❔ Unlabelled
|
||||
|
||||
- Fix broken build.func [@havardthom](https://github.com/havardthom) ([#736](https://github.com/community-scripts/ProxmoxVE/pull/736))
|
||||
|
||||
## 2024-12-06
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Fix bugs in Komga update [@DysfunctionalProgramming](https://github.com/DysfunctionalProgramming) ([#717](https://github.com/community-scripts/ProxmoxVE/pull/717))
|
||||
- Bookstack: Fix Update function composer [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#700](https://github.com/community-scripts/ProxmoxVE/pull/700))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- fix: note component in json-editor getting out of focus when typing and revert theme switch animation [@BramSuurdje](https://github.com/BramSuurdje) ([#706](https://github.com/community-scripts/ProxmoxVE/pull/706))
|
||||
|
||||
### 🧰 Maintenance
|
||||
|
||||
- Update frontend CI/CD workflow [@havardthom](https://github.com/havardthom) ([#703](https://github.com/community-scripts/ProxmoxVE/pull/703))
|
||||
|
||||
## 2024-12-05
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- PostgreSQL: Change authentication method from peer to md5 for UNIX sockets [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#650](https://github.com/community-scripts/ProxmoxVE/pull/650))
|
||||
- Fix stdout in unifi.sh [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#688](https://github.com/community-scripts/ProxmoxVE/pull/688))
|
||||
- Fix `rm` bug in Vikunja update [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#692](https://github.com/community-scripts/ProxmoxVE/pull/692))
|
||||
|
||||
## 2024-12-04
|
||||
|
||||
### Changed
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Update Spelling 'Environment' in nginxproxymanager [@MathijsG](https://github.com/MathijsG) ([#676](https://github.com/community-scripts/ProxmoxVE/pull/676))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- Update homepage.json documentation and website links [@patchmonkey](https://github.com/patchmonkey) ([#668](https://github.com/community-scripts/ProxmoxVE/pull/668))
|
||||
|
||||
## 2024-12-03
|
||||
|
||||
### Changed
|
||||
|
||||
### ✨ New Scripts
|
||||
|
||||
- New Script: Onedev [@quantumryuu](https://github.com/quantumryuu) ([#612](https://github.com/community-scripts/ProxmoxVE/pull/612))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Script Update: SnipeIT [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#641](https://github.com/community-scripts/ProxmoxVE/pull/641))
|
||||
|
||||
## 2024-12-02
|
||||
|
||||
### Changed
|
||||
@ -70,13 +195,17 @@ Do not break established syntax in this file, as it is automatically updated by
|
||||
|
||||
### Changed
|
||||
|
||||
### 💥 Breaking Changes
|
||||
|
||||
- Fix Z-Wave JS UI script [@MickLesk](https://github.com/MickLesk) ([#546](https://github.com/community-scripts/ProxmoxVE/pull/546))
|
||||
- [Migration guide](https://github.com/community-scripts/ProxmoxVE/discussions/635)
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Add vitest, add json validation tests, fix broken json files [@havardthom](https://github.com/havardthom) ([#566](https://github.com/community-scripts/ProxmoxVE/pull/566))
|
||||
- Add update script to Pocketbase [@dsiebel](https://github.com/dsiebel) ([#535](https://github.com/community-scripts/ProxmoxVE/pull/535))
|
||||
- Fix MongoDB install in Unifi script [@havardthom](https://github.com/havardthom) ([#564](https://github.com/community-scripts/ProxmoxVE/pull/564))
|
||||
- Remove changing DISK_REF for zfspool mikrotik-routeros.sh [@tjcomserv](https://github.com/tjcomserv) ([#529](https://github.com/community-scripts/ProxmoxVE/pull/529))
|
||||
- Fix Z-Wave JS UI script [@MickLesk](https://github.com/MickLesk) ([#546](https://github.com/community-scripts/ProxmoxVE/pull/546))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
|
@ -70,9 +70,10 @@ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_v
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv BookStack-${RELEASE} /opt/bookstack
|
||||
mv /opt/.env /opt/bookstack/.env
|
||||
cd /opt/bookstack
|
||||
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
|
||||
php artisan key:generate &>/dev/null
|
||||
php artisan migrate &>/dev/null
|
||||
php artisan key:generate --force &>/dev/null
|
||||
php artisan migrate --force &>/dev/null
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
|
@ -61,7 +61,7 @@ if [[ ! -d /usr/lib/jellyfin ]]; then msg_error "No ${APP} Installation Found!";
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
apt-get --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
|
||||
apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
exit
|
||||
}
|
||||
|
@ -65,18 +65,14 @@ apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
|
||||
RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
msg_info "Downloading Keycloak v$RELEASE"
|
||||
msg_info "Updating Keycloak to v$RELEASE"
|
||||
cd /opt
|
||||
wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
|
||||
$STD tar -xvf keycloak-$RELEASE.tar.gz
|
||||
|
||||
msg_info "Merging configuration files"
|
||||
cp -r keycloak/conf keycloak-$RELEASE
|
||||
cp -r keycloak/providers keycloak-$RELEASE
|
||||
cp -r keycloak/themes keycloak-$RELEASE
|
||||
|
||||
msg_info "Updating Keycloak"
|
||||
mv keycloak keycloak.old
|
||||
tar -xzf keycloak-$RELEASE.tar.gz
|
||||
cp -r keycloak.old/conf keycloak-$RELEASE
|
||||
cp -r keycloak.old/providers keycloak-$RELEASE
|
||||
cp -r keycloak.old/themes keycloak-$RELEASE
|
||||
mv keycloak-$RELEASE keycloak
|
||||
|
||||
msg_info "Delete temporary installation files"
|
||||
|
@ -56,7 +56,7 @@ function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /opt/komga/komga*.jar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
if [[ ! -f /opt/komga/komga.jar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP}"
|
||||
RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
@ -65,8 +65,8 @@ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_v
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
rm -rf /opt/komga/komga*.jar
|
||||
wget -q "https://github.com/gotson/komga/releases/download/v${RELEASE}/komga-${RELEASE}.jar"
|
||||
wget -q "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar"
|
||||
rm -rf /opt/komga/komga.jar
|
||||
mv -f komga-${RELEASE}.jar /opt/komga/komga.jar
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||
|
99
ct/onedev.sh
Normal file
99
ct/onedev.sh
Normal file
@ -0,0 +1,99 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 community-scripts ORG
|
||||
# Author: kristocopani
|
||||
# License: MIT
|
||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
____ ____
|
||||
/ __ \____ ___ / __ \___ _ __
|
||||
/ / / / __ \/ _ \/ / / / _ \ | / /
|
||||
/ /_/ / / / / __/ /_/ / __/ |/ /
|
||||
\____/_/ /_/\___/_____/\___/|___/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="OneDev"
|
||||
var_disk="4"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -f /etc/systemd/system/onedev.service ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
GITHUB_RELEASE=$(curl -s https://api.github.com/repos/theonedev/onedev/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${GITHUB_RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop onedev
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} to v${GITHUB_RELEASE}"
|
||||
cd /opt
|
||||
wget -q https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz
|
||||
tar -xzf onedev-latest.tar.gz
|
||||
/opt/onedev-latest/bin/upgrade.sh /opt/onedev >/dev/null
|
||||
RELEASE=$(cat /opt/onedev/release.properties | grep "version" | cut -d'=' -f2)
|
||||
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start onedev
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/onedev-latest
|
||||
rm -rf /opt/onedev-latest.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 "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:6610${CL} \n"
|
89
ct/silverbullet.sh
Normal file
89
ct/silverbullet.sh
Normal file
@ -0,0 +1,89 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 community-scripts ORG
|
||||
# Author: Dominik Siebel (dsiebel)
|
||||
# License: MIT
|
||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
_ __ __ ____ __
|
||||
_____(_) / _____ _____/ /_ __ __/ / /__ / /_
|
||||
/ ___/ / / | / / _ \/ ___/ __ \/ / / / / / _ \/ __/
|
||||
(__ ) / /| |/ / __/ / / /_/ / /_/ / / / __/ /_
|
||||
/____/_/_/ |___/\___/_/ /_.___/\__,_/_/_/\___/\__/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Silverbullet"
|
||||
var_disk="2"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/silverbullet ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ ! -f "/opt/${APP}_version.txt" || "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Stopping ${APP}"
|
||||
systemctl stop silverbullet
|
||||
msg_ok "Stopped ${APP}"
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
wget -q https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip
|
||||
unzip silverbullet-server-linux-x86_64.zip &>/dev/null
|
||||
mv silverbullet /opt/silverbullet/bin/
|
||||
chmod +x /opt/silverbullet/bin/silverbullet
|
||||
echo "${RELEASE}" >/opt/silverbullet/${APP}_version.txt
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start silverbullet
|
||||
msg_ok "Started ${APP}"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:3000${CL} \n"
|
@ -58,32 +58,36 @@ header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/snipe-it ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
mv /opt/snipe-it /opt/snipe-it-backup
|
||||
cd /opt
|
||||
RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" &>/dev/null
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv snipe-it-${RELEASE} /opt/snipe-it
|
||||
cp /opt/snipe-it-backup/.env /opt/snipe-it/.env
|
||||
cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/
|
||||
cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads
|
||||
cd /opt/snipe-it/
|
||||
export COMPOSER_ALLOW_SUPERUSER=1
|
||||
composer install --no-dev --prefer-source &>/dev/null
|
||||
composer dump-autoload &>/dev/null
|
||||
php artisan migrate --force &>/dev/null
|
||||
php artisan config:clear &>/dev/null
|
||||
php artisan route:clear &>/dev/null
|
||||
php artisan cache:clear &>/dev/null
|
||||
php artisan view:clear &>/dev/null
|
||||
chown -R www-data: /opt/snipe-it
|
||||
chmod -R 755 /opt/snipe-it
|
||||
rm -rf /opt/v${RELEASE}.zip
|
||||
rm -rf /opt/snipe-it-backup
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
apt-get update &>/dev/null
|
||||
apt-get -y upgrade &>/dev/null
|
||||
mv /opt/snipe-it /opt/snipe-it-backup
|
||||
cd /opt
|
||||
wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" &>/dev/null
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv snipe-it-${RELEASE} /opt/snipe-it
|
||||
cp /opt/snipe-it-backup/.env /opt/snipe-it/.env
|
||||
cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/
|
||||
cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads
|
||||
cd /opt/snipe-it/
|
||||
export COMPOSER_ALLOW_SUPERUSER=1
|
||||
composer install --no-dev --prefer-source &>/dev/null
|
||||
composer dump-autoload &>/dev/null
|
||||
php artisan migrate --force &>/dev/null
|
||||
php artisan config:clear &>/dev/null
|
||||
php artisan route:clear &>/dev/null
|
||||
php artisan cache:clear &>/dev/null
|
||||
php artisan view:clear &>/dev/null
|
||||
chown -R www-data: /opt/snipe-it
|
||||
chmod -R 755 /opt/snipe-it
|
||||
rm -rf /opt/v${RELEASE}.zip
|
||||
rm -rf /opt/snipe-it-backup
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}."
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
@ -58,8 +58,8 @@ check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /usr/lib/unifi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_info "Updating ${APP}"
|
||||
apt-get update --allow-releaseinfo-change
|
||||
apt-get install -y unifi
|
||||
apt-get update --allow-releaseinfo-change &>/dev/null
|
||||
apt-get install -y unifi &>/dev/null
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_v
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
cd /opt
|
||||
rm -rf /opt/*
|
||||
rm -rf /opt/vikunja/vikunja
|
||||
wget -q "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb"
|
||||
DEBIAN_FRONTEND=noninteractive dpkg -i vikunja-$RELEASE-amd64.deb &>/dev/null
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
|
@ -12,7 +12,7 @@ import { cn } from "@/lib/utils";
|
||||
import { PlusCircle, Trash2 } from "lucide-react";
|
||||
import { z } from "zod";
|
||||
import { ScriptSchema, type Script } from "../_schemas/schemas";
|
||||
import { memo, useCallback } from "react";
|
||||
import { memo, useCallback, useRef } from "react";
|
||||
|
||||
type NoteProps = {
|
||||
script: Script;
|
||||
@ -27,6 +27,8 @@ function Note({
|
||||
setIsValid,
|
||||
setZodErrors,
|
||||
}: NoteProps) {
|
||||
const inputRefs = useRef<(HTMLInputElement | null)[]>([]);
|
||||
|
||||
const addNote = useCallback(() => {
|
||||
setScript({
|
||||
...script,
|
||||
@ -49,6 +51,12 @@ function Note({
|
||||
setIsValid(result.success);
|
||||
setZodErrors(result.success ? null : result.error);
|
||||
setScript(updated);
|
||||
// Restore focus after state update
|
||||
if (key === "text") {
|
||||
setTimeout(() => {
|
||||
inputRefs.current[index]?.focus();
|
||||
}, 0);
|
||||
}
|
||||
}, [script, setScript, setIsValid, setZodErrors]);
|
||||
|
||||
const removeNote = useCallback((index: number) => {
|
||||
@ -58,46 +66,51 @@ function Note({
|
||||
});
|
||||
}, [script, setScript]);
|
||||
|
||||
const NoteItem = memo(({ note, index }: { note: Script["notes"][number], index: number }) => (
|
||||
<div className="space-y-2 border p-4 rounded">
|
||||
<Input
|
||||
placeholder="Note Text"
|
||||
value={note.text}
|
||||
onChange={(e) => updateNote(index, "text", e.target.value)}
|
||||
/>
|
||||
<Select
|
||||
value={note.type}
|
||||
onValueChange={(value) => updateNote(index, "type", value)}
|
||||
>
|
||||
<SelectTrigger className="flex-1">
|
||||
<SelectValue placeholder="Type" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
{Object.keys(AlertColors).map((type) => (
|
||||
<SelectItem key={type} value={type}>
|
||||
<span className="flex items-center gap-2">
|
||||
{type.charAt(0).toUpperCase() + type.slice(1)}{" "}
|
||||
<div
|
||||
className={cn(
|
||||
"size-4 rounded-full border",
|
||||
AlertColors[type as keyof typeof AlertColors],
|
||||
)}
|
||||
/>
|
||||
</span>
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="destructive"
|
||||
type="button"
|
||||
onClick={() => removeNote(index)}
|
||||
>
|
||||
<Trash2 className="mr-2 h-4 w-4" /> Remove Note
|
||||
</Button>
|
||||
</div>
|
||||
));
|
||||
const NoteItem = memo(
|
||||
({ note, index }: { note: Script["notes"][number]; index: number }) => (
|
||||
<div className="space-y-2 border p-4 rounded">
|
||||
<Input
|
||||
placeholder="Note Text"
|
||||
value={note.text}
|
||||
onChange={(e) => updateNote(index, "text", e.target.value)}
|
||||
ref={(el) => {
|
||||
inputRefs.current[index] = el;
|
||||
}}
|
||||
/>
|
||||
<Select
|
||||
value={note.type}
|
||||
onValueChange={(value) => updateNote(index, "type", value)}
|
||||
>
|
||||
<SelectTrigger className="flex-1">
|
||||
<SelectValue placeholder="Type" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
{Object.keys(AlertColors).map((type) => (
|
||||
<SelectItem key={type} value={type}>
|
||||
<span className="flex items-center gap-2">
|
||||
{type.charAt(0).toUpperCase() + type.slice(1)}{" "}
|
||||
<div
|
||||
className={cn(
|
||||
"size-4 rounded-full border",
|
||||
AlertColors[type as keyof typeof AlertColors],
|
||||
)}
|
||||
/>
|
||||
</span>
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="destructive"
|
||||
type="button"
|
||||
onClick={() => removeNote(index)}
|
||||
>
|
||||
<Trash2 className="mr-2 h-4 w-4" /> Remove Note
|
||||
</Button>
|
||||
</div>
|
||||
),
|
||||
);
|
||||
|
||||
NoteItem.displayName = 'NoteItem';
|
||||
|
||||
|
@ -26,7 +26,7 @@ export const formattedBadge = (type: string) => {
|
||||
<Badge className="text-yellow-500/75 border-yellow-500/75">LXC</Badge>
|
||||
);
|
||||
case "misc":
|
||||
return <Badge className="text-red-500/75 border-red-500/75">MISC</Badge>;
|
||||
return <Badge className="text-green-500/75 border-green-500/75">MISC</Badge>;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
@ -95,7 +95,7 @@ export default function CommandMenu() {
|
||||
{category.scripts.map((script) => (
|
||||
<CommandItem
|
||||
key={`script:${script.slug}`}
|
||||
value={script.slug}
|
||||
value={`${script.slug}-${script.name}`}
|
||||
onSelect={() => {
|
||||
setOpen(false);
|
||||
router.push(`/scripts?id=${script.slug}`);
|
||||
|
@ -30,24 +30,6 @@
|
||||
--chart-3: 197 37% 24%;
|
||||
--chart-4: 43 74% 66%;
|
||||
--chart-5: 27 87% 67%;
|
||||
--expo-out: linear(
|
||||
0 0%,
|
||||
0.1684 2.66%,
|
||||
0.3165 5.49%,
|
||||
0.446 8.52%,
|
||||
0.5581 11.78%,
|
||||
0.6535 15.29%,
|
||||
0.7341 19.11%,
|
||||
0.8011 23.3%,
|
||||
0.8557 27.93%,
|
||||
0.8962 32.68%,
|
||||
0.9283 38.01%,
|
||||
0.9529 44.08%,
|
||||
0.9711 51.14%,
|
||||
0.9833 59.06%,
|
||||
0.9915 68.74%,
|
||||
1 100%
|
||||
);
|
||||
}
|
||||
|
||||
::selection {
|
||||
@ -81,42 +63,6 @@
|
||||
--chart-4: 280 65% 60%;
|
||||
--chart-5: 340 75% 55%;
|
||||
}
|
||||
|
||||
::view-transition-group(root) {
|
||||
animation-duration: 0.7bun s;
|
||||
animation-timing-function: var(--expo-out);
|
||||
}
|
||||
|
||||
::view-transition-new(root) {
|
||||
animation-name: reveal-light;
|
||||
}
|
||||
|
||||
::view-transition-old(root),
|
||||
.dark::view-transition-old(root) {
|
||||
animation: none;
|
||||
z-index: -1;
|
||||
}
|
||||
.dark::view-transition-new(root) {
|
||||
animation-name: reveal-dark;
|
||||
}
|
||||
|
||||
@keyframes reveal-dark {
|
||||
from {
|
||||
clip-path: polygon(50% -71%, -50% 71%, -50% 71%, 50% -71%);
|
||||
}
|
||||
to {
|
||||
clip-path: polygon(50% -71%, -50% 71%, 50% 171%, 171% 50%);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes reveal-light {
|
||||
from {
|
||||
clip-path: polygon(171% 50%, 50% 171%, 50% 171%, 171% 50%);
|
||||
}
|
||||
to {
|
||||
clip-path: polygon(171% 50%, 50% 171%, -50% 71%, 50% -71%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@layer base {
|
||||
|
@ -25,7 +25,9 @@ msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Alpine-Vaultwarden"
|
||||
$STD apk add vaultwarden
|
||||
sed -i -e 's/# export ADMIN_TOKEN=.*/export ADMIN_TOKEN='\'''\''/' -e '/^# export ROCKET_ADDRESS=0\.0\.0\.0/s/^# //' -e 's|export WEB_VAULT_ENABLED=.*|export WEB_VAULT_ENABLED=true|' /etc/conf.d/vaultwarden
|
||||
sed -i -e 's|export WEB_VAULT_ENABLED=.*|export WEB_VAULT_ENABLED=true|' /etc/conf.d/vaultwarden
|
||||
echo -e "export ADMIN_TOKEN=''" >>/etc/conf.d/vaultwarden
|
||||
echo -e "export ROCKET_ADDRESS=0.0.0.0" >>/etc/conf.d/vaultwarden
|
||||
msg_ok "Installed Alpine-Vaultwarden"
|
||||
|
||||
msg_info "Installing Web-Vault"
|
||||
|
@ -22,7 +22,8 @@ $STD apt-get install -y \
|
||||
sudo \
|
||||
gnupg \
|
||||
ca-certificates \
|
||||
chromium \
|
||||
chromium/stable \
|
||||
chromium-common/stable \
|
||||
mc
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
|
@ -80,7 +80,7 @@ else
|
||||
cd ./nginx-proxy-manager-${RELEASE}
|
||||
msg_ok "Downloaded Nginx Proxy Manager v${RELEASE}"
|
||||
fi
|
||||
msg_info "Setting up Enviroment"
|
||||
msg_info "Setting up Environment"
|
||||
ln -sf /usr/bin/python3 /usr/bin/python
|
||||
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot
|
||||
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
||||
|
44
install/onedev-install.sh
Normal file
44
install/onedev-install.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2024 community-scripts ORG
|
||||
# Author: kristocopani
|
||||
# License: MIT
|
||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
curl \
|
||||
mc \
|
||||
sudo \
|
||||
default-jdk \
|
||||
git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
|
||||
msg_info "Installing OneDev"
|
||||
cd /opt
|
||||
wget -q https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz
|
||||
tar -xzf onedev-latest.tar.gz
|
||||
mv /opt/onedev-latest /opt/onedev
|
||||
$STD /opt/onedev/bin/server.sh install
|
||||
systemctl start onedev
|
||||
RELEASE=$(cat /opt/onedev/release.properties | grep "version" | cut -d'=' -f2)
|
||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||
msg_ok "Installed OneDev"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/onedev-latest.tar.gz
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
@ -35,7 +35,7 @@ cat <<EOF >/etc/postgresql/17/main/pg_hba.conf
|
||||
local all postgres peer
|
||||
# TYPE DATABASE USER ADDRESS METHOD
|
||||
# "local" is for Unix domain socket connections only
|
||||
local all all peer
|
||||
local all all md5
|
||||
# IPv4 local connections:
|
||||
host all all 127.0.0.1/32 scram-sha-256
|
||||
host all all 0.0.0.0/24 md5
|
||||
|
60
install/silverbullet-install.sh
Normal file
60
install/silverbullet-install.sh
Normal file
@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2024 community-scripts ORG
|
||||
# Author: Dominik Siebel (dsiebel)
|
||||
# License: MIT
|
||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
|
||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
curl \
|
||||
sudo \
|
||||
mc
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
RELEASE=$(curl -s https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
|
||||
msg_info "Installing ${APPLICATION}"
|
||||
mkdir -p /opt/silverbullet/bin /opt/silverbullet/space
|
||||
wget -q https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip
|
||||
unzip -oq -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip
|
||||
chmod +x /opt/silverbullet/bin/silverbullet
|
||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||
msg_ok "Installed ${APPLICATION}"
|
||||
|
||||
msg_info "Creating Service"
|
||||
|
||||
cat <<EOF >/etc/systemd/system/silverbullet.service
|
||||
[Unit]
|
||||
Description=Silverbullet Daemon
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
Type=simple
|
||||
ExecStart=/opt/silverbullet/bin/silverbullet --hostname 0.0.0.0 --port 3000 /opt/silverbullet/space
|
||||
WorkingDirectory=/opt/silverbullet
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable --now -q silverbullet
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
rm silverbullet-server-linux-x86_64.zip
|
||||
msg_ok "Cleaned"
|
@ -45,6 +45,7 @@ msg_ok "Set up database"
|
||||
msg_info "Installing Snipe-IT"
|
||||
cd /opt
|
||||
RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||
wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip"
|
||||
unzip -q v${RELEASE}.zip
|
||||
mv snipe-it-${RELEASE} /opt/snipe-it
|
||||
|
@ -37,7 +37,7 @@ msg_ok "Installed Node.js"
|
||||
msg_info "Setting up postgresql"
|
||||
DB_NAME=umamidb
|
||||
DB_USER=umami
|
||||
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
|
||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||
SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
|
||||
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
|
||||
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
|
||||
|
@ -30,16 +30,15 @@ msg_ok "Installed Eclipse Temurin JRE"
|
||||
|
||||
if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then
|
||||
msg_ok "No AVX Support Detected"
|
||||
msg_info "Installing MongoDB 4.2"
|
||||
msg_info "Installing MongoDB 4.4"
|
||||
if ! dpkg -l | grep -q "libssl1.1"; then
|
||||
wget -q http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb
|
||||
$STD dpkg -i libssl1.1_1.1.1n-0+deb10u6_amd64.deb
|
||||
$STD apt-get install -f -y # Fix any broken dependencies
|
||||
fi
|
||||
wget -qO- https://www.mongodb.org/static/pgp/server-4.2.asc | gpg --dearmor > /usr/share/keyrings/mongodb-server-4.2.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/mongodb-server-4.2.gpg] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" >/etc/apt/sources.list.d/mongodb-org-4.2.list
|
||||
wget -qO- https://www.mongodb.org/static/pgp/server-4.4.asc | gpg --dearmor > /usr/share/keyrings/mongodb-server-4.4.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" >/etc/apt/sources.list.d/mongodb-org-4.4.list
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y mongodb-org=4.2.17
|
||||
$STD apt-get install -y mongodb-org
|
||||
else
|
||||
msg_info "Installing MongoDB 7.0"
|
||||
wget -qO- https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-7.0.gpg
|
||||
|
@ -40,20 +40,8 @@ msg_info "Setting up Zigbee2MQTT Repository"
|
||||
$STD git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
|
||||
msg_ok "Set up Zigbee2MQTT Repository"
|
||||
|
||||
read -r -p "Switch to Edge/dev branch? (y/N) " prompt
|
||||
if [[ $prompt == "y" ]]; then
|
||||
DEV="y"
|
||||
else
|
||||
DEV="n"
|
||||
fi
|
||||
|
||||
msg_info "Installing Zigbee2MQTT"
|
||||
cd /opt/zigbee2mqtt
|
||||
if [[ $DEV == "y" ]]; then
|
||||
$STD git fetch origin dev:dev
|
||||
$STD git checkout dev
|
||||
$STD git pull
|
||||
fi
|
||||
$STD npm ci
|
||||
msg_ok "Installed Zigbee2MQTT"
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 5006,
|
||||
"documentation": null,
|
||||
"documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/807",
|
||||
"website": "https://actualbudget.org/",
|
||||
"logo": "https://raw.githubusercontent.com/actualbudget/actual/master/packages/desktop-client/public/maskable-512x512.png",
|
||||
"description": "Actual Budget is a super fast and privacy-focused app for managing your finances. At its heart is the well proven and much loved Envelope Budgeting methodology.",
|
||||
|
@ -33,11 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "After the script finishes, reboot the LXC then run `tailscale up` in the LXC console",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Adguard Home can be updated via the user interface.",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -30,5 +30,10 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "AdventureLog uses an initial local IP, if you change your LXC-IP, you need to change the IP here: `/opt/adventurelog/backend/server/.env` and here: `/opt/adventurelog/frontend/.env`",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Resource and network settings are adjustable post LXC creation.",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -30,5 +30,10 @@
|
||||
"username": null,
|
||||
"password": "alpine"
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "To Update Alpine: `apk update && apk upgrade`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Apache-Cassandra Configuration: `nano /etc/cassandra/cassandra.yaml`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Show Login Credentials: `cat CouchDB.creds`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Within the LXC console, run `cat rpc.secret` to display the rpc-secret. Copy this token and paste it into the Aria2 RPC Secret Token box within the AriaNG Settings. Then, click the reload AriaNG button.",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": 13378,
|
||||
"documentation": null,
|
||||
"documentation": "https://www.audiobookshelf.org/guides/",
|
||||
"website": "https://www.audiobookshelf.org/",
|
||||
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/audiobookshelf.svg",
|
||||
"description": "Audiobookshelf is a Self-hosted audiobook and podcast server.",
|
||||
|
@ -9,7 +9,7 @@
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 7474,
|
||||
"documentation": null,
|
||||
"documentation": "https://autobrr.com/configuration/autobrr",
|
||||
"website": "https://autobrr.com/",
|
||||
"logo": "https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png",
|
||||
"description": "Autobrr is a torrent downloading tool that automates the process of downloading torrents. It is designed to be modern and user-friendly, providing users with a convenient and efficient way to download torrent files. With Autobrr, you can schedule and manage your torrent downloads, and have the ability to automatically download torrents based on certain conditions, such as time of day or availability of seeds. This can save you time and effort, allowing you to focus on other tasks while your torrents are being downloaded in the background.",
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Blocky Configuration Path: `/opt/blocky/config.yml`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Add Calibre-Web Extras via `update`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -30,5 +30,10 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Set a root password if using autologin. This will be the Cockpit password.`sudo passwd root`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,11 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c '$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
|
||||
]
|
||||
|
@ -32,12 +32,8 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Primary and Worker Private Keys Must Match.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "Configuration Path: `/opt/cronicle/conf/config.json`",
|
||||
"type": "warning"
|
||||
"text": "Configuration Path: `/opt/cronicle/conf/config.json` (Primary and Worker Private Keys Must Match)",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -10,7 +10,7 @@
|
||||
"privileged": false,
|
||||
"interface_port": 8084,
|
||||
"documentation": null,
|
||||
"website": null,
|
||||
"website": "https://daemonsync.me/",
|
||||
"logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1",
|
||||
"description": "Sync files from app to server, share photos & videos, back up your data and stay secure inside local network.",
|
||||
"install_methods": [
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Options to add Immich and/or Home Assistant",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -30,5 +30,10 @@
|
||||
"username": "admin",
|
||||
"password": "public"
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "Setup-Steps: Access Control ➡ Authentication ➡ Create ➡ Next ➡ Next ➡ Create ➡ Users ➡ Add ➡ Username / Password (to authenicate with MQTT) ➡ Save. You're now ready to enjoy a high-performance MQTT Broker.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "entering `evcc configure` in the LXC terminal will guide you through the creation of a configuration file for evcc.",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -30,5 +30,10 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,11 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Discussions (explore more advanced methods): `https://github.com/tteck/Proxmox/discussions/2711`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "go2rtc Interface port:`1984`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -9,10 +9,10 @@
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://github.com/tteck/Proxmox/discussions/2505#discussion-6226037",
|
||||
"documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/805",
|
||||
"website": null,
|
||||
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/lxc.svg",
|
||||
"description": "This maintains SSD performance by managing unused blocks. Thin-provisioned storage systems also require management to prevent unnecessary storage use. VMs automate fstrim, while LXC containers need manual or automated fstrim processes for optimal performance.\r\nThis is designed to work with SSDs on ext4 filesystems only.",
|
||||
"description": "This maintains SSD performance by managing unused blocks. Thin-provisioned storage systems also require management to prevent unnecessary storage use. VMs automate fstrim, while LXC containers need manual or automated fstrim processes for optimal performance.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
@ -33,6 +33,10 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "This is designed to work with SSDs on ext4 filesystems only.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
|
@ -30,14 +30,5 @@
|
||||
"username": "admin",
|
||||
"password": "admin"
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "password: `admin`",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "username: `admin`",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
"notes": []
|
||||
}
|
@ -34,6 +34,10 @@
|
||||
{
|
||||
"text": "The disk must have a minimum size of 32GB and its size cannot be changed during the creation of the VM.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Configuration settings: `/etc/headscale/config.yaml`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -30,5 +30,10 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "To check if HiveMQ is listening to the default port for MQTT `lsof -i :1883`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"name": "Homarr",
|
||||
"slug": "homarr",
|
||||
"categories": [
|
||||
18
|
||||
15
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
|
@ -32,16 +32,20 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "config path: `/root/.homeassistant`",
|
||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "Requires `6.8.4-3-pve` or newer kernel",
|
||||
"text": "Requires PVE 8.2.2 with kernel 6.8.4-3-pve or newer",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "Use Ubuntu 24.04 ONLY",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "config path: `/root/.homeassistant`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -38,6 +38,10 @@
|
||||
{
|
||||
"text": "config path: `/var/lib/docker/volumes/hass_config/_data`",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "Portainer Interface: LXC-IP: 9443",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -32,7 +32,7 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "env file location: `/opt/.env`",
|
||||
"text": ".env file location: `/opt/.env`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
|
@ -9,8 +9,8 @@
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://gethomepage.dev/latest/configs/",
|
||||
"website": "https://github.com/benphelps/homepage",
|
||||
"documentation": "https://gethomepage.dev/configs/",
|
||||
"website": "https://gethomepage.dev",
|
||||
"logo": "https://avatars.githubusercontent.com/u/122929872?v=4",
|
||||
"description": "Homepage is a self-hosted dashboard solution for centralizing and organizing data and information.",
|
||||
"install_methods": [
|
||||
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Configuration (bookmarks.yaml, services.yaml, widgets.yaml) path: `/opt/homepage/config/`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Configuration Path: `/opt/homer/assets/config.yml`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "A backup is rendered ineffective when it remains stored on the host",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,11 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "FFmpeg path: /usr/lib/jellyfin-ffmpeg/ffmpeg",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -32,8 +32,8 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Configuration Path: `/opt/mafl/data/config.yml`\r\n",
|
||||
"type": "warning"
|
||||
"text": "Configuration Path: `/opt/mafl/data/config.yml`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Configuration Path: `/opt/magicmirror/config/config.js`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "After a reboot, you can check whether any microcode updates are currently in effect by running the following command. `journalctl -k | grep -E \"microcode\" | head -n 1`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,31 +33,35 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Virtual machines without the QEMU guest agent installed must be excluded.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "Prior to generating any new CT/VM not found in this repository, it's necessary to halt Proxmox VE Monitor-All by running `systemctl stop ping-instances`.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "To make setup changes, first stop the service: `systemctl stop ping-instances`",
|
||||
"type": "Info"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "To edit pause time: `nano /usr/local/bin/ping-instances.sh`",
|
||||
"type": "Info"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "To add excluded instances: `nano /etc/systemd/system/ping-instances.service`",
|
||||
"type": "Info"
|
||||
},
|
||||
{
|
||||
"text": "To edit pause time: `nano /usr/local/bin/ping-instances.sh`",
|
||||
"type": "Info"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "After changes have been saved, `systemctl daemon-reload` and start the service: `systemctl start ping-instances`",
|
||||
"type": "Info"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Monitor-All logs: `cat /var/log/ping-instances.log`",
|
||||
"type": "Info"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -30,5 +30,10 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "You can find post-install info here: `https://github.com/community-scripts/ProxmoxVE/discussions/782`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Database credentials: `cat mysql.creds`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "With an option to install the MySQL 8.4 LTS release instead of MySQL 8.0",
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "To change Navidrome music folder path, `nano /var/lib/navidrome/navidrome.toml`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -8,9 +8,9 @@
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": 433,
|
||||
"interface_port": 4443,
|
||||
"documentation": null,
|
||||
"website": "https://www.turnkeylinux.org/nextcloud",
|
||||
"website": "https://github.com/nextcloud/nextcloudpi",
|
||||
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/nextcloud.svg",
|
||||
"description": "NextCloudPi is a popular self-hosted solution for file collaboration and data storage. It is built on the NextCloud software, which is an open-source platform for data management.",
|
||||
"install_methods": [
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "To install themes, type `update` in the LXC console.",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Manually edit `/etc/notifiarr/notifiarr.conf`to enter the API key from Notifiarr.com, and create a password for the UI.",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Configuration Path: `/etc/OliveTin/config.yaml`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
34
json/onedev.json
Normal file
34
json/onedev.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "OneDev",
|
||||
"slug": "onedev",
|
||||
"categories": [
|
||||
3
|
||||
],
|
||||
"date_created": "2024-11-30",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 6610,
|
||||
"documentation": "https://docs.onedev.io/",
|
||||
"website": "https://onedev.io/",
|
||||
"logo": "https://docs.onedev.io/img/logo.svg",
|
||||
"description": "Git server with CI/CD, kanban, and packages.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/onedev.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 4,
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Show Login Credentials: `cat /opt/openobserve/data/.env`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Show Login Credentials, type `update` in the LXC console",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": 8007,
|
||||
"documentation": null,
|
||||
"documentation": "https://pbs.proxmox.com/docs/",
|
||||
"website": "https://www.proxmox.com/en/proxmox-backup-server/overview",
|
||||
"logo": "https://raw.githubusercontent.com/home-assistant/brands/master/core_integrations/proxmoxve/icon.png",
|
||||
"description": "Proxmox Backup Server is an enterprise backup solution, for backing up and restoring VMs, containers, and physical hosts. By supporting incremental, fully deduplicated backups, Proxmox Backup Server significantly reduces network load and saves valuable storage space.",
|
||||
@ -32,7 +32,7 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Set a root password if using autologin. This will be the PBS password.",
|
||||
"text": "Set a root password if using autologin. This will be the PBS password. `sudo passwd root`",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "To set your password, log in to the container, and type the following: `pihole -a -p`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "With an option to add Unbound",
|
||||
|
@ -30,5 +30,10 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
"notes": [
|
||||
{
|
||||
"text": "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -38,6 +38,10 @@
|
||||
{
|
||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "config path: `/var/lib/containers/storage/volumes/hass_config/_data`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,11 +33,15 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Proxmox Backup Server ONLY",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Execute within the Proxmox Backup Server Shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "It is recommended to answer “yes” (y) to all options presented during the process.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "It is recommended to answer “yes” (y) to all options presented during the process.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Redis Configuration: `nano /etc/redis/redis.conf`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
34
json/silverbullet.json
Normal file
34
json/silverbullet.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "Silverbullet",
|
||||
"slug": "silverbullet",
|
||||
"categories": [
|
||||
14
|
||||
],
|
||||
"date_created": "2024-12-03",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://silverbullet.md/Manual",
|
||||
"website": "https://silverbullet.md",
|
||||
"logo": "https://silverbullet.md/.client/logo.png",
|
||||
"description": "SilverBullet is a note-taking application optimized for people with a hacker mindset.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/silverbullet.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"interface_port": 80,
|
||||
"documentation": "https://snipe-it.readme.io/docs/overview",
|
||||
"website": "https://snipeitapp.com/",
|
||||
"logo": "https://raw.githubusercontent.com/snipe/snipe-it/refs/heads/master/public/img/snipe-logo-bug.png",
|
||||
@ -30,6 +30,10 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
||||
|
||||
"notes": [
|
||||
{
|
||||
"text": "Post Install: `https://github.com/community-scripts/ProxmoxVE/discussions/671`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "The Lounge is running in private mode. Use \"sudo -u thelounge thelounge add name\" to create users.",
|
||||
"text": "The Lounge is running in private mode. Use `sudo -u thelounge thelounge add name` to create users.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
|
@ -33,11 +33,11 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "The script creates a `*.creds` file in the Proxmox root directory with the password of the newly created TurnKey LXC Appliance.",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Retrieve Password: `cat turnkey-name.creds`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "To view the database credentials : `cat umami.creds`",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
@ -32,7 +32,7 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "For non-AVX CPUs, MongoDB 4.2 is installed. Please note this is a legacy solution that may present security risks and could become unsupported in future updates.",
|
||||
"text": "For non-AVX CPUs, MongoDB 4.4 is installed. Please note this is a legacy solution that may present security risks and could become unsupported in future updates.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
|
@ -33,7 +33,7 @@
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell",
|
||||
"type": "warning"
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user