Skip to content

Commit dd7dfa8

Browse files
committed
Merge branch 'main' of github.com:DysfunctionalProgramming/ProxmoxVE
2 parents 613a72d + f8d302c commit dd7dfa8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1802
-93
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Problems with a script.
1+
name: Problems with a script
22
description: Generate a report on an issue pertaining specifically to a script. For other inquires please share them in the Discussions section.
33
body:
44
- type: markdown
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Problems with the website
2+
description: Generate a report on an issue pertaining specifically to the website (https://community-scripts.github.io/ProxmoxVE/). For other inquires please share them in the Discussions section.
3+
labels: ["website"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
**IMPORTANT:** Failure to comply with the following guidelines may result in immediate closure.
9+
- 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.
10+
- For suggestions, questions or feature/script requests, please share them in the [Discussions section.](https://github.com/community-scripts/ProxmoxVE/discussions)
11+
- type: input
12+
id: guidelines
13+
attributes:
14+
label: Please verify that you have read and understood the guidelines.
15+
placeholder: 'yes'
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: bug
20+
attributes:
21+
label: A clear and concise description of the issue.
22+
validations:
23+
required: true
24+
- type: textarea
25+
id: expected-behavior
26+
attributes:
27+
label: Please provide a description of the expected behavior.
28+
validations:
29+
required: true
30+
- type: textarea
31+
id: screenshot
32+
attributes:
33+
label: If relevant, including screenshots or a code block can be helpful in clarifying the issue.
34+
placeholder: Code blocks begin and conclude by enclosing the code with three backticks (```) above and below it.
35+
validations:
36+
required: false
37+
- type: textarea
38+
id: reproduce
39+
attributes:
40+
label: Please provide detailed steps to reproduce the issue.
41+
placeholder: First do this, then this ...
42+
validations:
43+
required: false
44+
45+

.github/autolabeler-config.json

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
2+
{
3+
"breaking change": [
4+
{
5+
"fileStatus": "renamed",
6+
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
7+
"excludeGlobs": []
8+
},
9+
{
10+
"fileStatus": "removed",
11+
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
12+
"excludeGlobs": []
13+
}
14+
],
15+
"new script": [
16+
{
17+
"fileStatus": "added",
18+
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
19+
"excludeGlobs": []
20+
}
21+
],
22+
"update script": [
23+
{
24+
"fileStatus": "modified",
25+
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
26+
"excludeGlobs": ["misc/build.func", "misc/install.func"]
27+
}
28+
],
29+
"delete script": [
30+
{
31+
"fileStatus": "removed",
32+
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
33+
"excludeGlobs": []
34+
}
35+
],
36+
"rename script": [
37+
{
38+
"fileStatus": "renamed",
39+
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
40+
"excludeGlobs": []
41+
}
42+
],
43+
"frontend": [
44+
{
45+
"fileStatus": null,
46+
"includeGlobs": ["frontend/**"],
47+
"excludeGlobs": []
48+
}
49+
],
50+
"documentation": [
51+
{
52+
"fileStatus": null,
53+
"includeGlobs": ["json/**"],
54+
"excludeGlobs": []
55+
}
56+
],
57+
"maintenance": [
58+
{
59+
"fileStatus": null,
60+
"includeGlobs": ["*.md", ".github/**"],
61+
"excludeGlobs": []
62+
}
63+
],
64+
"high risk": [
65+
{
66+
"fileStatus": null,
67+
"includeGlobs": ["misc/build.func", "misc/install.func"],
68+
"excludeGlobs": []
69+
}
70+
]
71+
}

.github/workflows/autolabeler.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Auto Label Pull Requests
2+
3+
on:
4+
pull_request_target:
5+
branches: ["main"]
6+
types: [opened, synchronize, reopened, edited]
7+
8+
jobs:
9+
autolabeler:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
pull-requests: write
13+
env:
14+
CONFIG_PATH: .github/autolabeler-config.json
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
19+
- name: Install minimatch
20+
run: npm install minimatch
21+
22+
- name: Label PR based on config rules
23+
uses: actions/github-script@v7
24+
with:
25+
script: |
26+
const fs = require('fs').promises;
27+
const path = require('path');
28+
const { minimatch } = require('minimatch');
29+
30+
const configPath = path.resolve(process.env.CONFIG_PATH);
31+
const fileContent = await fs.readFile(configPath, 'utf-8');
32+
const autolabelerConfig = JSON.parse(fileContent);
33+
34+
const prNumber = context.payload.pull_request.number;
35+
const prListFilesResponse = await github.rest.pulls.listFiles({
36+
owner: context.repo.owner,
37+
repo: context.repo.repo,
38+
pull_number: prNumber,
39+
});
40+
const prFiles = prListFilesResponse.data;
41+
42+
for (const [label, rules] of Object.entries(autolabelerConfig)) {
43+
const shouldAddLabel = prFiles.some((prFile) => {
44+
return rules.some((rule) => {
45+
const isFileStatusMatch = rule.fileStatus ? rule.fileStatus === prFile.status : true;
46+
const isIncludeGlobMatch = rule.includeGlobs.some((glob) => minimatch(prFile.filename, glob));
47+
const isExcludeGlobMatch = rule.excludeGlobs.some((glob) => minimatch(prFile.filename, glob));
48+
49+
return isFileStatusMatch && isIncludeGlobMatch && !isExcludeGlobMatch;
50+
});
51+
});
52+
53+
if (shouldAddLabel) {
54+
console.log(`Adding label ${label} to PR ${prNumber}`);
55+
await github.rest.issues.addLabels({
56+
owner: context.repo.owner,
57+
repo: context.repo.repo,
58+
issue_number: prNumber,
59+
labels: [label],
60+
});
61+
}
62+
}
63+
64+
65+

README.md

Lines changed: 90 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,112 @@
11
<div align="center">
2-
<a href="#">
3-
<img src="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo.png" height="100px" />
4-
</a>
2+
<p align="center">
3+
<a href="#">
4+
<img src="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo.png" height="100px" />
5+
</a>
6+
</p>
57
</div>
68

79
<div style="border: 2px solid #d1d5db; padding: 20px; border-radius: 8px; background-color: #f9fafb;">
810
<h2 align="center">Proxmox VE Helper-Scripts: A Community Legacy</h2>
911
<p>Dear Community,</p>
10-
<p>In agreement with <a href="https://github.com/tteck">tteck</a> and <a href="https://github.com/community-scripts">Community-Scripts</a>, this project has now transitioned into a community-driven effort. We aim to continue his work, building on the foundation he laid to support Proxmox users worldwide.</p>
11-
<p>tteck, whose contribution has been invaluable, shared recently that he is now in hospice care. His scripts have empowered thousands, and we honor his legacy by carrying this project forward with the same passion and commitment. We’re deeply grateful for his vision, which made Proxmox accessible to so many.</p>
12-
<p>To tteck: Your impact will be felt in this community for years to come. We thank you for everything.</p>
13-
<p>Warm regards,<br>The Community</p>
14-
</div>
15-
16-
---
12+
<p>In agreement with <a href="https://github.com/tteck">tteck</a> and <a href="https://github.com/community-scripts">Community-Scripts</a>, this project has now transitioned into a community-driven effort. We aim to continue his work, building on the foundation he laid to support Proxmox users worldwide. Tteck sadly <a href="https://github.com/community-scripts/ProxmoxVE/discussions/237">passed away in early November 2024</a>. This project will be a memorial for his incredible contribution to the community.</p>
1713

1814
<p align="center">
19-
<a href="https://helper-scripts.com">Website</a> |
20-
<a href="https://ko-fi.com/proxmoxhelperscripts">Ko-Fi (for tteck🙏)</a> |
21-
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">Contribute</a> |
22-
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md">Guides</a> |
23-
<a href="https://discord.gg/UHrpNWGwkH">Discord</a> |
24-
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md">Changelog</a>
15+
<a href="https://helper-scripts.com">
16+
<img src="https://img.shields.io/badge/Website-4c9b3f?style=for-the-badge&logo=github&logoColor=white" alt="Website" />
17+
</a>
18+
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">
19+
<img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
20+
</a>
21+
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md">
22+
<img src="https://img.shields.io/badge/Guides-0077b5?style=for-the-badge&logo=read-the-docs&logoColor=white" alt="Guides" />
23+
</a>
24+
<a href="https://discord.gg/UHrpNWGwkH">
25+
<img src="https://img.shields.io/badge/Discord-7289da?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
26+
</a>
27+
<a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md">
28+
<img src="https://img.shields.io/badge/Changelog-6c5ce7?style=for-the-badge&logo=git&logoColor=white" alt="Changelog" />
29+
</a>
2530
</p>
2631

32+
<hr>
33+
34+
## 🚀&nbsp; Introduction
35+
36+
**Proxmox VE Helper-Scripts** is a community-driven initiative that simplifies the setup of Proxmox Virtual Environment (VE). Originally created by [tteck](https://github.com/tteck), these scripts automate and streamline the process of creating and configuring Linux containers (LXC) and virtual machines (VMs) on Proxmox VE.
37+
2738
---
2839

29-
This community-managed project continues tteck’s original vision of simplifying Proxmox VE setup. The scripts allow users to create Linux containers or virtual machines interactively, with options for both simple and advanced configurations. While the basic setup adheres to default settings, the advanced setup offers extensive customization options for specific needs.
40+
## 📦&nbsp; Features
3041

31-
All configuration choices are displayed in a dialog box, where users can select their preferences. The script then validates these inputs to generate a final configuration for the container or virtual machine.
42+
- **Interactive Setup**: Select simple or advanced options for your VM or LXC container configurations.
43+
- **Customizable Configuration**: Advanced setup allows you to fine-tune your environment.
44+
- **Ease of Use**: Scripts automatically validate inputs to generate the final configuration.
45+
- **Proxmox Integration**: Seamlessly integrates with Proxmox VE to provide a user-friendly experience.
46+
- **Community-Driven**: This project is actively maintained and improved by the community.
3247

3348
<hr>
3449

35-
<p align="center">
36-
Please exercise caution and thoroughly review scripts and automation tasks from external sources. <a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CODE-AUDIT.md">Read more</a>
37-
</p>
50+
## 🚀&nbsp; Installation
51+
52+
To install the Proxmox Helper Scripts, simply follow these steps:
53+
54+
1. Open the [Website](https://helper-scripts.com/)
55+
2. Search for the desired script, e.g. **"Home Assistant OS VM"**.
56+
3. In the **"How To Install"** section, copy the provided **Bash command**.
57+
4. Open the Proxmox shell on your **main node**.
58+
5. Paste the command into the console, hit enter, and you are away! 🚀
59+
60+
For detailed instructions, check out our [official guides](https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md).
3861

3962
---
4063

41-
### Note on the Transition:
42-
This project is now maintained by the community in memory of tteck’s invaluable contribution. His dedication transformed the Proxmox experience for countless users, and we’re committed to continuing his work with the same dedication.
64+
## ❤️&nbsp; Community and Contributions
65+
66+
The Proxmox Helper Scripts project is community-driven, and we highly appreciate any contributions — whether it's through reporting bugs, suggesting features, improving documentation, or spreading the word. We are committed to maintaining transparency and sustainability in this open-source effort.
67+
68+
### 💖&nbsp; Donate to Support the Project
69+
70+
We offer two donation options to help maintain and grow this project:
71+
72+
- **Ko-Fi for tteck**: [Donate to tteck's wife](https://ko-fi.com/proxmoxhelperscripts) - All donations will go directly to Angie, wife of the founder of this project [who passed away in early November 2024](https://github.com/community-scripts/ProxmoxVE/discussions/237).
73+
- **Ko-Fi for Community Edition**: [Donate to this project](https://ko-fi.com/community_scripts) - All funds will go towards script maintenance infrastructure and server costs. **Our most immediate need is funding testing infrastructure**. Your contributions help keep the project running. To honor tteck's legacy this project will also raise money for charity (cancer research, hospice care). Of the money donated to this project, 30% will be donated to charity. Income, expenditure and charitable donations will be disclosed annually in a transparent manner.
74+
75+
<hr>
76+
77+
## 💬&nbsp; Get Help
78+
79+
Have a question or ran into an issue? Join the conversation and get help from fellow community members:
80+
81+
- **Discord**: Join our [Proxmox Helper Scripts Discord server](https://discord.gg/UHrpNWGwkH) to chat with other users and get support.
82+
- **GitHub Discussions**: [Ask questions or report issues](https://github.com/community-scripts/ProxmoxVE/discussions).
83+
84+
<hr>
85+
86+
## 🤝&nbsp; Found a bug or missing feature?
87+
88+
If you’ve encountered an issue or identified an area for improvement, please file a new issue on our [GitHub issues page](https://github.com/community-scripts/ProxmoxVE/issues). If you’ve already found a solution or improvement, feel free to submit a pull request! We’d love to review and merge your contributions.
89+
90+
<hr>
91+
92+
## &nbsp; Requirements
93+
94+
To use the Proxmox VE Helper-Scripts, your system should meet the following requirements:
95+
96+
- **Proxmox VE version**: 8.x or higher
97+
- **Linux**: Compatible with most distributions
98+
- **Dependencies**: Ensure that your system has bash and curl installed.
99+
100+
<hr>
101+
102+
## 📜&nbsp; License
103+
104+
This project is licensed under the terms of the [MIT License](LICENSE).
43105

44106
---
45107

46-
<sub><div align="center"> Proxmox® is a registered trademark of Proxmox Server Solutions GmbH. </div></sub>
108+
## 📢&nbsp; Acknowledgments
109+
110+
This community project is a memorial to the memory of [tteck](https://github.com/tteck). His foundational work created a thriving Proxmox community. Tteck worked on this project right until the end, even while in hospice. We are dedicated to keeping his vision alive and expanding upon it with the continued support of this vibrant community.
111+
112+
Proxmox® is a registered trademark of [Proxmox Server Solutions GmbH](https://www.proxmox.com/en/about/company).

ct/adguard.sh

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -52,35 +52,10 @@ function default_settings() {
5252
VERB="no"
5353
echo_default
5454
}
55-
5655
function update_script() {
5756
header_info
5857
if [[ ! -d /opt/AdGuardHome ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
59-
if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then
60-
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
61-
[[ ${prompt,,} =~ ^(y|yes)$ ]] || exit
62-
fi
63-
wget -qL https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
64-
msg_info "Stopping AdguardHome"
65-
systemctl stop AdGuardHome
66-
msg_ok "Stopped AdguardHome"
67-
68-
msg_info "Updating AdguardHome"
69-
tar -xvf AdGuardHome_linux_amd64.tar.gz &>/dev/null
70-
mkdir -p adguard-backup
71-
cp -r /opt/AdGuardHome/AdGuardHome.yaml /opt/AdGuardHome/data adguard-backup/
72-
cp AdGuardHome/AdGuardHome /opt/AdGuardHome/AdGuardHome
73-
cp -r adguard-backup/* /opt/AdGuardHome/
74-
msg_ok "Updated AdguardHome"
75-
76-
msg_info "Starting AdguardHome"
77-
systemctl start AdGuardHome
78-
msg_ok "Started AdguardHome"
79-
80-
msg_info "Cleaning Up"
81-
rm -rf AdGuardHome_linux_amd64.tar.gz AdGuardHome adguard-backup
82-
msg_ok "Cleaned"
83-
msg_ok "Updated Successfully"
58+
msg_error "Adguard Home should be updated via the user interface."
8459
exit
8560
}
8661

ct/adventurelog.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_v
6868

6969
msg_info "Updating ${APP} to ${RELEASE}"
7070
cp /opt/adventurelog/backend/server/.env /opt/server.env
71-
cp /opt/adventurelog/frontend/env /opt/frontend.env
71+
cp /opt/adventurelog/frontend/.env /opt/frontend.env
7272
wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
7373
unzip -q v${RELEASE}.zip
7474
mv AdventureLog-${RELEASE} /opt/adventurelog
@@ -107,4 +107,4 @@ description
107107

108108
msg_ok "Completed Successfully!\n"
109109
echo -e "${APP} Setup should be reachable by going to the following URL.
110-
${BL}http://${IP}:3000${CL} \n"
110+
${BL}http://${IP}:3000${CL} \n"

ct/jellyfin.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ if [[ ! -d /usr/lib/jellyfin ]]; then msg_error "No ${APP} Installation Found!";
5959
msg_info "Updating ${APP} LXC"
6060
apt-get update &>/dev/null
6161
apt-get -y upgrade &>/dev/null
62+
apt-get --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
6263
msg_ok "Updated ${APP} LXC"
6364
exit
6465
}

ct/jellyseerr.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ then
7575
exit
7676
fi
7777
systemctl stop jellyseerr
78+
rm -rf dist
79+
rm -rf .next
80+
rm -rf node_modules
7881
export CYPRESS_INSTALL_BINARY=0
7982
pnpm install --frozen-lockfile &>/dev/null
8083
export NODE_OPTIONS="--max-old-space-size=3072"

0 commit comments

Comments
 (0)