mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-09-25 11:11:02 +00:00
Compare commits
210 Commits
2025-09-07
...
2025-09-19
Author | SHA1 | Date | |
---|---|---|---|
![]() |
fef7786714 | ||
![]() |
0dfd337a9a | ||
![]() |
d99862fa24 | ||
![]() |
ac08d385c0 | ||
![]() |
7a9de76acb | ||
![]() |
35f3f043a7 | ||
![]() |
4276df26d7 | ||
![]() |
5fec573533 | ||
![]() |
ebd269a808 | ||
![]() |
532c0a95bb | ||
![]() |
c078b11aa9 | ||
![]() |
ab8b025824 | ||
![]() |
e2044a0572 | ||
![]() |
59e65eaba3 | ||
![]() |
a2306d6b32 | ||
![]() |
3e71af1895 | ||
![]() |
8a3b41867b | ||
![]() |
b4b9efeff2 | ||
![]() |
5e2168b2d1 | ||
![]() |
c00c1deb79 | ||
![]() |
37e3739bd2 | ||
![]() |
f5eda37397 | ||
![]() |
9e42c801f1 | ||
![]() |
e4d6dfc885 | ||
![]() |
14894f84b6 | ||
![]() |
b5f70e6e77 | ||
![]() |
2919ce16f1 | ||
![]() |
38cf6b2f46 | ||
![]() |
c390fb925d | ||
![]() |
a28fdac3f0 | ||
![]() |
41b27b31dc | ||
![]() |
7ef8afe4d2 | ||
![]() |
694d9c203e | ||
![]() |
76dcc45e9f | ||
![]() |
a0952e9f69 | ||
![]() |
3bd6b6e540 | ||
![]() |
61be53cc26 | ||
![]() |
02eda516df | ||
![]() |
25213fabaa | ||
![]() |
ad8a4f63c4 | ||
![]() |
bcce0e20c1 | ||
![]() |
515c4073c4 | ||
![]() |
30e22ff661 | ||
![]() |
8265abfb20 | ||
![]() |
b40d061f3e | ||
![]() |
efe598d6ec | ||
![]() |
82caa8769e | ||
![]() |
7961023f8c | ||
![]() |
ea58fdb7e0 | ||
![]() |
238895534a | ||
![]() |
cc1c2f84ca | ||
![]() |
3aff0d9d7e | ||
![]() |
7cd332680a | ||
![]() |
382e679842 | ||
![]() |
a3b5f798de | ||
![]() |
c22630c887 | ||
![]() |
542f260f31 | ||
![]() |
a40cc130bd | ||
![]() |
7311f1b843 | ||
![]() |
acd9bb1357 | ||
![]() |
e2e2459bfd | ||
![]() |
caeba37a2e | ||
![]() |
44a8c70437 | ||
![]() |
1860f4b2ee | ||
![]() |
bf0bac1523 | ||
![]() |
b6bfe9a4b6 | ||
![]() |
634386ea50 | ||
![]() |
020c8a76c1 | ||
![]() |
8f738e2d26 | ||
![]() |
e5e7547eca | ||
![]() |
a383aa5679 | ||
![]() |
ce68253564 | ||
![]() |
65e561dcbe | ||
![]() |
dffb291a4f | ||
![]() |
f3bcb3211c | ||
![]() |
7c22fe5f46 | ||
![]() |
600e739005 | ||
![]() |
31be78878f | ||
![]() |
e47d62d575 | ||
![]() |
ec58d6c622 | ||
![]() |
bac2b6eade | ||
![]() |
bb289203c6 | ||
![]() |
fe97056d19 | ||
![]() |
65ba9192d9 | ||
![]() |
8a096b9e6e | ||
![]() |
1c6efa528b | ||
![]() |
89c3410f6f | ||
![]() |
34b1d70762 | ||
![]() |
1860847153 | ||
![]() |
58905bf94d | ||
![]() |
7d1788a079 | ||
![]() |
83e04257d9 | ||
![]() |
11c33e34d2 | ||
![]() |
52df77cab5 | ||
![]() |
17f6264a03 | ||
![]() |
9463b0b808 | ||
![]() |
eba83f3848 | ||
![]() |
e3f6ea73c3 | ||
![]() |
06247e742c | ||
![]() |
4606782d6b | ||
![]() |
a988acf2d5 | ||
![]() |
5f44007372 | ||
![]() |
8b87272e38 | ||
![]() |
ceccf08f69 | ||
![]() |
5a80cd7e02 | ||
![]() |
d617a49766 | ||
![]() |
7c0d79c115 | ||
![]() |
0d4a508543 | ||
![]() |
f979dd2277 | ||
![]() |
87de220511 | ||
![]() |
481e70b0aa | ||
![]() |
6c3a16e579 | ||
![]() |
394f91c994 | ||
![]() |
63a268d6c5 | ||
![]() |
9ee6e23a59 | ||
![]() |
eceb1cd53c | ||
![]() |
719c55655d | ||
![]() |
aeb15c7ea1 | ||
![]() |
0c7a366782 | ||
![]() |
93a3a572d4 | ||
![]() |
8b2645a529 | ||
![]() |
b72e132699 | ||
![]() |
f4df8e2ccc | ||
![]() |
f03f004226 | ||
![]() |
b13c840bda | ||
![]() |
ce90647bda | ||
![]() |
164e487090 | ||
![]() |
a4660adedd | ||
![]() |
9352eec854 | ||
![]() |
4478f8f6e0 | ||
![]() |
d69cbcd941 | ||
![]() |
affcfd06cf | ||
![]() |
b94b088c19 | ||
![]() |
5385382a88 | ||
![]() |
d06ad37a22 | ||
![]() |
72c7d4199b | ||
![]() |
2e75ced83f | ||
![]() |
9a28ce0263 | ||
![]() |
9ed2507bdc | ||
![]() |
c617870c2b | ||
![]() |
eb71d21ea3 | ||
![]() |
762452b2b3 | ||
![]() |
31cd3e3119 | ||
![]() |
c25dba9212 | ||
![]() |
52cefe4a00 | ||
![]() |
7b8fcab242 | ||
![]() |
b733e8b5ea | ||
![]() |
4a4e67a3cf | ||
![]() |
b00feea00d | ||
![]() |
c250cec418 | ||
![]() |
a0af0f5196 | ||
![]() |
2f0b6e10ab | ||
![]() |
a41364d91d | ||
![]() |
e580a5d9c1 | ||
![]() |
9d059b2a13 | ||
![]() |
6e32eebdf0 | ||
![]() |
7f3ebd4296 | ||
![]() |
0c4d55bd78 | ||
![]() |
8f05be3f6b | ||
![]() |
e06cd4b28c | ||
![]() |
b9242b3232 | ||
![]() |
63f6d772ea | ||
![]() |
652df1f370 | ||
![]() |
f4b5baf308 | ||
![]() |
cc36fd5434 | ||
![]() |
3e182978ad | ||
![]() |
e7adf1a9b5 | ||
![]() |
36fb86eaf8 | ||
![]() |
495c47224e | ||
![]() |
7af71384b4 | ||
![]() |
e318152ee3 | ||
![]() |
17dc7c90a1 | ||
![]() |
226a5bce8f | ||
![]() |
ffd2ed01b9 | ||
![]() |
3348e2fff0 | ||
![]() |
def41f66f4 | ||
![]() |
02a1a732f8 | ||
![]() |
2494af7e1c | ||
![]() |
0c4711d99f | ||
![]() |
039f73a5ed | ||
![]() |
74b58d5b10 | ||
![]() |
61044104a2 | ||
![]() |
fac612077a | ||
![]() |
135b3ff964 | ||
![]() |
393b853119 | ||
![]() |
6bb2938e34 | ||
![]() |
fbf16fd54d | ||
![]() |
d6d4fd034f | ||
![]() |
aa4999dac6 | ||
![]() |
b6c0b50e79 | ||
![]() |
0f07f1927e | ||
![]() |
4493d86e51 | ||
![]() |
fbfeeeb88f | ||
![]() |
2366111bba | ||
![]() |
5fb42b87f1 | ||
![]() |
500c35c58d | ||
![]() |
ca3446c90e | ||
![]() |
4c3d42d5d1 | ||
![]() |
299a10efe8 | ||
![]() |
7adac2a342 | ||
![]() |
eb58b10d75 | ||
![]() |
5e46d81c45 | ||
![]() |
2963926c45 | ||
![]() |
d9a0b863a8 | ||
![]() |
db6369f3c6 | ||
![]() |
d450e263f0 | ||
![]() |
462960d9bf | ||
![]() |
8ea4829e8a | ||
![]() |
c5d23dc883 | ||
![]() |
3dc973e4ac |
38
.github/label-priority.json
generated
vendored
Normal file
38
.github/label-priority.json
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"priorities": {
|
||||
"refactor": 3,
|
||||
"feature": 2,
|
||||
"bugfix": 1,
|
||||
"new script": 3,
|
||||
"update script": 2,
|
||||
"delete script": 2,
|
||||
"json": 3,
|
||||
"website": 2,
|
||||
"maintenance": 1,
|
||||
"documentation": 1,
|
||||
"core": 2,
|
||||
"api": 2,
|
||||
"addon": 2,
|
||||
"pve-tool": 2,
|
||||
"vm": 2,
|
||||
"github": 1
|
||||
},
|
||||
"conflicts": {
|
||||
"bugfix": ["refactor"],
|
||||
"website": ["json"],
|
||||
"update script": ["new script", "delete script"],
|
||||
"new script": ["update script", "delete script"],
|
||||
"delete script": ["new script", "update script"]
|
||||
},
|
||||
"rules": {
|
||||
"always_combine": [
|
||||
"maintenance",
|
||||
"core",
|
||||
"api",
|
||||
"addon",
|
||||
"pve-tool",
|
||||
"vm",
|
||||
"github"
|
||||
]
|
||||
}
|
||||
}
|
116
.github/workflows/autolabeler.yml
generated
vendored
116
.github/workflows/autolabeler.yml
generated
vendored
@@ -112,3 +112,119 @@ jobs:
|
||||
labels: Array.from(labelsToAdd),
|
||||
});
|
||||
}
|
||||
ai-check:
|
||||
needs: autolabeler
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Load priority config
|
||||
run: |
|
||||
echo "PRIORITY_JSON=$(jq -c . .github/label-priority.json)" >> $GITHUB_ENV
|
||||
|
||||
- name: Fetch PR metadata
|
||||
id: pr
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const pr = context.payload.pull_request;
|
||||
const files = await github.rest.pulls.listFiles({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: pr.number
|
||||
});
|
||||
const prData = {
|
||||
title: pr.title || "",
|
||||
body: pr.body || "",
|
||||
files: files.data.map(f => f.filename)
|
||||
};
|
||||
require('fs').writeFileSync(process.env.GITHUB_ENV, `PR_DATA=${JSON.stringify(prData)}\n`, {flag: 'a'});
|
||||
|
||||
- name: AI Label Review
|
||||
id: ai
|
||||
uses: actions/github-script@v7
|
||||
env:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
with:
|
||||
script: |
|
||||
const prData = JSON.parse(process.env.PR_DATA);
|
||||
|
||||
const prompt = `
|
||||
You are a GitHub labeling bot.
|
||||
Task:
|
||||
- Analyze PR title, body, and file list.
|
||||
- For each possible label, return a confidence score (0–1).
|
||||
- If both bugfix and refactor apply, prefer refactor.
|
||||
- Output JSON: {"labels":[{"name":"bugfix","score":0.9},{"name":"refactor","score":0.6}]}
|
||||
|
||||
Valid labels: [new script, update script, delete script, bugfix, feature, maintenance, refactor, website, json, api, core, github, addon, pve-tool, vm].
|
||||
|
||||
PR data: ${JSON.stringify(prData)}
|
||||
`;
|
||||
|
||||
const response = await fetch("https://api.openai.com/v1/chat/completions", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": "Bearer " + process.env.OPENAI_API_KEY,
|
||||
},
|
||||
body: JSON.stringify({
|
||||
model: "gpt-4.1-mini",
|
||||
messages: [{ role: "user", content: prompt }],
|
||||
temperature: 0
|
||||
})
|
||||
});
|
||||
|
||||
const data = await response.json();
|
||||
const labels = JSON.parse(data.choices[0].message.content).labels;
|
||||
core.setOutput("labels", JSON.stringify(labels));
|
||||
|
||||
- name: Apply AI Labels
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const raw = JSON.parse('${{ steps.ai.outputs.labels }}');
|
||||
const prNumber = context.payload.pull_request.number;
|
||||
const config = JSON.parse(process.env.PRIORITY_JSON);
|
||||
|
||||
let toApply = [];
|
||||
let toSuggest = [];
|
||||
|
||||
raw.forEach(l => {
|
||||
if (l.score >= 0.8) {
|
||||
const conflicts = config.conflicts[l.name] || [];
|
||||
const hasStrongerConflict = conflicts.some(c =>
|
||||
raw.some(x =>
|
||||
x.name === c &&
|
||||
x.score >= 0.6 &&
|
||||
(config.priorities[c] || 0) >= (config.priorities[l.name] || 0)
|
||||
)
|
||||
);
|
||||
if (!hasStrongerConflict) {
|
||||
toApply.push(l.name);
|
||||
}
|
||||
} else if (l.score >= 0.5) {
|
||||
toSuggest.push(`${l.name} (${Math.round(l.score*100)}%)`);
|
||||
}
|
||||
});
|
||||
|
||||
if (toApply.length > 0) {
|
||||
await github.rest.issues.addLabels({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: prNumber,
|
||||
labels: toApply
|
||||
});
|
||||
}
|
||||
|
||||
if (toSuggest.length > 0) {
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: prNumber,
|
||||
body: `🤖 AI suggests these possible labels (uncertain): ${toSuggest.join(", ")}`
|
||||
});
|
||||
}
|
||||
|
253
CHANGELOG.md
253
CHANGELOG.md
@@ -10,8 +10,261 @@
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
## 2025-09-20
|
||||
|
||||
## 2025-09-19
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Tunarr ([#7735](https://github.com/community-scripts/ProxmoxVE/pull/7735))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- SigNoz: Fix wrong URL for Zookeeper [@tremor021](https://github.com/tremor021) ([#7742](https://github.com/community-scripts/ProxmoxVE/pull/7742))
|
||||
|
||||
## 2025-09-18
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Alpine-Caddy [@tremor021](https://github.com/tremor021) ([#7711](https://github.com/community-scripts/ProxmoxVE/pull/7711))
|
||||
- pve-tool: execute.sh by @jeroenzwart [@MickLesk](https://github.com/MickLesk) ([#7708](https://github.com/community-scripts/ProxmoxVE/pull/7708))
|
||||
- GlobaLeaks ([#7707](https://github.com/community-scripts/ProxmoxVE/pull/7707))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Delay chmod after updating beszel [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7725](https://github.com/community-scripts/ProxmoxVE/pull/7725))
|
||||
- Remove redundant globaleaks configuration [@evilaliv3](https://github.com/evilaliv3) ([#7723](https://github.com/community-scripts/ProxmoxVE/pull/7723))
|
||||
- Gatus: check for GO path before update [@vhsdream](https://github.com/vhsdream) ([#7705](https://github.com/community-scripts/ProxmoxVE/pull/7705))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Cloudflared: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7719](https://github.com/community-scripts/ProxmoxVE/pull/7719))
|
||||
- AdGuard Home: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7720](https://github.com/community-scripts/ProxmoxVE/pull/7720))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Immich: Debian Trixie [@vhsdream](https://github.com/vhsdream) ([#7728](https://github.com/community-scripts/ProxmoxVE/pull/7728))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- Add Warning for Containerized Home Assistant [@ZaxLofful](https://github.com/ZaxLofful) ([#7704](https://github.com/community-scripts/ProxmoxVE/pull/7704))
|
||||
|
||||
## 2025-09-17
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- beszel: fix: binary permission after upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7697](https://github.com/community-scripts/ProxmoxVE/pull/7697))
|
||||
- RabbitMQ: Update repositories [@tremor021](https://github.com/tremor021) ([#7689](https://github.com/community-scripts/ProxmoxVE/pull/7689))
|
||||
- Komodo: Add docker compose pull for actually updating docker container [@hanneshier](https://github.com/hanneshier) ([#7682](https://github.com/community-scripts/ProxmoxVE/pull/7682))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Debian-LXC: Bump to Debian 13 Trixie [@MickLesk](https://github.com/MickLesk) ([#7683](https://github.com/community-scripts/ProxmoxVE/pull/7683))
|
||||
- Bump Immich to v1.142.1 [@vhsdream](https://github.com/vhsdream) ([#7675](https://github.com/community-scripts/ProxmoxVE/pull/7675))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: Grist [@tremor021](https://github.com/tremor021) ([#7681](https://github.com/community-scripts/ProxmoxVE/pull/7681))
|
||||
|
||||
### 🧰 Maintenance
|
||||
|
||||
- #### 📂 Github
|
||||
|
||||
- Improve: SECURITY.md for clarity and detail + Adding PVE9 as supported [@MickLesk](https://github.com/MickLesk) ([#7690](https://github.com/community-scripts/ProxmoxVE/pull/7690))
|
||||
|
||||
## 2025-09-16
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Improve OpenWrt VM boot and readiness check [@MickLesk](https://github.com/MickLesk) ([#7669](https://github.com/community-scripts/ProxmoxVE/pull/7669))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- hortusfox: fix update check [@MickLesk](https://github.com/MickLesk) ([#7667](https://github.com/community-scripts/ProxmoxVE/pull/7667))
|
||||
|
||||
## 2025-09-15
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- SigNoz ([#7648](https://github.com/community-scripts/ProxmoxVE/pull/7648))
|
||||
- Scraparr ([#7644](https://github.com/community-scripts/ProxmoxVE/pull/7644))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- vm: move pv installation into ensure_pv function [@MickLesk](https://github.com/MickLesk) ([#7642](https://github.com/community-scripts/ProxmoxVE/pull/7642))
|
||||
- Cloudflare-DDNS: Fix the IP6_PROVIDER variable [@hugodantas](https://github.com/hugodantas) ([#7660](https://github.com/community-scripts/ProxmoxVE/pull/7660))
|
||||
- Wikijs: Bump Node.js version to 22 [@MickLesk](https://github.com/MickLesk) ([#7643](https://github.com/community-scripts/ProxmoxVE/pull/7643))
|
||||
|
||||
## 2025-09-14
|
||||
|
||||
## 2025-09-13
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Palmr: hotfix #7622 [@vhsdream](https://github.com/vhsdream) ([#7625](https://github.com/community-scripts/ProxmoxVE/pull/7625))
|
||||
- ollama: fix: ccurl continue on interrupts [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7620](https://github.com/community-scripts/ProxmoxVE/pull/7620))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- pdm: refactor for beta version [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7619](https://github.com/community-scripts/ProxmoxVE/pull/7619))
|
||||
- Immich: bump to v1.142.0 [@vhsdream](https://github.com/vhsdream) ([#7594](https://github.com/community-scripts/ProxmoxVE/pull/7594))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- fix: tagline grammar [@jonathanwuki](https://github.com/jonathanwuki) ([#7621](https://github.com/community-scripts/ProxmoxVE/pull/7621))
|
||||
- fix: grammar/capitalization for links and taglines [@jonathanwuki](https://github.com/jonathanwuki) ([#7609](https://github.com/community-scripts/ProxmoxVE/pull/7609))
|
||||
|
||||
## 2025-09-12
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Stylus ([#7588](https://github.com/community-scripts/ProxmoxVE/pull/7588))
|
||||
- UHF ([#7589](https://github.com/community-scripts/ProxmoxVE/pull/7589))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Tweak: post-pve-install: create folder if Not exist [@JVKeller](https://github.com/JVKeller) ([#7598](https://github.com/community-scripts/ProxmoxVE/pull/7598))
|
||||
- Update openwebui.sh [@webmogul1](https://github.com/webmogul1) ([#7582](https://github.com/community-scripts/ProxmoxVE/pull/7582))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- [core]: add fallback if mariadb upstream unreachable [@MickLesk](https://github.com/MickLesk) ([#7599](https://github.com/community-scripts/ProxmoxVE/pull/7599))
|
||||
- ESPHome: Increase default disk size [@tremor021](https://github.com/tremor021) ([#7600](https://github.com/community-scripts/ProxmoxVE/pull/7600))
|
||||
|
||||
## 2025-09-11
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- telegraf ([#7576](https://github.com/community-scripts/ProxmoxVE/pull/7576))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- [core] Sort tools.func functions alphabeticaly [@tremor021](https://github.com/tremor021) ([#7569](https://github.com/community-scripts/ProxmoxVE/pull/7569))
|
||||
- mobile subscription nag fix [@dvino](https://github.com/dvino) ([#7567](https://github.com/community-scripts/ProxmoxVE/pull/7567))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- alpine-install: switch to using GitHub to fetch tools when using GitHub [@burritosoftware](https://github.com/burritosoftware) ([#7566](https://github.com/community-scripts/ProxmoxVE/pull/7566))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Add margin-bottom to Most Viewed Scripts header to unifi UI [@BramSuurdje](https://github.com/BramSuurdje) ([#7572](https://github.com/community-scripts/ProxmoxVE/pull/7572))
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- Fix frontend url [@r1cebank](https://github.com/r1cebank) ([#7578](https://github.com/community-scripts/ProxmoxVE/pull/7578))
|
||||
|
||||
## 2025-09-10
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Autocaliweb ([#7515](https://github.com/community-scripts/ProxmoxVE/pull/7515))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Palmr: fix #7556 [@vhsdream](https://github.com/vhsdream) ([#7558](https://github.com/community-scripts/ProxmoxVE/pull/7558))
|
||||
- Wizarr: Fix DB migrations [@vhsdream](https://github.com/vhsdream) ([#7552](https://github.com/community-scripts/ProxmoxVE/pull/7552))
|
||||
- fix: pmg - split no-nag script into separate config files [@MickLesk](https://github.com/MickLesk) ([#7540](https://github.com/community-scripts/ProxmoxVE/pull/7540))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Update Palmr to Support new v3.2.1 [@vhsdream](https://github.com/vhsdream) ([#7526](https://github.com/community-scripts/ProxmoxVE/pull/7526))
|
||||
- add external installer warnings and user confirmation in several LXC's [@MickLesk](https://github.com/MickLesk) ([#7539](https://github.com/community-scripts/ProxmoxVE/pull/7539))
|
||||
- Booklore: Add Bookdrop location to .env [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7533](https://github.com/community-scripts/ProxmoxVE/pull/7533))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: audiobookshelf [@MickLesk](https://github.com/MickLesk) ([#7538](https://github.com/community-scripts/ProxmoxVE/pull/7538))
|
||||
- Refactor: Blocky [@MickLesk](https://github.com/MickLesk) ([#7537](https://github.com/community-scripts/ProxmoxVE/pull/7537))
|
||||
- Improve npmplus credential retrieval and messaging [@MickLesk](https://github.com/MickLesk) ([#7532](https://github.com/community-scripts/ProxmoxVE/pull/7532))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- Remove Pingvin Share [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7553](https://github.com/community-scripts/ProxmoxVE/pull/7553))
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- set updateable to true for several lxc JSON-configs [@MickLesk](https://github.com/MickLesk) ([#7534](https://github.com/community-scripts/ProxmoxVE/pull/7534))
|
||||
|
||||
## 2025-09-09
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Tududi: v0.81 [@vhsdream](https://github.com/vhsdream) ([#7517](https://github.com/community-scripts/ProxmoxVE/pull/7517))
|
||||
- WGDashboard: Revert back to old update method [@tremor021](https://github.com/tremor021) ([#7500](https://github.com/community-scripts/ProxmoxVE/pull/7500))
|
||||
- AdventureLog: remove folder during update process [@MickLesk](https://github.com/MickLesk) ([#7507](https://github.com/community-scripts/ProxmoxVE/pull/7507))
|
||||
- PLANKA: Fix backup and restore commands [@tremor021](https://github.com/tremor021) ([#7505](https://github.com/community-scripts/ProxmoxVE/pull/7505))
|
||||
- Recyclarr: Suppress config creation output [@tremor021](https://github.com/tremor021) ([#7502](https://github.com/community-scripts/ProxmoxVE/pull/7502))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Pulse: standardise install/update with Pulse repo script [@vhsdream](https://github.com/vhsdream) ([#7519](https://github.com/community-scripts/ProxmoxVE/pull/7519))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Refactor GitHubStarsButton to wrap in Link component for external navigation [@BramSuurdje](https://github.com/BramSuurdje) ([#7492](https://github.com/community-scripts/ProxmoxVE/pull/7492))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Bump vite from 7.0.0 to 7.1.5 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#7522](https://github.com/community-scripts/ProxmoxVE/pull/7522))
|
||||
|
||||
- #### 📝 Script Information
|
||||
|
||||
- swizzin: Change category from nvr to media [@MickLesk](https://github.com/MickLesk) ([#7511](https://github.com/community-scripts/ProxmoxVE/pull/7511))
|
||||
|
||||
## 2025-09-08
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- CT's: fix missing variable declaration (actualBudget, openziti, umlautadaptarr) [@MickLesk](https://github.com/MickLesk) ([#7483](https://github.com/community-scripts/ProxmoxVE/pull/7483))
|
||||
- karakeep: fix service file [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7482](https://github.com/community-scripts/ProxmoxVE/pull/7482))
|
||||
- Update searxng-install.sh [@sebguy](https://github.com/sebguy) ([#7469](https://github.com/community-scripts/ProxmoxVE/pull/7469))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Immich: bump to version 1.141.1 [@vhsdream](https://github.com/vhsdream) ([#7418](https://github.com/community-scripts/ProxmoxVE/pull/7418))
|
||||
- [core]: switch all base_settings to variables [@MickLesk](https://github.com/MickLesk) ([#7479](https://github.com/community-scripts/ProxmoxVE/pull/7479))
|
||||
|
||||
- #### 💥 Breaking Changes
|
||||
|
||||
- RustDesk Server: Update the credentials info [@tremor021](https://github.com/tremor021) ([#7473](https://github.com/community-scripts/ProxmoxVE/pull/7473))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Format numerical values in DataFetcher component for better readability [@BramSuurdje](https://github.com/BramSuurdje) ([#7477](https://github.com/community-scripts/ProxmoxVE/pull/7477))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- feat: enhance github stars button to be better looking and more compact [@BramSuurdje](https://github.com/BramSuurdje) ([#7464](https://github.com/community-scripts/ProxmoxVE/pull/7464))
|
||||
|
||||
## 2025-09-07
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
54
SECURITY.md
54
SECURITY.md
@@ -1,24 +1,64 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
This project currently supports the following versions of Proxmox VE:
|
||||
|
||||
This project currently supports the following versions of Proxmox VE (PVE):
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 9.0.x | :white_check_mark: |
|
||||
| 8.4.x | :white_check_mark: |
|
||||
| 8.3.x | :white_check_mark: |
|
||||
| 8.2.x | :white_check_mark: |
|
||||
| 8.1.x | :white_check_mark: |
|
||||
| 8.0.x | Limited support* ❕|
|
||||
| 8.0.x | Limited support* ❕ |
|
||||
| < 8.0 | :x: |
|
||||
|
||||
*Version 8.0.x has limited support. Security updates may not be provided for all issues in this version.
|
||||
*Version 8.0.x has limited support. Security updates may not be provided for all issues affecting this version.
|
||||
|
||||
---
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Security vulnerabilities shouldn’t be reported publicly to prevent potential exploitation. Instead, please report any vulnerabilities privately by reaching out directly to us. You can either join our [Discord server](https://discord.gg/jsYVk5JBxq) and send a direct message to a maintainer or contact us via email at contact@community-scripts.org. Be sure to include a detailed description of the vulnerability and the steps to reproduce it. Thank you for helping us keep our project secure!
|
||||
Security vulnerabilities must not be reported publicly to avoid potential exploitation.
|
||||
Instead, please report them privately via one of the following channels:
|
||||
|
||||
Once a vulnerability has been reported, the project maintainers will review it and acknowledge the report within 7 business days. We will then work to address the vulnerability and provide a fix as soon as possible. Depending on the severity of the issue, a patch may be released immediately or included in the next scheduled update.
|
||||
- **Discord**: Join our [Discord server](https://discord.gg/jsYVk5JBxq) and send a direct message to a maintainer.
|
||||
- **Email**: Write to us at **contact@community-scripts.org** with the subject line:
|
||||
`Vulnerability Report - <Project/Script Name>`.
|
||||
|
||||
Please note that not all reported vulnerabilities may be accepted. The project maintainers reserve the right to decline a vulnerability report if it is deemed to be a low-risk issue or if it conflicts with the project's design or architecture. In such cases, we will provide an explanation for the decision.
|
||||
When reporting a vulnerability, please provide:
|
||||
|
||||
If you have any questions or concerns about this security policy, please don't hesitate to contact the project maintainers.
|
||||
- A clear description of the issue
|
||||
- Steps to reproduce the vulnerability
|
||||
- Affected versions or environments
|
||||
- (Optional) Suggested fixes or workarounds
|
||||
|
||||
---
|
||||
|
||||
## Response Process
|
||||
|
||||
1. **Acknowledgment**
|
||||
- We will review and acknowledge your report within **7 business days**.
|
||||
|
||||
2. **Assessment**
|
||||
- The maintainers will verify the issue and classify its severity.
|
||||
- Depending on impact, a patch may be released immediately or scheduled for the next update.
|
||||
|
||||
3. **Resolution**
|
||||
- Critical security fixes will be prioritized.
|
||||
- Non-critical issues may be deferred or declined with an explanation.
|
||||
|
||||
---
|
||||
|
||||
## Disclaimer
|
||||
|
||||
Not all reported issues will be treated as vulnerabilities.
|
||||
Reports may be declined if they are deemed:
|
||||
- Low-risk
|
||||
- Out of project scope
|
||||
- Conflicting with intended design or architecture
|
||||
|
||||
---
|
||||
|
||||
If you have any questions or concerns about this security policy, please reach out to the maintainers through the contact options above.
|
||||
|
@@ -6,13 +6,13 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
||||
# Source: https://actualbudget.org/
|
||||
|
||||
APP="Actual Budget"
|
||||
var_tags="finance"
|
||||
var_cpu="2"
|
||||
var_ram="2048"
|
||||
var_disk="4"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
var_unprivileged="1"
|
||||
var_tags="${var_tags:-finance}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
|
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -20,15 +20,15 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/AdGuardHome ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_error "Adguard Home should be updated via the user interface."
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/AdGuardHome ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_error "Adguard Home can only be updated via the user interface."
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@@ -38,4 +38,4 @@ description
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||
|
@@ -39,6 +39,7 @@ function update_script() {
|
||||
|
||||
msg_info "Backup Old Installation"
|
||||
cp -r /opt/adventurelog /opt/adventurelog-backup
|
||||
rm -rf /opt/adventurelog
|
||||
msg_ok "Backup done"
|
||||
|
||||
fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
|
||||
|
47
ct/alpine-caddy.sh
Normal file
47
ct/alpine-caddy.sh
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: cobalt (cobaltgit)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://caddyserver.com/
|
||||
|
||||
APP="Alpine-Caddy"
|
||||
var_tags="${var_tags:-webserver}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-256}"
|
||||
var_disk="${var_disk:-3}"
|
||||
var_os="${var_os:-alpine}"
|
||||
var_version="${var_version:-3.22}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /etc/caddy ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apk -U upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
|
||||
msg_info "Restarting Caddy"
|
||||
rc-service caddy restart
|
||||
msg_ok "Restarted Caddy"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
|
@@ -9,7 +9,7 @@ APP="audiobookshelf"
|
||||
var_tags="${var_tags:-podcast;audiobook}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_disk="${var_disk:-5}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
@@ -20,15 +20,19 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
echo "This application receives updates through the APT package manager."
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/default/audiobookshelf ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@@ -38,4 +42,4 @@ description
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}"
|
||||
|
83
ct/autocaliweb.sh
Normal file
83
ct/autocaliweb.sh
Normal file
@@ -0,0 +1,83 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: vhsdream
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/gelbphoenix/autocaliweb
|
||||
|
||||
APP="Autocaliweb"
|
||||
var_tags="${var_tags:-ebooks}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-6}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/autocaliweb ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
setup_uv
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gelbphoenix/autocaliweb/releases/latest | jq '.tag_name' | sed 's/^"v//;s/"$//')
|
||||
if check_for_gh_release "autocaliweb" "gelbphoenix/autocaliweb"; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
|
||||
msg_ok "Stopped Services"
|
||||
|
||||
INSTALL_DIR="/opt/autocaliweb"
|
||||
export VIRTUAL_ENV="${INSTALL_DIR}/venv"
|
||||
$STD tar -cf ~/autocaliweb_bkp.tar "$INSTALL_DIR"/{metadata_change_logs,dirs.json,.env,scripts/ingest_watcher.sh,scripts/auto_zipper_wrapper.sh,scripts/metadata_change_detector_wrapper.sh}
|
||||
fetch_and_deploy_gh_release "autocaliweb" "gelbphoenix/autocaliweb" "tarball" "latest" "/opt/autocaliweb"
|
||||
msg_info "Updating ${APP}"
|
||||
cd "$INSTALL_DIR"
|
||||
if [[ ! -d "$VIRTUAL_ENV" ]]; then
|
||||
$STD uv venv "$VIRTUAL_ENV"
|
||||
fi
|
||||
$STD uv sync --all-extras --active
|
||||
cd "$INSTALL_DIR"/koreader/plugins
|
||||
PLUGIN_DIGEST="$(find acwsync.koplugin -type f -name "*.lua" -o -name "*.json" | sort | xargs sha256sum | sha256sum | cut -d' ' -f1)"
|
||||
echo "Plugin files digest: $PLUGIN_DIGEST" >acwsync.koplugin/${PLUGIN_DIGEST}.digest
|
||||
echo "Build date: $(date)" >>acwsync.koplugin/${PLUGIN_DIGEST}.digest
|
||||
echo "Files included:" >>acwsync.koplugin/${PLUGIN_DIGEST}.digest
|
||||
$STD zip -r koplugin.zip acwsync.koplugin/
|
||||
cp -r koplugin.zip "$INSTALL_DIR"/cps/static
|
||||
mkdir -p "$INSTALL_DIR"/metadata_temp
|
||||
$STD tar -xf ~/autocaliweb_bkp.tar --directory /
|
||||
KEPUB_VERSION="$(/usr/bin/kepubify --version)"
|
||||
CALIBRE_RELEASE="$(curl -s https://api.github.com/repos/kovidgoyal/calibre/releases/latest | grep -o '"tag_name": "[^"]*' | cut -d'"' -f4)"
|
||||
echo "${KEPUB_VERSION#v}" >"$INSTALL_DIR"/KEPUBIFY_RELEASE
|
||||
echo "${CALIBRE_RELEASE#v}" >/"$INSTALL_DIR"/CALIBRE_RELEASE
|
||||
sed 's/^/v/' ~/.autocaliweb >"$INSTALL_DIR"/ACW_RELEASE
|
||||
chown -R acw:acw "$INSTALL_DIR"
|
||||
rm ~/autocaliweb_bkp.tar
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
|
||||
msg_ok "Started Services"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
|
@@ -33,6 +33,7 @@ function update_script() {
|
||||
|
||||
msg_info "Updating $APP"
|
||||
$STD /opt/beszel/beszel update
|
||||
sleep 2 && chmod +x /opt/beszel/beszel
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
@@ -49,4 +50,4 @@ description
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
|
||||
|
46
ct/blocky.sh
46
ct/blocky.sh
@@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
||||
# Copyright (c) 2021-2025 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://0xerr0r.github.io/blocky/latest/
|
||||
# Source: https://0xerr0r.github.io/blocky
|
||||
|
||||
APP="Blocky"
|
||||
var_tags="${var_tags:-adblock}"
|
||||
@@ -20,18 +20,38 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /var ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/blocky ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "blocky" "0xERR0R/blocky"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop blocky
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backup Config"
|
||||
mv /opt/blocky/config.yml /opt/config.yml
|
||||
msg_ok "Backed Up Config"
|
||||
|
||||
msg_info "Removing Old Version"
|
||||
rm -rf /opt/blocky
|
||||
msg_ok "Removed Old Version"
|
||||
|
||||
fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_linux_x86_64.tar.gz"
|
||||
|
||||
msg_info "Restore Config"
|
||||
mv /opt/config.yml /opt/blocky/config.yml
|
||||
msg_ok "Restored Config"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start blocky
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@@ -41,4 +61,4 @@ description
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
|
||||
|
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -20,18 +20,18 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /var ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/systemd/system/cloudflared.service ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@@ -39,4 +39,4 @@ build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
|
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -28,8 +28,8 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
@@ -9,7 +9,7 @@ APP="ESPHome"
|
||||
var_tags="${var_tags:-automation}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_disk="${var_disk:-10}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
@@ -33,6 +33,11 @@ function update_script() {
|
||||
systemctl stop gatus
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
if [[ :$PATH: != *":/usr/local/bin:"* ]]; then
|
||||
echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc
|
||||
source ~/.bashrc
|
||||
fi
|
||||
|
||||
mv /opt/gatus/config/config.yaml /opt
|
||||
rm -rf /opt/gatus
|
||||
fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
|
||||
|
43
ct/globaleaks.sh
Normal file
43
ct/globaleaks.sh
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 communtiy-scripts ORG
|
||||
# Author: Giovanni Pellerano (evilaliv3)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/globaleaks/globaleaks-whistleblowing-software
|
||||
|
||||
APP="GlobaLeaks"
|
||||
var_tags="${var_tags:-whistleblowing-software}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /usr/sbin/globaleaks ]]; then
|
||||
msg_error "No ${APP} installation found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt update
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN} ${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"
|
52
ct/grist.sh
52
ct/grist.sh
@@ -1,5 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: cfurrow | Co-Author: Slaviša Arežina (tremor021)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/gristlabs/grist-core
|
||||
|
||||
APP="Grist"
|
||||
@@ -26,57 +29,34 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
|
||||
if check_for_gh_release "grist" "gristlabs/grist-core"; then
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop grist
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
|
||||
cd /opt
|
||||
rm -rf grist_bak
|
||||
msg_info "Creating backup"
|
||||
rm -rf /opt/grist_bak
|
||||
mv grist grist_bak
|
||||
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip")
|
||||
$STD unzip v$RELEASE.zip
|
||||
mv grist-core-${RELEASE} grist
|
||||
msg_ok "Backup created"
|
||||
|
||||
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
mkdir -p grist/docs
|
||||
|
||||
cp -n grist_bak/.env grist/.env || true
|
||||
cp -r grist_bak/docs/* grist/docs/ || true
|
||||
cp grist_bak/grist-sessions.db grist/grist-sessions.db || true
|
||||
cp grist_bak/landing.db grist/landing.db || true
|
||||
|
||||
cd grist
|
||||
msg_info "Installing Dependencies"
|
||||
cp -n /opt/grist_bak/.env /opt/grist/.env
|
||||
cp -r /opt/grist_bak/docs/* /opt/grist/docs/
|
||||
cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
|
||||
cp /opt/grist_bak/landing.db /opt/grist/landing.db
|
||||
$STD yarn install
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Building"
|
||||
$STD yarn run build:prod
|
||||
msg_ok "Done building"
|
||||
|
||||
msg_info "Installing Python"
|
||||
$STD yarn run install:python
|
||||
msg_ok "Installed Python"
|
||||
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting ${APP} Service"
|
||||
systemctl start grist
|
||||
msg_ok "Started ${APP} Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /opt/v$RELEASE.zip
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_ok "Updated Successfully!\n"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
6
ct/headers/alpine-caddy
Normal file
6
ct/headers/alpine-caddy
Normal file
@@ -0,0 +1,6 @@
|
||||
___ __ _ ______ __ __
|
||||
/ | / /___ (_)___ ___ / ____/___ _____/ /___/ /_ __
|
||||
/ /| | / / __ \/ / __ \/ _ \______/ / / __ `/ __ / __ / / / /
|
||||
/ ___ |/ / /_/ / / / / / __/_____/ /___/ /_/ / /_/ / /_/ / /_/ /
|
||||
/_/ |_/_/ .___/_/_/ /_/\___/ \____/\__,_/\__,_/\__,_/\__, /
|
||||
/_/ /____/
|
6
ct/headers/autocaliweb
Normal file
6
ct/headers/autocaliweb
Normal file
@@ -0,0 +1,6 @@
|
||||
___ __ ___ __
|
||||
/ | __ __/ /_____ _________ _/ (_) _____ / /_
|
||||
/ /| |/ / / / __/ __ \/ ___/ __ `/ / / | /| / / _ \/ __ \
|
||||
/ ___ / /_/ / /_/ /_/ / /__/ /_/ / / /| |/ |/ / __/ /_/ /
|
||||
/_/ |_\__,_/\__/\____/\___/\__,_/_/_/ |__/|__/\___/_.___/
|
||||
|
6
ct/headers/globaleaks
Normal file
6
ct/headers/globaleaks
Normal file
@@ -0,0 +1,6 @@
|
||||
________ __ __ __
|
||||
/ ____/ /___ / /_ ____ _/ / ___ ____ _/ /_______
|
||||
/ / __/ / __ \/ __ \/ __ `/ / / _ \/ __ `/ //_/ ___/
|
||||
/ /_/ / / /_/ / /_/ / /_/ / /___/ __/ /_/ / ,< (__ )
|
||||
\____/_/\____/_.___/\__,_/_____/\___/\__,_/_/|_/____/
|
||||
|
@@ -1,6 +0,0 @@
|
||||
____ _ _
|
||||
/ __ \(_)___ ____ __ __(_)___
|
||||
/ /_/ / / __ \/ __ `/ | / / / __ \
|
||||
/ ____/ / / / / /_/ /| |/ / / / / /
|
||||
/_/ /_/_/ /_/\__, / |___/_/_/ /_/
|
||||
/____/
|
6
ct/headers/scraparr
Normal file
6
ct/headers/scraparr
Normal file
@@ -0,0 +1,6 @@
|
||||
_____
|
||||
/ ___/______________ _____ ____ ___________
|
||||
\__ \/ ___/ ___/ __ `/ __ \/ __ `/ ___/ ___/
|
||||
___/ / /__/ / / /_/ / /_/ / /_/ / / / /
|
||||
/____/\___/_/ \__,_/ .___/\__,_/_/ /_/
|
||||
/_/
|
6
ct/headers/signoz
Normal file
6
ct/headers/signoz
Normal file
@@ -0,0 +1,6 @@
|
||||
_____ _ _ __
|
||||
/ ___/(_)___ _/ | / /___ ____
|
||||
\__ \/ / __ `/ |/ / __ \/_ /
|
||||
___/ / / /_/ / /| / /_/ / / /_
|
||||
/____/_/\__, /_/ |_/\____/ /___/
|
||||
/____/
|
6
ct/headers/stylus
Normal file
6
ct/headers/stylus
Normal file
@@ -0,0 +1,6 @@
|
||||
_____ __ __
|
||||
/ ___// /___ __/ /_ _______
|
||||
\__ \/ __/ / / / / / / / ___/
|
||||
___/ / /_/ /_/ / / /_/ (__ )
|
||||
/____/\__/\__, /_/\__,_/____/
|
||||
/____/
|
6
ct/headers/telegraf
Normal file
6
ct/headers/telegraf
Normal file
@@ -0,0 +1,6 @@
|
||||
__ __ ____
|
||||
/ /____ / /__ ____ __________ _/ __/
|
||||
/ __/ _ \/ / _ \/ __ `/ ___/ __ `/ /_
|
||||
/ /_/ __/ / __/ /_/ / / / /_/ / __/
|
||||
\__/\___/_/\___/\__, /_/ \__,_/_/
|
||||
/____/
|
6
ct/headers/tunarr
Normal file
6
ct/headers/tunarr
Normal file
@@ -0,0 +1,6 @@
|
||||
______
|
||||
/_ __/_ ______ ____ ___________
|
||||
/ / / / / / __ \/ __ `/ ___/ ___/
|
||||
/ / / /_/ / / / / /_/ / / / /
|
||||
/_/ \__,_/_/ /_/\__,_/_/ /_/
|
||||
|
6
ct/headers/uhf
Normal file
6
ct/headers/uhf
Normal file
@@ -0,0 +1,6 @@
|
||||
__ ____ ________
|
||||
/ / / / / / / ____/
|
||||
/ / / / /_/ / /_
|
||||
/ /_/ / __ / __/
|
||||
\____/_/ /_/_/
|
||||
|
@@ -27,7 +27,7 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "danielbrendel" "hortusfox-web"; then
|
||||
if check_for_gh_release "hortusfox" "danielbrendel/hortusfox-web"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop apache2
|
||||
msg_ok "Stopped Service"
|
||||
|
71
ct/immich.sh
71
ct/immich.sh
@@ -11,7 +11,7 @@ var_disk="${var_disk:-20}"
|
||||
var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -27,11 +27,22 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if [[ -f /etc/apt/sources.list.d/immich.list ]]; then
|
||||
msg_error "Wrong Debian version detected!"
|
||||
msg_error "You must upgrade your LXC to Debian Trixie before updating."
|
||||
msg_error "Please visit https://github.com/community-scripts/ProxmoxVE/discussions/7726 for details."
|
||||
echo "${TAB3} If you have upgraded your LXC to Trixie and you still see this message, please open an Issue in the Community-Scripts repo."
|
||||
exit
|
||||
fi
|
||||
|
||||
setup_uv
|
||||
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
|
||||
|
||||
if dpkg -l | grep -q "libmimalloc2.0"; then
|
||||
$STD apt-get update && $STD apt-get install -y libmimalloc3
|
||||
fi
|
||||
|
||||
STAGING_DIR=/opt/staging
|
||||
BASE_DIR=${STAGING_DIR}/base-images
|
||||
SOURCE_DIR=${STAGING_DIR}/image-source
|
||||
@@ -45,8 +56,10 @@ function update_script() {
|
||||
for url in "${INTEL_URLS[@]}"; do
|
||||
curl -fsSLO "$url"
|
||||
done
|
||||
$STD apt-mark unhold libigdgmm12
|
||||
$STD apt install -y ./*.deb
|
||||
rm ./*.deb
|
||||
$STD apt-mark hold libigdgmm12
|
||||
msg_ok "Intel iGPU dependencies updated"
|
||||
fi
|
||||
rm ~/Dockerfile
|
||||
@@ -61,7 +74,7 @@ function update_script() {
|
||||
done
|
||||
msg_ok "Image-processing libraries up to date"
|
||||
fi
|
||||
RELEASE="1.140.1"
|
||||
RELEASE="1.142.1"
|
||||
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop immich-web
|
||||
@@ -78,22 +91,10 @@ function update_script() {
|
||||
|
||||
if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
|
||||
msg_info "Updating VectorChord"
|
||||
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
|
||||
$STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz
|
||||
chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz
|
||||
$STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz |
|
||||
sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
|
||||
-e "/vchordrq.prewarm_dim/d" |
|
||||
sudo -u postgres psql
|
||||
fi
|
||||
curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
|
||||
$STD apt install -y ./vchord.deb
|
||||
$STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
|
||||
systemctl restart postgresql
|
||||
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
|
||||
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX face_index;"
|
||||
$STD sudo -u postgres psql -d immich -c "REINDEX INDEX clip_index;"
|
||||
fi
|
||||
echo "$VCHORD_RELEASE" >~/.vchord_version
|
||||
rm ./vchord.deb
|
||||
msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
|
||||
@@ -126,9 +127,6 @@ EOF
|
||||
|
||||
msg_info "Updating ${APP} web and microservices"
|
||||
cd "$SRC_DIR"/server
|
||||
if [[ "$RELEASE" == "1.135.1" ]]; then
|
||||
rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts
|
||||
fi
|
||||
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||
export CI=1
|
||||
corepack enable
|
||||
@@ -144,6 +142,7 @@ EOF
|
||||
|
||||
# openapi & web build
|
||||
cd "$SRC_DIR"
|
||||
echo "packageImportMethod: hardlink" >>./pnpm-workspace.yaml
|
||||
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
|
||||
$STD pnpm --filter @immich/sdk --filter immich-web build
|
||||
cp -a web/build "$APP_DIR"/www
|
||||
@@ -158,17 +157,16 @@ EOF
|
||||
msg_ok "Updated ${APP} web and microservices"
|
||||
|
||||
cd "$SRC_DIR"/machine-learning
|
||||
mkdir -p "$ML_DIR"
|
||||
mkdir -p "$ML_DIR" && chown -R immich:immich "$ML_DIR"
|
||||
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
|
||||
$STD /usr/local/bin/uv venv "$VIRTUAL_ENV"
|
||||
if [[ -f ~/.openvino ]]; then
|
||||
msg_info "Updating HW-accelerated machine-learning"
|
||||
/usr/local/bin/uv -q sync --extra openvino --no-cache --active
|
||||
$STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra openvino --active -n -p python3.11 --managed-python
|
||||
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
|
||||
msg_ok "Updated HW-accelerated machine-learning"
|
||||
else
|
||||
msg_info "Updating machine-learning"
|
||||
/usr/local/bin/uv -q sync --extra cpu --no-cache --active
|
||||
$STD sudo --preserve-env=VIRTUAL_ENV -nu immich uv sync --extra cpu --active -n -p python3.11 --managed-python
|
||||
msg_ok "Updated machine-learning"
|
||||
fi
|
||||
cd "$SRC_DIR"
|
||||
@@ -187,10 +185,6 @@ EOF
|
||||
ln -s "$GEO_DIR" "$APP_DIR"
|
||||
|
||||
chown -R immich:immich "$INSTALL_DIR"
|
||||
if [[ ! -f ~/.debian_version.bak ]]; then
|
||||
cp /etc/debian_version ~/.debian_version.bak
|
||||
sed -i 's/.*/13.0/' /etc/debian_version
|
||||
fi
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
@@ -206,9 +200,8 @@ function compile_libjxl() {
|
||||
SOURCE=${SOURCE_DIR}/libjxl
|
||||
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
|
||||
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
|
||||
# : "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
|
||||
: "${LIBJXL_REVISION:=794a5dcf0d54f9f0b20d288a12e87afb91d20dfc}"
|
||||
if [[ "${update:-}" ]] || [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
: "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
|
||||
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
msg_info "Recompiling libjxl"
|
||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||
$STD git clone https://github.com/libjxl/libjxl.git "$SOURCE"
|
||||
@@ -254,8 +247,7 @@ function compile_libheif() {
|
||||
$STD apt-get install -y libaom-dev
|
||||
local update="required"
|
||||
fi
|
||||
# : "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}"
|
||||
: "${LIBHEIF_REVISION:=35dad50a9145332a7bfdf1ff6aef6801fb613d68}"
|
||||
: "${LIBHEIF_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libheif.json)}"
|
||||
if [[ "${update:-}" ]] || [[ "$LIBHEIF_REVISION" != "$(grep 'libheif' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
msg_info "Recompiling libheif"
|
||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||
@@ -286,10 +278,8 @@ function compile_libheif() {
|
||||
|
||||
function compile_libraw() {
|
||||
SOURCE=${SOURCE_DIR}/libraw
|
||||
local update
|
||||
# : "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
|
||||
: "${LIBRAW_REVISION:=09bea31181b43e97959ee5452d91e5bc66365f1f}"
|
||||
if [[ "${update:-}" ]] || [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
: "${LIBRAW_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libraw.json)}"
|
||||
if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
msg_info "Recompiling libraw"
|
||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||
$STD git clone https://github.com/libraw/libraw.git "$SOURCE"
|
||||
@@ -309,15 +299,15 @@ function compile_libraw() {
|
||||
|
||||
function compile_imagemagick() {
|
||||
SOURCE=$SOURCE_DIR/imagemagick
|
||||
# : "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}"
|
||||
: "${IMAGEMAGICK_REVISION:=8289a3388a085ad5ae81aa6812f21554bdfd54f2}"
|
||||
if [[ "${update:-}" ]] || [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
: "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/imagemagick.json)}"
|
||||
if [[ "$IMAGEMAGICK_REVISION" != "$(grep 'imagemagick' ~/.immich_library_revisions | awk '{print $2}')" ]] ||
|
||||
! grep -q 'DMAGICK_LIBRAW' /usr/local/lib/ImageMagick-7*/config-Q16HDRI/configure.xml; then
|
||||
msg_info "Recompiling ImageMagick"
|
||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
|
||||
cd "$SOURCE"
|
||||
$STD git reset --hard "$IMAGEMAGICK_REVISION"
|
||||
$STD ./configure --with-modules
|
||||
$STD ./configure --with-modules CPPFLAGS="-DMAGICK_LIBRAW_VERSION_TAIL=202502"
|
||||
$STD make -j"$(nproc)"
|
||||
$STD make install
|
||||
ldconfig /usr/local/lib
|
||||
@@ -330,9 +320,8 @@ function compile_imagemagick() {
|
||||
|
||||
function compile_libvips() {
|
||||
SOURCE=$SOURCE_DIR/libvips
|
||||
# : "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
|
||||
: "${LIBVIPS_REVISION:=8fa37a64547e392d3808eed8d72adab7e02b3d00}"
|
||||
if [[ "${update:-}" ]] || [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
: "${LIBVIPS_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)}"
|
||||
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
msg_info "Recompiling libvips"
|
||||
if [[ -d "$SOURCE" ]]; then rm -rf "$SOURCE"; fi
|
||||
$STD git clone https://github.com/libvips/libvips.git "$SOURCE"
|
||||
|
@@ -59,6 +59,7 @@ function update_script() {
|
||||
if ! grep -qxF 'COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env; then
|
||||
sed -i '/^COMPOSE_KOMODO_IMAGE_TAG=latest$/a COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env
|
||||
fi
|
||||
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env pull
|
||||
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
|
||||
msg_ok "Updated ${APP}"
|
||||
exit
|
||||
|
@@ -36,7 +36,7 @@ function update_script() {
|
||||
msg_ok "Services Stopped"
|
||||
|
||||
TMP_TAR=$(mktemp --suffix=.tgz)
|
||||
curl -fL# -o "${TMP_TAR}" "https://github.com/ollama/ollama/releases/download/${RELEASE}/ollama-linux-amd64.tgz"
|
||||
curl -fL# -C - -o "${TMP_TAR}" "https://github.com/ollama/ollama/releases/download/${RELEASE}/ollama-linux-amd64.tgz"
|
||||
msg_info "Updating Ollama to ${RELEASE}"
|
||||
rm -rf /usr/local/lib/ollama
|
||||
rm -rf /usr/local/bin/ollama
|
||||
|
@@ -33,11 +33,17 @@ function update_script() {
|
||||
OLLAMA_VERSION=$(ollama -v | awk '{print $NF}')
|
||||
RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
|
||||
if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop ollama
|
||||
msg_ok "Stopped Service"
|
||||
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz
|
||||
rm -rf /usr/lib/ollama
|
||||
rm -rf /usr/bin/ollama
|
||||
curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz
|
||||
tar -C /usr -xzf ollama-linux-amd64.tgz
|
||||
rm -rf ollama-linux-amd64.tgz
|
||||
msg_info "Starting Service"
|
||||
systemctl start ollama
|
||||
msg_info "Started Service"
|
||||
msg_ok "Ollama updated to version $RELEASE"
|
||||
else
|
||||
msg_ok "Ollama is already up to date."
|
||||
|
@@ -6,13 +6,13 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
|
||||
# Source: https://github.com/openziti/ziti
|
||||
|
||||
APP="openziti-controller"
|
||||
var_tags="network;openziti-controller"
|
||||
var_cpu="2"
|
||||
var_ram="1024"
|
||||
var_disk="8"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
var_unprivileged="1"
|
||||
var_tags="${var_tags:-network;openziti-controller}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
@@ -20,18 +20,18 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/openziti ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/openziti ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated $APP LXC"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@@ -41,4 +41,4 @@ description
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:<port>/zac${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:<port>/zac${CL}"
|
||||
|
@@ -33,6 +33,7 @@ function update_script() {
|
||||
msg_ok "Stopped Services"
|
||||
|
||||
cp /opt/palmr/apps/server/.env /opt/palmr.env
|
||||
rm -rf /opt/palmr
|
||||
fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr"
|
||||
|
||||
PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)"
|
||||
@@ -42,9 +43,9 @@ function update_script() {
|
||||
cd /opt/palmr/apps/server
|
||||
mv /opt/palmr.env /opt/palmr/apps/server/.env
|
||||
$STD pnpm install
|
||||
$STD pnpm dlx prisma generate
|
||||
$STD pnpm dlx prisma migrate deploy
|
||||
$STD pnpm dlx prisma db push
|
||||
$STD npx prisma generate
|
||||
$STD npx prisma migrate deploy
|
||||
$STD npx prisma db push
|
||||
$STD pnpm build
|
||||
|
||||
cd /opt/palmr/apps/web
|
||||
|
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://stonith404.github.io/pingvin-share/introduction
|
||||
|
||||
APP="Pingvin"
|
||||
var_tags="${var_tags:-sharing}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/pingvin-share ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ ! -f /opt/pingvin_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/pingvin_version.txt)" ]]; then
|
||||
|
||||
msg_info "Stopping Pingvin Share"
|
||||
systemctl stop pm2-root.service
|
||||
msg_ok "Stopped Pingvin Share"
|
||||
|
||||
msg_info "Updating Pingvin Share to v${RELEASE}"
|
||||
cd /opt
|
||||
curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip")
|
||||
$STD unzip v${RELEASE}.zip
|
||||
cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share
|
||||
cd /opt/pingvin-share
|
||||
cd backend
|
||||
$STD npm install
|
||||
$STD npm run build
|
||||
cd ../frontend
|
||||
$STD npm install
|
||||
$STD npm run build
|
||||
echo "${RELEASE}" >"/opt/pingvin_version.txt"
|
||||
rm -rf /opt/v${RELEASE}.zip
|
||||
rm -rf /opt/pingvin-share-${RELEASE}
|
||||
msg_ok "Updated Pingvin Share to v${RELEASE}"
|
||||
|
||||
msg_info "Starting Pingvin Share"
|
||||
systemctl start pm2-root.service
|
||||
msg_ok "Started Pingvin Share"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
else
|
||||
msg_ok "No update required. Pingvin Share is already at v${RELEASE}."
|
||||
fi
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
25
ct/planka.sh
25
ct/planka.sh
@@ -34,12 +34,13 @@ function update_script() {
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
msg_info "Backing up data"
|
||||
mkdir -p /opt/planka-backup/{favicons,user-avatars,background-images,attachments}
|
||||
mv /opt/planka/.env /opt/planka-backup
|
||||
[ -d /opt/planka/public/favicons ] && find /opt/planka/public/favicons -maxdepth 1 -type f -exec mv -t /opt/planka-backup/favicons {} +
|
||||
[ -d /opt/planka/public/user-avatars ] && find /opt/planka/public/user-avatars -maxdepth 1 -type f -exec mv -t /opt/planka-backup/user-avatars {} +
|
||||
[ -d /opt/planka/public/background-images ] && find /opt/planka/public/background-images -maxdepth 1 -type f -exec mv -t /opt/planka-backup/background-images {} +
|
||||
[ -d /opt/planka/private/attachments ] && find /opt/planka/private/attachments -maxdepth 1 -type f -exec mv -t /opt/planka-backup/attachments {} +
|
||||
BK="/opt/planka-backup"
|
||||
mkdir -p "$BK"/{favicons,user-avatars,background-images,attachments}
|
||||
[ -f /opt/planka/.env ] && mv /opt/planka/.env "$BK"/
|
||||
[ -d /opt/planka/public/favicons ] && cp -a /opt/planka/public/favicons/. "$BK/favicons/"
|
||||
[ -d /opt/planka/public/user-avatars ] && cp -a /opt/planka/public/user-avatars/. "$BK/user-avatars/"
|
||||
[ -d /opt/planka/public/background-images ] && cp -a /opt/planka/public/background-images/. "$BK/background-images/"
|
||||
[ -d /opt/planka/private/attachments ] && cp -a /opt/planka/private/attachments/. "$BK/attachments/"
|
||||
rm -rf /opt/planka
|
||||
msg_ok "Backed up data"
|
||||
|
||||
@@ -51,11 +52,13 @@ function update_script() {
|
||||
msg_ok "Updated Frontend"
|
||||
|
||||
msg_info "Restoring data"
|
||||
mv /opt/planka-backup/.env /opt/planka/
|
||||
[ -d /opt/planka-backup/favicons ] && find /opt/planka-backup/favicons -maxdepth 1 -type f -exec mv -t /opt/planka/public/favicons {} +
|
||||
[ -d /opt/planka-backup/user-avatars ] && find /opt/planka-backup/user-avatars -maxdepth 1 -type f -exec mv -t /opt/planka/public/user-avatars {} +
|
||||
[ -d /opt/planka-backup/background-images ] && find /opt/planka-backup/background-images -maxdepth 1 -type f -exec mv -t /opt/planka/public/background-images {} +
|
||||
[ -d /opt/planka-backup/attachments ] && find /opt/planka-backup/attachments -maxdepth 1 -type f -exec mv -t /opt/planka/private/attachments {} +
|
||||
[ -f "$BK/.env" ] && mv "$BK/.env" /opt/planka/.env
|
||||
mkdir -p /opt/planka/public/{favicons,user-avatars,background-images} /opt/planka/private/attachments
|
||||
[ -d "$BK/favicons" ] && cp -a "$BK/favicons/." /opt/planka/public/favicons/
|
||||
[ -d "$BK/user-avatars" ] && cp -a "$BK/user-avatars/." /opt/planka/public/user-avatars/
|
||||
[ -d "$BK/background-images" ] && cp -a "$BK/background-images/." /opt/planka/public/background-images/
|
||||
[ -d "$BK/attachments" ] && cp -a "$BK/attachments/." /opt/planka/private/attachments/
|
||||
rm -rf "$BK"
|
||||
msg_ok "Restored data"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
|
@@ -27,6 +27,16 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if grep -q 'Debian GNU/Linux 12' /etc/os-release && [ -f /etc/apt/sources.list.d/proxmox-release-bookworm.list ] && [ -f /etc/apt/sources.list.d/pdm-test.list ]; then
|
||||
msg_info "Updating outdated outdated source formats"
|
||||
echo "deb [signed-by=/usr/share/keyrings/proxmox-archive-keyring.gpg] http://download.proxmox.com/debian/pdm bookworm pdm-test" > /etc/apt/sources.list.d/pdm-test.list
|
||||
curl -fsSL https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -o /usr/share/keyrings/proxmox-archive-keyring.gpg
|
||||
rm -f /etc/apt/keyrings/proxmox-release-bookworm.gpg /etc/apt/sources.list.d/proxmox-release-bookworm.list
|
||||
$STD apt-get update
|
||||
msg_ok "Updated old sources"
|
||||
fi
|
||||
|
||||
msg_info "Updating $APP LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
@@ -41,4 +51,4 @@ description
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"
|
||||
|
13
ct/pulse.sh
13
ct/pulse.sh
@@ -28,10 +28,6 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ ! -f ~/.pulse ]]; then
|
||||
msg_error "Old Installation Found! Please recreate the container due big changes in the software."
|
||||
exit 1
|
||||
fi
|
||||
if check_for_gh_release "pulse" "rcourtman/Pulse"; then
|
||||
SERVICE_PATH="/etc/systemd/system"
|
||||
msg_info "Stopping Services"
|
||||
@@ -43,19 +39,20 @@ function update_script() {
|
||||
fi
|
||||
|
||||
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
|
||||
ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
|
||||
chown -R pulse:pulse /etc/pulse /opt/pulse
|
||||
if [[ -f "$SERVICE_PATH"/pulse.service ]]; then
|
||||
mv "$SERVICE_PATH"/pulse.service "$SERVICE_PATH"/pulse-backend.service
|
||||
if [[ -f "$SERVICE_PATH"/pulse-backend.service ]]; then
|
||||
mv "$SERVICE_PATH"/pulse-backend.service "$SERVICE_PATH"/pulse.service
|
||||
fi
|
||||
sed -i -e 's|pulse/pulse|pulse/bin/pulse|' \
|
||||
-e 's/^Environment="API.*$//' "$SERVICE_PATH"/pulse-backend.service
|
||||
-e 's/^Environment="API.*$//' "$SERVICE_PATH"/pulse.service
|
||||
systemctl daemon-reload
|
||||
if grep -q 'pulse-home:/bin/bash' /etc/passwd; then
|
||||
usermod -s /usr/sbin/nologin pulse
|
||||
fi
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start pulse-backend
|
||||
systemctl start pulse
|
||||
msg_ok "Started Services"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
|
@@ -20,26 +20,40 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /etc/rabbitmq ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop rabbitmq-server
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
|
||||
msg_info "Updating..."
|
||||
$STD apt install --only-upgrade rabbitmq-server
|
||||
msg_ok "Update Successfully"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start rabbitmq-server
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /etc/rabbitmq ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if grep -q "dl.cloudsmith.io" /etc/apt/sources.list.d/rabbitmq.list; then
|
||||
rm -f /etc/apt/sources.list.d/rabbitmq.list
|
||||
cat <<EOF >/etc/apt/sources.list.d/rabbitmq.list
|
||||
## Modern Erlang/OTP releases
|
||||
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-erlang/debian/bookworm bookworm main
|
||||
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-erlang/debian/bookworm bookworm main
|
||||
|
||||
## Provides modern RabbitMQ releases
|
||||
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/debian/bookworm bookworm main
|
||||
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/debian/bookworm bookworm main
|
||||
EOF
|
||||
$STD apt-get update
|
||||
fi
|
||||
|
||||
msg_info "Stopping ${APP} Service"
|
||||
systemctl stop rabbitmq-server
|
||||
msg_ok "Stopped ${APP} Service"
|
||||
|
||||
msg_info "Updating..."
|
||||
$STD apt install --only-upgrade rabbitmq-server
|
||||
msg_ok "Update Successfully"
|
||||
|
||||
msg_info "Starting ${APP}"
|
||||
systemctl start rabbitmq-server
|
||||
msg_ok "Started ${APP}"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
@@ -49,4 +63,4 @@ description
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:15672${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:15672${CL}"
|
||||
|
@@ -34,6 +34,7 @@ function update_script() {
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "recyclarr" "recyclarr/recyclarr" "prebuild" "latest" "/usr/local/bin" "recyclarr-linux-x64.tar.xz"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start recyclarr
|
||||
msg_ok "Started Service"
|
||||
|
63
ct/scraparr.sh
Normal file
63
ct/scraparr.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: JasonGreenC
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/thecfu/scraparr
|
||||
|
||||
APP="Scraparr"
|
||||
var_tags="${var_tags:-arr;monitoring}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/scraparr/ ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "scraparr" "thecfu/scraparr"; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop scraparr
|
||||
msg_ok "Services Stopped"
|
||||
|
||||
PYTHON_VERSION="3.12" setup_uv
|
||||
fetch_and_deploy_gh_release "scrappar" "thecfu/scraparr" "tarball" "latest" "/opt/scraparr"
|
||||
|
||||
msg_info "Updating Scraparr"
|
||||
cd /opt/scraparr
|
||||
$STD uv venv /opt/scraparr/.venv
|
||||
$STD /opt/scraparr/.venv/bin/python -m ensurepip --upgrade
|
||||
$STD /opt/scraparr/.venv/bin/python -m pip install --upgrade pip
|
||||
$STD /opt/scraparr/.venv/bin/python -m pip install -r /opt/scraparr/src/scraparr/requirements.txt
|
||||
chmod -R 755 /opt/scraparr
|
||||
msg_ok "Updated Scraparr"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start scraparr
|
||||
msg_ok "Services Started"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7100${CL}"
|
63
ct/signoz.sh
Normal file
63
ct/signoz.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: Slaviša Arežina (tremor021)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://signoz.io/
|
||||
|
||||
APP="SigNoz"
|
||||
var_tags="${var_tags:-notes}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
var_disk="${var_disk:-20}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/signoz ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "signoz" "SigNoz/signoz"; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop signoz
|
||||
systemctl stop signoz-otel-collector
|
||||
msg_ok "Stopped Services"
|
||||
|
||||
fetch_and_deploy_gh_release "signoz" "SigNoz/signoz" "prebuild" "latest" "/opt/signoz" "signoz-community_linux_amd64.tar.gz"
|
||||
fetch_and_deploy_gh_release "signoz-otel-collector" "SigNoz/signoz-otel-collector" "prebuild" "latest" "/opt/signoz-otel-collector" "signoz-otel-collector_linux_amd64.tar.gz"
|
||||
fetch_and_deploy_gh_release "signoz-schema-migrator" "SigNoz/signoz-otel-collector" "prebuild" "latest" "/opt/signoz-schema-migrator" "signoz-schema-migrator_linux_amd64.tar.gz"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
cd /opt/signoz-schema-migrator/bin
|
||||
$STD ./signoz-schema-migrator sync --dsn="tcp://localhost:9000?password=" --replication=true --up=
|
||||
$STD ./signoz-schema-migrator async --dsn="tcp://localhost:9000?password=" --replication=true --up=
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start signoz-otel-collector
|
||||
systemctl start signoz
|
||||
msg_ok "Started Services"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
|
54
ct/stylus.sh
Normal file
54
ct/stylus.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: luismco
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/mmastrac/stylus
|
||||
|
||||
APP="Stylus"
|
||||
var_tags="${var_tags:-network}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-2}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
var_fuse="${var_fuse:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/stylus ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "stylus" "mmastrac/stylus"; then
|
||||
msg_info "Stopping $APP"
|
||||
systemctl stop stylus
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
fetch_and_deploy_gh_release "stylus" "mmastrac/stylus" "singlefile" "latest" "/usr/bin/" "*_linux_amd64"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
systemctl start stylus
|
||||
msg_ok "Started $APP"
|
||||
msg_ok "Update Successful"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"
|
52
ct/telegraf.sh
Normal file
52
ct/telegraf.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: CrazyWolf13
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/influxdata/telegraf
|
||||
|
||||
APP="telegraf"
|
||||
var_tags="${var_tags:-collector;metrics}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/telegraf/telegraf.conf ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Stopping $APP"
|
||||
systemctl stop telegraf
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
msg_info "Updating $APP"
|
||||
$STD apt-get update
|
||||
$STD apt-get upgrade telegraf -y
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
systemctl start telegraf
|
||||
msg_ok "Started $APP"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
11
ct/tududi.sh
11
ct/tududi.sh
@@ -27,17 +27,22 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
NODE_VERSION="22" setup_nodejs
|
||||
|
||||
if check_for_gh_release "tududi" "chrisvel/tududi"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop tududi
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Remove and backup Files"
|
||||
DB="$(sed -n '/^DB_FILE/s/[^=]*=//p' /opt/tududi/backend/.env)"
|
||||
export DB_FILE="$DB"
|
||||
cp /opt/tududi/backend/.env /opt/tududi.env
|
||||
rm -rf /opt/tududi/backend/dist
|
||||
msg_ok "Backup and removed Files"
|
||||
|
||||
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "v0.80" "/opt/tududi"
|
||||
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
cd /opt/tududi
|
||||
@@ -48,6 +53,10 @@ function update_script() {
|
||||
mv ./public/locales ./backend/dist
|
||||
mv ./public/favicon.* ./backend/dist
|
||||
mv /opt/tududi.env /opt/tududi/.env
|
||||
sed -i -e 's|/tududi$|/tududi/backend|' \
|
||||
-e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \
|
||||
/etc/systemd/system/tududi.service
|
||||
systemctl daemon-reload
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting Service"
|
||||
|
79
ct/tunarr.sh
Normal file
79
ct/tunarr.sh
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: chrisbenincasa
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://tunarr.com/
|
||||
|
||||
APP="Tunarr"
|
||||
var_tags="${var_tags:-iptv}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-5}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/tunarr ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "tunarr" "chrisbenincasa/tunarr"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop tunarr
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Creating Backup"
|
||||
if [ -d "/usr/local/share/tunarr" ]; then
|
||||
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /usr/local/share/tunarr $STD
|
||||
msg_ok "Backup Created"
|
||||
else
|
||||
msg_error "Backup failed: /usr/local/share/tunarr does not exist"
|
||||
fi
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tunarr" "chrisbenincasa/tunarr" "singlefile" "latest" "/opt/tunarr" "*linux-x64"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start tunarr
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Update Successfully"
|
||||
fi
|
||||
|
||||
if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop tunarr
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
|
||||
|
||||
msg_info "Set ErsatzTV-ffmpeg links"
|
||||
chmod +x /opt/ErsatzTV-ffmpeg/bin/*
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffplay /usr/local/bin/ffplay
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
||||
msg_ok "ffmpeg links set"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start tunarr
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Update Successfully"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"
|
63
ct/uhf.sh
Normal file
63
ct/uhf.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: zackwithak13
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://www.uhfapp.com/server
|
||||
|
||||
APP="UHF"
|
||||
var_tags="${var_tags:-media}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/uhf-server ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "uhf-server" "swapplications/uhf-server-dist"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop uhf-server
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
|
||||
fetch_and_deploy_gh_release "comskip" "swapplications/comskip" "prebuild" "latest" "/opt/comskip" "comskip-x64-*.zip"
|
||||
fetch_and_deploy_gh_release "uhf-server" "swapplications/uhf-server-dist" "prebuild" "latest" "/opt/uhf-server" "UHF.Server-linux-x64-*.zip"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start uhf-server
|
||||
msg_ok "Started Service"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7568${CL}"
|
@@ -6,13 +6,13 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
||||
# Source: https://github.com/PCJones/UmlautAdaptarr
|
||||
|
||||
APP="UmlautAdaptarr"
|
||||
var_tags="arr"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_disk="4"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
var_unprivileged="1"
|
||||
var_tags="${var_tags:-arr}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-512}"
|
||||
var_disk="${var_disk:-4}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
@@ -20,33 +20,33 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/UmlautAdaptarr ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/PCJones/Umlautadaptarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
|
||||
if [[ ! -f /opt/UmlautAdaptarr_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/UmlautAdaptarr_version.txt)" ]]; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop umlautadaptarr
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
temp_file=$(mktemp)
|
||||
curl -fsSL "https://github.com/PCJones/Umlautadaptarr/releases/download/${RELEASE}/linux-x64.zip" -o $temp_file
|
||||
$STD unzip -u $temp_file '*/**' -d /opt/UmlautAdaptarr
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start umlautadaptarr
|
||||
msg_ok "Started Service"
|
||||
msg_ok "$APP has been updated to ${RELEASE}."
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/UmlautAdaptarr ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/PCJones/Umlautadaptarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
|
||||
if [[ ! -f /opt/UmlautAdaptarr_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/UmlautAdaptarr_version.txt)" ]]; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop umlautadaptarr
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating ${APP}"
|
||||
temp_file=$(mktemp)
|
||||
curl -fsSL "https://github.com/PCJones/Umlautadaptarr/releases/download/${RELEASE}/linux-x64.zip" -o $temp_file
|
||||
$STD unzip -u $temp_file '*/**' -d /opt/UmlautAdaptarr
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start umlautadaptarr
|
||||
msg_ok "Started Service"
|
||||
msg_ok "$APP has been updated to ${RELEASE}."
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
start
|
||||
build_container
|
||||
|
@@ -27,7 +27,7 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
|
||||
if check_for_gh_release "wikijs" "requarks/wiki"; then
|
||||
msg_info "Verifying whether ${APP}' new release is v3.x+ and current install uses SQLite."
|
||||
SQLITE_INSTALL=$([ -f /opt/wikijs/db.sqlite ] && echo "true" || echo "false")
|
||||
|
@@ -28,6 +28,12 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
if ! dpkg -s git >/dev/null 2>&1; then
|
||||
msg_info "Installing git"
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y git
|
||||
msg_ok "Installed git"
|
||||
fi
|
||||
apt-get update
|
||||
apt-get -y upgrade
|
||||
if [[ -d /etc/wgdashboard ]]; then
|
||||
|
11
ct/wizarr.sh
11
ct/wizarr.sh
@@ -39,20 +39,23 @@ function update_script() {
|
||||
msg_info "Creating Backup"
|
||||
BACKUP_FILE="/opt/wizarr_backup_$(date +%F).tar.gz"
|
||||
$STD tar -czf "$BACKUP_FILE" /opt/wizarr/{.env,start.sh} /opt/wizarr/database/ &>/dev/null
|
||||
rm -rf /opt/wizarr/migrations/versions/*
|
||||
msg_ok "Backup Created"
|
||||
|
||||
fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr"
|
||||
|
||||
msg_info "Updating $APP"
|
||||
cd /opt/wizarr
|
||||
$STD /usr/local/bin/uv lock
|
||||
$STD /usr/local/bin/uv sync --locked
|
||||
$STD /usr/local/bin/uv run pybabel compile -d app/translations
|
||||
$STD /usr/local/bin/uv sync --frozen
|
||||
$STD /usr/local/bin/uv run --frozen pybabel compile -d app/translations
|
||||
$STD npm --prefix app/static install
|
||||
$STD npm --prefix app/static run build:css
|
||||
mkdir -p ./.cache
|
||||
$STD tar -xf "$BACKUP_FILE" --directory=/
|
||||
$STD /usr/local/bin/uv run flask db upgrade
|
||||
$STD /usr/local/bin/uv run --frozen flask db upgrade
|
||||
if ! grep -q 'frozen' /opt/wizarr/start.sh; then
|
||||
sed -i 's/run/& --frozen/' /opt/wizarr/start.sh
|
||||
fi
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
|
3
frontend/components.json
generated
3
frontend/components.json
generated
@@ -13,5 +13,8 @@
|
||||
"aliases": {
|
||||
"components": "@/components",
|
||||
"utils": "@/lib/utils"
|
||||
},
|
||||
"registries": {
|
||||
"@animate-ui": "https://animate-ui.com/r/{name}.json"
|
||||
}
|
||||
}
|
||||
|
134
frontend/package-lock.json
generated
134
frontend/package-lock.json
generated
@@ -31,8 +31,9 @@
|
||||
"date-fns": "^4.1.0",
|
||||
"framer-motion": "^11.18.2",
|
||||
"fuse.js": "^7.1.0",
|
||||
"lucide-react": "^0.453.0",
|
||||
"lucide-react": "^0.542.0",
|
||||
"mini-svg-data-uri": "^1.4.4",
|
||||
"motion": "^12.23.12",
|
||||
"next": "15.5.2",
|
||||
"next-themes": "^0.4.4",
|
||||
"nuqs": "^2.4.1",
|
||||
@@ -46,6 +47,7 @@
|
||||
"react-dom": "19.0.0",
|
||||
"react-icons": "^5.5.0",
|
||||
"react-simple-typewriter": "^5.0.1",
|
||||
"react-use-measure": "^2.1.7",
|
||||
"sharp": "^0.33.5",
|
||||
"simple-icons": "^13.21.0",
|
||||
"sonner": "^1.7.4",
|
||||
@@ -7664,11 +7666,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fdir": {
|
||||
"version": "6.4.6",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
|
||||
"integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
|
||||
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"picomatch": "^3 || ^4"
|
||||
},
|
||||
@@ -9293,12 +9298,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/lucide-react": {
|
||||
"version": "0.453.0",
|
||||
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.453.0.tgz",
|
||||
"integrity": "sha512-kL+RGZCcJi9BvJtzg2kshO192Ddy9hv3ij+cPrVPWSRzgCWCVazoQJxOjAwgK53NomL07HB7GPHW120FimjNhQ==",
|
||||
"version": "0.542.0",
|
||||
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.542.0.tgz",
|
||||
"integrity": "sha512-w3hD8/SQB7+lzU2r4VdFyzzOzKnUjTZIF/MQJGSSvni7Llewni4vuViRppfRAa2guOsY5k4jZyxw/i9DQHv+dw==",
|
||||
"license": "ISC",
|
||||
"peerDependencies": {
|
||||
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
|
||||
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/magic-string": {
|
||||
@@ -10339,6 +10344,32 @@
|
||||
"pathe": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/motion": {
|
||||
"version": "12.23.12",
|
||||
"resolved": "https://registry.npmjs.org/motion/-/motion-12.23.12.tgz",
|
||||
"integrity": "sha512-8jCD8uW5GD1csOoqh1WhH1A6j5APHVE15nuBkFeRiMzYBdRwyAHmSP/oXSuW0WJPZRXTFdBoG4hY9TFWNhhwng==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"framer-motion": "^12.23.12",
|
||||
"tslib": "^2.4.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@emotion/is-prop-valid": "*",
|
||||
"react": "^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^18.0.0 || ^19.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@emotion/is-prop-valid": {
|
||||
"optional": true
|
||||
},
|
||||
"react": {
|
||||
"optional": true
|
||||
},
|
||||
"react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/motion-dom": {
|
||||
"version": "11.18.1",
|
||||
"resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-11.18.1.tgz",
|
||||
@@ -10354,6 +10385,48 @@
|
||||
"integrity": "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/motion/node_modules/framer-motion": {
|
||||
"version": "12.23.12",
|
||||
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.12.tgz",
|
||||
"integrity": "sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"motion-dom": "^12.23.12",
|
||||
"motion-utils": "^12.23.6",
|
||||
"tslib": "^2.4.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@emotion/is-prop-valid": "*",
|
||||
"react": "^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^18.0.0 || ^19.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@emotion/is-prop-valid": {
|
||||
"optional": true
|
||||
},
|
||||
"react": {
|
||||
"optional": true
|
||||
},
|
||||
"react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/motion/node_modules/motion-dom": {
|
||||
"version": "12.23.12",
|
||||
"resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.12.tgz",
|
||||
"integrity": "sha512-RcR4fvMCTESQBD/uKQe49D5RUeDOokkGRmz4ceaJKDBgHYtZtntC/s2vLvY38gqGaytinij/yi3hMcWVcEF5Kw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"motion-utils": "^12.23.6"
|
||||
}
|
||||
},
|
||||
"node_modules/motion/node_modules/motion-utils": {
|
||||
"version": "12.23.6",
|
||||
"resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz",
|
||||
"integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
@@ -11362,9 +11435,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
||||
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
|
||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -11990,6 +12063,21 @@
|
||||
"react": ">= 0.14.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-use-measure": {
|
||||
"version": "2.1.7",
|
||||
"resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz",
|
||||
"integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"react": ">=16.13",
|
||||
"react-dom": ">=16.13"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/read-cache": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
||||
@@ -13307,14 +13395,14 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.14",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
|
||||
"integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
|
||||
"version": "0.2.15",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
||||
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fdir": "^6.4.4",
|
||||
"picomatch": "^4.0.2"
|
||||
"fdir": "^6.5.0",
|
||||
"picomatch": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
@@ -13837,19 +13925,19 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.0.0.tgz",
|
||||
"integrity": "sha512-ixXJB1YRgDIw2OszKQS9WxGHKwLdCsbQNkpJN171udl6szi/rIySHL6/Os3s2+oE4P/FLD4dxg4mD7Wust+u5g==",
|
||||
"version": "7.1.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz",
|
||||
"integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"fdir": "^6.4.6",
|
||||
"picomatch": "^4.0.2",
|
||||
"fdir": "^6.5.0",
|
||||
"picomatch": "^4.0.3",
|
||||
"postcss": "^8.5.6",
|
||||
"rollup": "^4.40.0",
|
||||
"tinyglobby": "^0.2.14"
|
||||
"rollup": "^4.43.0",
|
||||
"tinyglobby": "^0.2.15"
|
||||
},
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
|
4
frontend/package.json
generated
4
frontend/package.json
generated
@@ -38,8 +38,9 @@
|
||||
"date-fns": "^4.1.0",
|
||||
"framer-motion": "^11.18.2",
|
||||
"fuse.js": "^7.1.0",
|
||||
"lucide-react": "^0.453.0",
|
||||
"lucide-react": "^0.542.0",
|
||||
"mini-svg-data-uri": "^1.4.4",
|
||||
"motion": "^12.23.12",
|
||||
"next": "15.5.2",
|
||||
"next-themes": "^0.4.4",
|
||||
"nuqs": "^2.4.1",
|
||||
@@ -53,6 +54,7 @@
|
||||
"react-dom": "19.0.0",
|
||||
"react-icons": "^5.5.0",
|
||||
"react-simple-typewriter": "^5.0.1",
|
||||
"react-use-measure": "^2.1.7",
|
||||
"sharp": "^0.33.5",
|
||||
"simple-icons": "^13.21.0",
|
||||
"sonner": "^1.7.4",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-19",
|
||||
"type": "addon",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://docs.netbird.io/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "addon",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://tailscale.com/kb/1017/install",
|
||||
|
@@ -1,51 +1,51 @@
|
||||
{
|
||||
"name": "AdGuard Home",
|
||||
"slug": "adguard",
|
||||
"categories": [
|
||||
5
|
||||
],
|
||||
"date_created": "2024-04-28",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started",
|
||||
"website": "https://adguard.com/en/adguard-home/overview.html",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/adguard-home.webp",
|
||||
"config_path": "/opt/AdGuardHome/AdGuardHome.yaml",
|
||||
"description": "AdGuard Home is an open-source, self-hosted network-wide ad blocker. It blocks advertisements, trackers, phishing and malware websites, and provides protection against online threats. AdGuard Home is a DNS-based solution, which means it blocks ads and malicious content at the network level, before it even reaches your device. It runs on your home network and can be easily configured and managed through a web-based interface. It provides detailed statistics and logs, allowing you to see which websites are being blocked, and why. AdGuard Home is designed to be fast, lightweight, and easy to use, making it an ideal solution for home users who want to block ads, protect their privacy, and improve the speed and security of their online experience.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/adguard.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "alpine",
|
||||
"script": "ct/alpine-adguard.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 256,
|
||||
"hdd": 1,
|
||||
"os": "alpine",
|
||||
"version": "3.22"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
"name": "AdGuard Home",
|
||||
"slug": "adguard",
|
||||
"categories": [
|
||||
5
|
||||
],
|
||||
"date_created": "2024-04-28",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started",
|
||||
"website": "https://adguard.com/en/adguard-home/overview.html",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/adguard-home.webp",
|
||||
"config_path": "/opt/AdGuardHome/AdGuardHome.yaml",
|
||||
"description": "AdGuard Home is an open-source, self-hosted network-wide ad blocker. It blocks advertisements, trackers, phishing and malware websites, and provides protection against online threats. AdGuard Home is a DNS-based solution, which means it blocks ads and malicious content at the network level, before it even reaches your device. It runs on your home network and can be easily configured and managed through a web-based interface. It provides detailed statistics and logs, allowing you to see which websites are being blocked, and why. AdGuard Home is designed to be fast, lightweight, and easy to use, making it an ideal solution for home users who want to block ads, protect their privacy, and improve the speed and security of their online experience.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/adguard.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "13"
|
||||
}
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Adguard Home can be updated via the user interface.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
{
|
||||
"type": "alpine",
|
||||
"script": "ct/alpine-adguard.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 256,
|
||||
"hdd": 1,
|
||||
"os": "alpine",
|
||||
"version": "3.22"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "AdGuard Home can only be updated via the user interface.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3142,
|
||||
"documentation": "https://www.unix-ag.uni-kl.de/~bloch/acng/html/index.html",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 13378,
|
||||
"documentation": "https://www.audiobookshelf.org/guides/",
|
||||
@@ -21,7 +21,7 @@
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 4,
|
||||
"hdd": 5,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
|
35
frontend/public/json/autocaliweb.json
Normal file
35
frontend/public/json/autocaliweb.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "Autocaliweb",
|
||||
"slug": "autocaliweb",
|
||||
"categories": [
|
||||
13
|
||||
],
|
||||
"date_created": "2025-09-10",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8083,
|
||||
"documentation": "https://github.com/gelbphoenix/autocaliweb/wiki",
|
||||
"config_path": "/etc/autocaliweb",
|
||||
"website": "https://github.com/gelbphoenix/autocaliweb",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/autocaliweb.webp",
|
||||
"description": "A modern web management system for eBooks, eComics and PDFs",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/autocaliweb.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 6,
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": "admin",
|
||||
"password": "admin123"
|
||||
},
|
||||
"notes": []
|
||||
}
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2025-01-20",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8090,
|
||||
"documentation": "https://beszel.dev/guide/what-is-beszel",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 4000,
|
||||
"documentation": "https://0xerr0r.github.io/blocky/latest/configuration/",
|
||||
|
@@ -4,7 +4,7 @@
|
||||
"categories": [
|
||||
21
|
||||
],
|
||||
"date_created": "2024-05-11",
|
||||
"date_created": "2025-09-17",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
@@ -25,6 +25,17 @@
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "alpine",
|
||||
"script": "ct/alpine-caddy.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 256,
|
||||
"hdd": 3,
|
||||
"os": "alpine",
|
||||
"version": "3.22"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2025-05-22",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/README.markdown",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/",
|
||||
@@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 4000,
|
||||
"documentation": "https://dashy.to/docs",
|
||||
|
@@ -23,7 +23,7 @@
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": true,
|
||||
"interface_port": 80,
|
||||
"documentation": "https://github.com/dresden-elektronik/deconz-rest-plugin/wiki",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8112,
|
||||
"documentation": "https://www.deluge-torrent.org/userguide/",
|
||||
|
@@ -21,7 +21,7 @@
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"hdd": 10,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
|
48
frontend/public/json/execute.json
Normal file
48
frontend/public/json/execute.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "PVE LXC Execute Command",
|
||||
"slug": "lxc-execute",
|
||||
"categories": [
|
||||
1
|
||||
],
|
||||
"date_created": "2025-09-18",
|
||||
"type": "pve",
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": null,
|
||||
"website": null,
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
|
||||
"config_path": "",
|
||||
"description": "This script allows administrators to execute a custom command inside one or multiple LXC containers on a Proxmox VE node. Containers can be selectively excluded via an interactive checklist. If a container is stopped, the script will automatically start it, run the command, and then shut it down again. Only Debian and Ubuntu based containers are supported.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "tools/pve/execute.sh",
|
||||
"resources": {
|
||||
"cpu": null,
|
||||
"ram": null,
|
||||
"hdd": null,
|
||||
"os": null,
|
||||
"version": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within the Proxmox shell.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Non-Debian/Ubuntu containers will be skipped automatically.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Stopped containers will be started temporarily to run the command, then shut down again.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8083,
|
||||
"documentation": "https://fhem.de/#Documentation",
|
||||
|
@@ -7,7 +7,7 @@
|
||||
],
|
||||
"date_created": "2025-06-18",
|
||||
"type": "addon",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8080,
|
||||
"documentation": "https://github.com/gtsteffaniak/filebrowser/wiki/Getting-Started",
|
||||
|
@@ -7,7 +7,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "addon",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8080,
|
||||
"documentation": null,
|
||||
|
35
frontend/public/json/globaleaks.json
Normal file
35
frontend/public/json/globaleaks.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "GlobaLeaks",
|
||||
"slug": "globaleaks",
|
||||
"categories": [
|
||||
0
|
||||
],
|
||||
"date_created": "2025-09-18",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 443,
|
||||
"documentation": "https://docs.globaleaks.org",
|
||||
"website": "https://www.globaleaks.org/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/globaleaks.webp",
|
||||
"config_path": "",
|
||||
"description": "GlobaLeaks is a free and open-source whistleblowing software enabling anyone to easily set up and maintain a secure reporting platform.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/globaleaks.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
@@ -13,7 +13,7 @@
|
||||
"website": "https://www.getgrist.com/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp",
|
||||
"config_path": "/opt/grist/.env",
|
||||
"description": "Grist is a modern, open source spreadsheet that goes beyond the grid",
|
||||
"description": "Grist is like a spreadsheet + database hybrid. It lets you store structured data, use relational links between tables, apply formulas (even with Python), build custom layouts (cards, forms, dashboards), set fine-grained access rules, and visualize data with charts or pivot-tables.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
|
@@ -32,6 +32,10 @@
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Containerized version doesn't allow Home Assistant add-ons.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"type": "warning"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8581,
|
||||
"documentation": "https://github.com/homebridge/homebridge/wiki",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": true,
|
||||
"interface_port": 8090,
|
||||
"documentation": "https://github.com/awawa-dev/HyperHDR/wiki",
|
||||
|
@@ -23,7 +23,7 @@
|
||||
"ram": 4096,
|
||||
"hdd": 20,
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8086,
|
||||
"documentation": "https://docs.influxdata.com/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2025-07-29",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 80,
|
||||
"documentation": "https://doc.jeedom.com",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-12-26",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8080,
|
||||
"documentation": "https://www.jenkins.io/doc/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 5299,
|
||||
"documentation": "https://lazylibrarian.gitlab.io/lazylibrarian.gitlab.io/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-08-06",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 17170,
|
||||
"documentation": "https://github.com/lldap/lldap/blob/main/README.md",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3306,
|
||||
"documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/192",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2025-01-30",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8065,
|
||||
"documentation": "https://docs.mattermost.com/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-18",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 27017,
|
||||
"documentation": "https://www.mongodb.com/docs/manual/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://mosquitto.org/documentation/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2025-03-13",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 81,
|
||||
"documentation": "https://github.com/ZoeyVid/NPMplus/blob/develop/README.md",
|
||||
@@ -39,7 +39,7 @@
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": "root",
|
||||
"username": "admin@example.org",
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
@@ -52,7 +52,7 @@
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Application credentials: `cat /opt/.npm_pwd`",
|
||||
"text": "Application credentials: `cat /opt/.npm_pwd` - if file not exist in LXC check docker logs for password with `docker logs npmplus`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 80,
|
||||
"documentation": "https://docs.ntfy.sh/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 80,
|
||||
"documentation": "https://docs.openmediavault.org/en/stable/",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8443,
|
||||
"documentation": "https://www.openhab.org/docs/",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "OpenWrt",
|
||||
"slug": "openwrt",
|
||||
"slug": "openwrt-vm",
|
||||
"categories": [
|
||||
4,
|
||||
2
|
||||
@@ -18,7 +18,7 @@
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "vm/openwrt.sh",
|
||||
"script": "vm/openwrt-vm.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 256,
|
@@ -33,11 +33,7 @@
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "This LXC is very memory-hungry when updating; it requires at least 6GB RAM, but RAM may be reduced to as low as 2GB when running normally",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "To use a bind mount for storage, create symlinks to your mount for both `uploads` and `temp-uploads` in `/opt/palmr_data`",
|
||||
"text": "To use a bind mount for storage, create symlinks to your mount for both `uploads` and `temp-uploads` in `/opt/palmr_data`, and uncomment `CUSTOM_PATH` to add the path to your bind mount",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://github.com/leiweibau/Pi.Alert/blob/main/README.md",
|
||||
@@ -31,10 +31,5 @@
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
"notes": []
|
||||
}
|
||||
|
@@ -35,10 +35,6 @@
|
||||
{
|
||||
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@@ -1,52 +1,48 @@
|
||||
{
|
||||
"name": "Podman Home Assistant Container",
|
||||
"slug": "podman-homeassistant",
|
||||
"categories": [
|
||||
16
|
||||
],
|
||||
"date_created": "2024-04-29",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8123,
|
||||
"documentation": "https://www.home-assistant.io/docs/",
|
||||
"website": "https://www.home-assistant.io/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/home-assistant.webp",
|
||||
"config_path": "/var/lib/containers/storage/volumes/hass_config/_data",
|
||||
"description": "A standalone Podman container-based installation of Home Assistant Core means that the Home Assistant Core software is installed inside a container managed by Podman, separate from the host operating system. This provides a flexible and scalable solution for running the software, as the container can be easily moved between host systems or isolated from other processes for security. Podman is a popular open-source tool for managing containers that is similar to Docker, but designed for use on Linux systems without a daemon.\r\n\r\n\ud83d\udec8 If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/podman-homeassistant.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 16,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
"name": "Podman Home Assistant Container",
|
||||
"slug": "podman-homeassistant",
|
||||
"categories": [
|
||||
16
|
||||
],
|
||||
"date_created": "2024-04-29",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8123,
|
||||
"documentation": "https://www.home-assistant.io/docs/",
|
||||
"website": "https://www.home-assistant.io/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/home-assistant.webp",
|
||||
"config_path": "/var/lib/containers/storage/volumes/hass_config/_data",
|
||||
"description": "A standalone Podman container-based installation of Home Assistant Core means that the Home Assistant Core software is installed inside a container managed by Podman, separate from the host operating system. This provides a flexible and scalable solution for running the software, as the container can be easily moved between host systems or isolated from other processes for security. Podman is a popular open-source tool for managing containers that is similar to Docker, but designed for use on Linux systems without a daemon.\r\n\r\n\ud83d\udec8 If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/podman-homeassistant.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 16,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "If the LXC is created Privileged, the script will automatically set up USB passthrough.",
|
||||
"type": "warning"
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"text": "Options to Install Portainer or Portainer Agent",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
{
|
||||
"text": "config path: `/var/lib/containers/storage/volumes/hass_config/_data`",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Options to Install Portainer or Portainer Agent",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"date_created": "2025-02-02",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 5232,
|
||||
"documentation": "https://radicale.org/master.html#documentation-1",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user