mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-08-31 12:35:54 +00:00
Compare commits
77 Commits
fix-scanop
...
fix-nodejs
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52a21d2bfd | ||
|
|
12c6e86cf2 | ||
|
|
d9eb574517 | ||
|
|
4971b7682f | ||
|
|
82ee37f846 | ||
|
|
3f7da3aa03 | ||
|
|
639bbd2703 | ||
|
|
5729364f34 | ||
|
|
eb56b6bdc1 | ||
|
|
6cae1ed744 | ||
|
|
cecd3222fc | ||
|
|
b1edc2722d | ||
|
|
ff606af7ba | ||
|
|
6713f7e17f | ||
|
|
9955cd222e | ||
|
|
dbb28d54e2 | ||
|
|
55c9d8c5f2 | ||
|
|
de1d6c0d21 | ||
|
|
c45ce24995 | ||
|
|
a3b0d9fcbd | ||
|
|
5a71eb99f7 | ||
|
|
ef89bd76f0 | ||
|
|
97c00113be | ||
|
|
a03866e79a | ||
|
|
fd13dff335 | ||
|
|
426244e384 | ||
|
|
27cb42d423 | ||
|
|
3921f056f4 | ||
|
|
35b378761c | ||
|
|
c47b60e275 | ||
|
|
dcf355097a | ||
|
|
fa45c6b28a | ||
|
|
521fde3284 | ||
|
|
40373f17ae | ||
|
|
8e729543a0 | ||
|
|
21b98a4d4d | ||
|
|
e6687be6e5 | ||
|
|
cd72073434 | ||
|
|
c152912552 | ||
|
|
2638197aff | ||
|
|
a25627c7b3 | ||
|
|
bddc28bb57 | ||
|
|
ceb783d62c | ||
|
|
b4398bacc2 | ||
|
|
a61c3882b5 | ||
|
|
856bd4301f | ||
|
|
c1cff5ce2e | ||
|
|
bd0529547c | ||
|
|
7b1c60f57a | ||
|
|
61d5c61071 | ||
|
|
374230d387 | ||
|
|
6c3ef6fc8b | ||
|
|
3334ac5bcd | ||
|
|
e87cc87857 | ||
|
|
1e777012c0 | ||
|
|
81ad04344d | ||
|
|
b194287cd5 | ||
|
|
d14ca63429 | ||
|
|
1b714dceda | ||
|
|
519f5630ce | ||
|
|
8734eba9a7 | ||
|
|
d80fbc9629 | ||
|
|
f114aa553c | ||
|
|
db80438531 | ||
|
|
07d1f0837d | ||
|
|
45a6102d48 | ||
|
|
6cc27497a0 | ||
|
|
beb5c3a573 | ||
|
|
e60b90f385 | ||
|
|
fadcb0c375 | ||
|
|
89f5d3000e | ||
|
|
0a6e59dab2 | ||
|
|
4168f6c5d4 | ||
|
|
a51488a406 | ||
|
|
ab1869fbb0 | ||
|
|
e470b6ddf1 | ||
|
|
416deb8fd0 |
128
.github/changelogs/2026/08.md
generated
vendored
128
.github/changelogs/2026/08.md
generated
vendored
@@ -1,3 +1,131 @@
|
|||||||
|
## 2026-08-29
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- github action: post the command that tests a ct/ or install/ change [@MickLesk](https://github.com/MickLesk) ([#16833](https://github.com/community-scripts/ProxmoxVE/pull/16833))
|
||||||
|
|
||||||
|
## 2026-08-28
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- homepage: set CI=true so pnpm can self-heal node_modules without a TTY [@MickLesk](https://github.com/MickLesk) ([#16841](https://github.com/community-scripts/ProxmoxVE/pull/16841))
|
||||||
|
- droppedneedle: launch via automatic_upgrade orchestrator [@MickLesk](https://github.com/MickLesk) ([#16834](https://github.com/community-scripts/ProxmoxVE/pull/16834))
|
||||||
|
- calibre-web: point cps at explicit db path, src-layout package has no default anymore [@MickLesk](https://github.com/MickLesk) ([#16832](https://github.com/community-scripts/ProxmoxVE/pull/16832))
|
||||||
|
- podman: pull portainer images before systemd unit start to avoid start timeout [@MickLesk](https://github.com/MickLesk) ([#16831](https://github.com/community-scripts/ProxmoxVE/pull/16831))
|
||||||
|
- gitea: make gitea own its home dir instead of toggling group perms [@MickLesk](https://github.com/MickLesk) ([#16830](https://github.com/community-scripts/ProxmoxVE/pull/16830))
|
||||||
|
- pve-ups: fix: add pip binary [@CrazyWolf13](https://github.com/CrazyWolf13) ([#16820](https://github.com/community-scripts/ProxmoxVE/pull/16820))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Calibre-Web database creation [@MickLesk](https://github.com/MickLesk) ([#16842](https://github.com/community-scripts/ProxmoxVE/pull/16842))
|
||||||
|
- mastodon: read .ruby-version dynamically instead of hardcoding 4.0.5 [@MickLesk](https://github.com/MickLesk) ([#16829](https://github.com/community-scripts/ProxmoxVE/pull/16829))
|
||||||
|
|
||||||
|
## 2026-08-27
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Seanime ([#16777](https://github.com/community-scripts/ProxmoxVE/pull/16777))
|
||||||
|
- Yopass ([#16778](https://github.com/community-scripts/ProxmoxVE/pull/16778))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- excalidash: Add a sed to switch to the correct DB Provider [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16814](https://github.com/community-scripts/ProxmoxVE/pull/16814))
|
||||||
|
- fix(stirling-pdf): remove broken ExecStop using %n [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16813](https://github.com/community-scripts/ProxmoxVE/pull/16813))
|
||||||
|
|
||||||
|
### 🧰 Tools
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Fix: Incorporate the new update functions to prevent a empty grep on … [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16809](https://github.com/community-scripts/ProxmoxVE/pull/16809))
|
||||||
|
|
||||||
|
## 2026-08-26
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- CentOS ([#16772](https://github.com/community-scripts/ProxmoxVE/pull/16772))
|
||||||
|
- AlmaLinux ([#16771](https://github.com/community-scripts/ProxmoxVE/pull/16771))
|
||||||
|
- Fedora ([#16770](https://github.com/community-scripts/ProxmoxVE/pull/16770))
|
||||||
|
- Devuan ([#16773](https://github.com/community-scripts/ProxmoxVE/pull/16773))
|
||||||
|
- OpenEuler ([#16774](https://github.com/community-scripts/ProxmoxVE/pull/16774))
|
||||||
|
- Gentoo ([#16775](https://github.com/community-scripts/ProxmoxVE/pull/16775))
|
||||||
|
- openSUSE ([#16776](https://github.com/community-scripts/ProxmoxVE/pull/16776))
|
||||||
|
- Directus ([#16779](https://github.com/community-scripts/ProxmoxVE/pull/16779))
|
||||||
|
- HAProxy ([#16760](https://github.com/community-scripts/ProxmoxVE/pull/16760))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- [Fix]: LimeSurvey - enable Apache mod_rewrite [@jonathan8devs](https://github.com/jonathan8devs) ([#16767](https://github.com/community-scripts/ProxmoxVE/pull/16767))
|
||||||
|
- endurain: migrate legacy FRONTEND_DIR path on update [@MickLesk](https://github.com/MickLesk) ([#16794](https://github.com/community-scripts/ProxmoxVE/pull/16794))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- tools.func: recognize bare XZ-compressed tarballs in fetch_and_deploy* [@MickLesk](https://github.com/MickLesk) ([#16796](https://github.com/community-scripts/ProxmoxVE/pull/16796))
|
||||||
|
- tools.func: fix mongodb version comparison, guard apt purge against removing dependents [@MickLesk](https://github.com/MickLesk) ([#16795](https://github.com/community-scripts/ProxmoxVE/pull/16795))
|
||||||
|
|
||||||
|
### 📂 Github
|
||||||
|
|
||||||
|
- github: teach the PocketBase bot every field [@MickLesk](https://github.com/MickLesk) ([#16781](https://github.com/community-scripts/ProxmoxVE/pull/16781))
|
||||||
|
|
||||||
|
## 2026-08-25
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Budget-Board ([#16714](https://github.com/community-scripts/ProxmoxVE/pull/16714))
|
||||||
|
- Maintainerr ([#16716](https://github.com/community-scripts/ProxmoxVE/pull/16716))
|
||||||
|
- pyLoad ([#16717](https://github.com/community-scripts/ProxmoxVE/pull/16717))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- fix(apache-tika): handle upstream's switch from jar to zip distribution [@Munza2020](https://github.com/Munza2020) ([#16726](https://github.com/community-scripts/ProxmoxVE/pull/16726))
|
||||||
|
- Fix Firecrawl install: add ccache dependency for koffi native build [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16746](https://github.com/community-scripts/ProxmoxVE/pull/16746))
|
||||||
|
- excalidash: Fix broken Update [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16747](https://github.com/community-scripts/ProxmoxVE/pull/16747))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Migrate the (remaining) Top 25 scripts to the new core engine [@MickLesk](https://github.com/MickLesk) ([#16749](https://github.com/community-scripts/ProxmoxVE/pull/16749))
|
||||||
|
|
||||||
|
## 2026-08-24
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- ArchLinux ([#16715](https://github.com/community-scripts/ProxmoxVE/pull/16715))
|
||||||
|
- AirTrail ([#16713](https://github.com/community-scripts/ProxmoxVE/pull/16713))
|
||||||
|
- RockyLinux ([#16718](https://github.com/community-scripts/ProxmoxVE/pull/16718))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Add setup_mongodb back in Omada [@lucacome](https://github.com/lucacome) ([#16736](https://github.com/community-scripts/ProxmoxVE/pull/16736))
|
||||||
|
- fireshare: source fireshare.env during update [@MickLesk](https://github.com/MickLesk) ([#16706](https://github.com/community-scripts/ProxmoxVE/pull/16706))
|
||||||
|
- netbox: serve on plain HTTP too, port 80 forced HTTPS redirect broke reverse proxies [@MickLesk](https://github.com/MickLesk) ([#16707](https://github.com/community-scripts/ProxmoxVE/pull/16707))
|
||||||
|
- FileFlows: Fix Download URL [@MickLesk](https://github.com/MickLesk) ([#16708](https://github.com/community-scripts/ProxmoxVE/pull/16708))
|
||||||
|
- Gitea: fix git-over-SSH auth, group-writable home dir tripped sshd StrictModes [@MickLesk](https://github.com/MickLesk) ([#16710](https://github.com/community-scripts/ProxmoxVE/pull/16710))
|
||||||
|
|
||||||
|
### 🧰 Tools
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- post-pve/pbs-install: fix component_exists_in_sources matching substrings of hyphenated tokens [@MickLesk](https://github.com/MickLesk) ([#16709](https://github.com/community-scripts/ProxmoxVE/pull/16709))
|
||||||
|
|
||||||
|
## 2026-08-23
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Set default ProxmoxVE raw URL in PVE-UPS & fix var_cpu sorting [@MickLesk](https://github.com/MickLesk) ([#16689](https://github.com/community-scripts/ProxmoxVE/pull/16689))
|
||||||
|
|
||||||
## 2026-08-22
|
## 2026-08-22
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
76
.github/workflows/changelog-pr.yml
generated
vendored
76
.github/workflows/changelog-pr.yml
generated
vendored
@@ -4,6 +4,11 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
# Fired by community-scripts/core when an engine pull request is merged, so a
|
||||||
|
# change there does not wait for the next push here. Optional: engine PRs are
|
||||||
|
# collected on every run regardless, this only decides how soon.
|
||||||
|
repository_dispatch:
|
||||||
|
types: [core-pr-merged]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-changelog-pull-request:
|
update-changelog-pull-request:
|
||||||
@@ -207,6 +212,77 @@ jobs:
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ── Engine pull requests ────────────────────────────────────────
|
||||||
|
// The engine lives in community-scripts/core, so its changes never
|
||||||
|
// show up in this repository's PR list -- and a fix there reaches
|
||||||
|
// every script here. The "💾 Core" category already existed for
|
||||||
|
// ProxmoxVE PRs labelled `core`; engine PRs land in the same place.
|
||||||
|
try {
|
||||||
|
const { data: corePulls } = await github.rest.pulls.list({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: "core",
|
||||||
|
base: "main",
|
||||||
|
state: "closed",
|
||||||
|
sort: "updated",
|
||||||
|
direction: "desc",
|
||||||
|
per_page: 100,
|
||||||
|
});
|
||||||
|
|
||||||
|
const coreCategory = categorizedPRs.find(category =>
|
||||||
|
category.title.includes("Core") || category.labels.includes("core"));
|
||||||
|
|
||||||
|
// core carries GitHub's default label set, and most of its pull
|
||||||
|
// requests carry none at all, so map what maps and let the rest
|
||||||
|
// sit directly under the category.
|
||||||
|
const coreLabelAliases = {
|
||||||
|
bug: "bugfix",
|
||||||
|
bugfix: "bugfix",
|
||||||
|
enhancement: "feature",
|
||||||
|
feature: "feature",
|
||||||
|
refactor: "refactor",
|
||||||
|
"breaking change": "breaking change",
|
||||||
|
};
|
||||||
|
const corePriority = ["breaking change", "bugfix", "feature", "refactor"];
|
||||||
|
|
||||||
|
for (const pr of corePulls) {
|
||||||
|
if (!pr.merged_at) continue;
|
||||||
|
if (new Date(pr.merged_at) <= latestDateInChangelog) continue;
|
||||||
|
|
||||||
|
const rawLabels = pr.labels.map(label => label.name.toLowerCase());
|
||||||
|
if (rawLabels.some(l => ["invalid", "wontdo", "wontfix", "duplicate"].includes(l))) continue;
|
||||||
|
|
||||||
|
if (!coreCategory) {
|
||||||
|
console.log(`No Core category configured; skipping core#${pr.number}`);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// core#N rather than #N: a bare number reads as a pull request
|
||||||
|
// in this repository, so the link would lead somewhere other
|
||||||
|
// than the text promises.
|
||||||
|
const coreNote = `- ${pr.title} [@${pr.user.login}](https://github.com/${pr.user.login}) ([core#${pr.number}](${pr.html_url}))`;
|
||||||
|
|
||||||
|
const mapped = rawLabels.map(l => coreLabelAliases[l]).filter(Boolean);
|
||||||
|
let placed = false;
|
||||||
|
if (coreCategory.subCategories && coreCategory.subCategories.length > 0) {
|
||||||
|
for (const priorityLabel of corePriority) {
|
||||||
|
if (!mapped.includes(priorityLabel)) continue;
|
||||||
|
const subCategory = coreCategory.subCategories.find(sub =>
|
||||||
|
sub.labels.includes(priorityLabel));
|
||||||
|
if (subCategory) {
|
||||||
|
subCategory.notes.push(coreNote);
|
||||||
|
placed = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!placed) coreCategory.notes.push(coreNote);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
// The engine repository being unreachable must not cost this
|
||||||
|
// repository its changelog.
|
||||||
|
console.error(`Could not read core pull requests: ${error}`);
|
||||||
|
}
|
||||||
|
|
||||||
return categorizedPRs;
|
return categorizedPRs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
171
.github/workflows/pr-test-command.yml
generated
vendored
Normal file
171
.github/workflows/pr-test-command.yml
generated
vendored
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
name: PR test command
|
||||||
|
|
||||||
|
# Posts a ready-to-run test command for reviewers.
|
||||||
|
# It uses this PR’s script branch with the production engine, since both resolve
|
||||||
|
# independently. Only scripts using community-scripts/core are supported.
|
||||||
|
#
|
||||||
|
# pull_request_target allows comments on fork PRs. No PR code is checked out or
|
||||||
|
# executed; API inputs are validated and the comment is assembled in JavaScript.
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
branches: ["main"]
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths:
|
||||||
|
- "ct/**"
|
||||||
|
- "install/**"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
comment:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
|
runs-on: self-hosted
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- uses: actions/github-script@v9
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const MARKER = '<!-- pr-test-command -->';
|
||||||
|
const MAX_APPS = 10;
|
||||||
|
|
||||||
|
const pr = context.payload.pull_request;
|
||||||
|
const head = pr.head.repo; // null when the fork is gone
|
||||||
|
if (!head) return;
|
||||||
|
|
||||||
|
const owner = context.repo.owner;
|
||||||
|
const repo = context.repo.repo;
|
||||||
|
|
||||||
|
// Git allows backticks in a ref name, and this one ends up inside a
|
||||||
|
// fenced block. Anything outside the ordinary set is not worth
|
||||||
|
// rendering, so bail rather than escape.
|
||||||
|
const ref = pr.head.ref;
|
||||||
|
if (!/^[A-Za-z0-9._\/-]+$/.test(ref)) return;
|
||||||
|
const base = `https://raw.githubusercontent.com/${head.full_name}/${ref}`;
|
||||||
|
|
||||||
|
const files = await github.paginate(github.rest.pulls.listFiles, {
|
||||||
|
owner, repo, pull_number: pr.number, per_page: 100,
|
||||||
|
});
|
||||||
|
|
||||||
|
// ct/foo.sh and install/foo-install.sh are the same app. A removed
|
||||||
|
// file has nothing left to run.
|
||||||
|
const apps = new Map(); // slug -> {ct, install}
|
||||||
|
for (const f of files) {
|
||||||
|
if (f.status === 'removed') continue;
|
||||||
|
let m = f.filename.match(/^ct\/([a-z0-9][a-z0-9._-]*)\.sh$/);
|
||||||
|
if (m) { apps.set(m[1], { ...apps.get(m[1]), ct: true }); continue; }
|
||||||
|
m = f.filename.match(/^install\/([a-z0-9][a-z0-9._-]*)-install\.sh$/);
|
||||||
|
if (m) apps.set(m[1], { ...apps.get(m[1]), install: true });
|
||||||
|
}
|
||||||
|
if (apps.size === 0) return;
|
||||||
|
|
||||||
|
// Read the ct script at the PR head to see which engine it loads.
|
||||||
|
// Read only -- it is never sourced or run.
|
||||||
|
async function bootstrapOf(slug) {
|
||||||
|
try {
|
||||||
|
const res = await github.rest.repos.getContent({
|
||||||
|
owner: head.owner.login, repo: head.name,
|
||||||
|
path: `ct/${slug}.sh`, ref: pr.head.sha,
|
||||||
|
});
|
||||||
|
if (!res.data.content) return 'unknown';
|
||||||
|
const text = Buffer.from(res.data.content, 'base64').toString('utf8');
|
||||||
|
const firstLines = text.split('\n').slice(0, 12).join('\n');
|
||||||
|
return /_cs_boot=/.test(firstLines) ? 'core' : 'legacy';
|
||||||
|
} catch (e) {
|
||||||
|
return e.status === 404 ? 'missing' : 'unknown';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const ready = [], legacy = [], missing = [];
|
||||||
|
for (const slug of [...apps.keys()].sort()) {
|
||||||
|
const kind = await bootstrapOf(slug);
|
||||||
|
if (kind === 'core') ready.push(slug);
|
||||||
|
else if (kind === 'legacy') legacy.push(slug);
|
||||||
|
else if (kind === 'missing') missing.push(slug);
|
||||||
|
}
|
||||||
|
|
||||||
|
const lines = [MARKER];
|
||||||
|
|
||||||
|
if (ready.length > 0) {
|
||||||
|
const shown = ready.slice(0, MAX_APPS);
|
||||||
|
lines.push(
|
||||||
|
'### Try this branch',
|
||||||
|
'',
|
||||||
|
'The engine and the scripts resolve independently, so this runs the changed',
|
||||||
|
'`ct/` and `install/` scripts against the **production** engine:',
|
||||||
|
'',
|
||||||
|
);
|
||||||
|
for (const slug of shown) {
|
||||||
|
lines.push(
|
||||||
|
'```bash',
|
||||||
|
`export COMMUNITY_SCRIPTS_URL=${base}`,
|
||||||
|
`bash -c "$(curl -fsSL "$COMMUNITY_SCRIPTS_URL/ct/${slug}.sh")"`,
|
||||||
|
'```',
|
||||||
|
'',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (ready.length > shown.length) {
|
||||||
|
lines.push(
|
||||||
|
`${ready.length - shown.length} more script(s) changed; same command, different slug.`,
|
||||||
|
'',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
lines.push(
|
||||||
|
'Both lines are needed. Each script pins `_CS_DEFAULT_URL` to `main`, and that',
|
||||||
|
'pin is what fills `COMMUNITY_SCRIPTS_URL` when the variable is unset — so',
|
||||||
|
'curling the branch URL on its own gives you the `ct/` script from this PR and',
|
||||||
|
'the `install/` script from `main`. Frequently the one you meant to test.',
|
||||||
|
'',
|
||||||
|
'The same command works on an Incus host: the engine detects the platform and',
|
||||||
|
'loads the matching backend, while the scripts still come from this branch.',
|
||||||
|
'',
|
||||||
|
'<details><summary>Useful while testing</summary>',
|
||||||
|
'',
|
||||||
|
'`dev_mode=net` logs every fetch with status and URL, which is the quickest way',
|
||||||
|
'to confirm the branch is really being used. `dev_mode=keep` stops a failed',
|
||||||
|
'build from deleting the container along with the evidence.',
|
||||||
|
'',
|
||||||
|
'```bash',
|
||||||
|
`export COMMUNITY_SCRIPTS_URL=${base}`,
|
||||||
|
`dev_mode=net,keep bash -c "$(curl -fsSL "$COMMUNITY_SCRIPTS_URL/ct/${shown[0]}.sh")"`,
|
||||||
|
'```',
|
||||||
|
'</details>',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (legacy.length > 0) {
|
||||||
|
lines.push(
|
||||||
|
'',
|
||||||
|
ready.length > 0 ? '---' : '### Not testable this way yet',
|
||||||
|
'',
|
||||||
|
`\`${legacy.join('`, `')}\` still uses the older one-liner bootstrap, which`,
|
||||||
|
'resolves everything from `ProxmoxVE/main` and ignores `COMMUNITY_SCRIPTS_URL`.',
|
||||||
|
'There is no way to point it at this branch — test it from a checkout on the',
|
||||||
|
'host instead, or migrate the script to the `_cs_boot` bootstrap first.',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (missing.length > 0) {
|
||||||
|
lines.push(
|
||||||
|
'',
|
||||||
|
`No \`ct/\` script found for \`${missing.join('`, `')}\`, so there is nothing to`,
|
||||||
|
'run. If the install script was renamed, its `ct/` counterpart needs the same',
|
||||||
|
'name.',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lines.length === 1) return; // marker only, nothing worth saying
|
||||||
|
const body = lines.join('\n');
|
||||||
|
|
||||||
|
// Update in place rather than posting again on every push.
|
||||||
|
const comments = await github.paginate(github.rest.issues.listComments, {
|
||||||
|
owner, repo, issue_number: pr.number, per_page: 100,
|
||||||
|
});
|
||||||
|
const mine = comments.find(c => c.body.includes(MARKER));
|
||||||
|
if (mine) {
|
||||||
|
if (mine.body !== body) {
|
||||||
|
await github.rest.issues.updateComment({ owner, repo, comment_id: mine.id, body });
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
await github.rest.issues.createComment({ owner, repo, issue_number: pr.number, body });
|
||||||
|
}
|
||||||
301
CHANGELOG.md
301
CHANGELOG.md
@@ -95,6 +95,9 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -108,7 +111,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><h4>August (22 entries)</h4></summary>
|
<summary><h4>August (29 entries)</h4></summary>
|
||||||
|
|
||||||
[View August 2026 Changelog](.github/changelogs/2026/08.md)
|
[View August 2026 Changelog](.github/changelogs/2026/08.md)
|
||||||
|
|
||||||
@@ -527,6 +530,109 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
## 2026-08-31
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Aurral ([#16908](https://github.com/community-scripts/ProxmoxVE/pull/16908))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- bambuddy: force asyncio loop, uvloop breaks camera proxy handlers [@MickLesk](https://github.com/MickLesk) ([#16904](https://github.com/community-scripts/ProxmoxVE/pull/16904))
|
||||||
|
- bookorbit: raise service start timeout, migration can exceed systemd default [@MickLesk](https://github.com/MickLesk) ([#16860](https://github.com/community-scripts/ProxmoxVE/pull/16860))
|
||||||
|
- node-red: remove --unsafe-perm flag [@MickLesk](https://github.com/MickLesk) ([#16859](https://github.com/community-scripts/ProxmoxVE/pull/16859))
|
||||||
|
- directus: add build-essential dependency [@MickLesk](https://github.com/MickLesk) ([#16858](https://github.com/community-scripts/ProxmoxVE/pull/16858))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- haos-vm: add optional x86-64-v2-AES CPU option, future HA numpy builds need it [@MickLesk](https://github.com/MickLesk) ([#16868](https://github.com/community-scripts/ProxmoxVE/pull/16868))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- kima-hub/maintainerr/planka/spliit: bump NODE_VERSION [@MickLesk](https://github.com/MickLesk) ([#16905](https://github.com/community-scripts/ProxmoxVE/pull/16905))
|
||||||
|
- gatus: pin Go toolchain to gatus's own go.mod version [@MickLesk](https://github.com/MickLesk) ([#16893](https://github.com/community-scripts/ProxmoxVE/pull/16893))
|
||||||
|
- immich: tolerate enable-maintenance-mode crash, same as disable-maintenance-mode [@MickLesk](https://github.com/MickLesk) ([#16866](https://github.com/community-scripts/ProxmoxVE/pull/16866))
|
||||||
|
- move the hardware-accelerated scripts onto new core [@MickLesk](https://github.com/MickLesk) ([#16864](https://github.com/community-scripts/ProxmoxVE/pull/16864))
|
||||||
|
- ntopng: use ntop.org's documented apt repo per Debian codename, not always apt-stable [@MickLesk](https://github.com/MickLesk) ([#16862](https://github.com/community-scripts/ProxmoxVE/pull/16862))
|
||||||
|
- Refactor: OpenGist [@MickLesk](https://github.com/MickLesk) ([#16861](https://github.com/community-scripts/ProxmoxVE/pull/16861))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- Refactor VM script settings and fix load_functions errors [@MickLesk](https://github.com/MickLesk) ([core#13](https://github.com/community-scripts/core/pull/13))
|
||||||
|
- Ask ProxmoxVE to refresh its changelog on merge [@MickLesk](https://github.com/MickLesk) ([core#11](https://github.com/community-scripts/core/pull/11))
|
||||||
|
- Lift the settings summary and the mode fork into vm-core [@MickLesk](https://github.com/MickLesk) ([core#12](https://github.com/community-scripts/core/pull/12))
|
||||||
|
|
||||||
|
### 🧰 Tools
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- filebrowser-quantum: strip removed disableIndexing key on update, restart service [@MickLesk](https://github.com/MickLesk) ([#16892](https://github.com/community-scripts/ProxmoxVE/pull/16892))
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- Include engine pull requests in the changelog [@MickLesk](https://github.com/MickLesk) ([#16867](https://github.com/community-scripts/ProxmoxVE/pull/16867))
|
||||||
|
|
||||||
|
## 2026-08-30
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- SolidInvoice ([#16869](https://github.com/community-scripts/ProxmoxVE/pull/16869))
|
||||||
|
- Super-Productivity ([#16870](https://github.com/community-scripts/ProxmoxVE/pull/16870))
|
||||||
|
- Defguard ([#16871](https://github.com/community-scripts/ProxmoxVE/pull/16871))
|
||||||
|
- OpenBao ([#16872](https://github.com/community-scripts/ProxmoxVE/pull/16872))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- general: remove gitea links overall [@MickLesk](https://github.com/MickLesk) ([#16863](https://github.com/community-scripts/ProxmoxVE/pull/16863))
|
||||||
|
|
||||||
|
## 2026-08-29
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- github action: post the command that tests a ct/ or install/ change [@MickLesk](https://github.com/MickLesk) ([#16833](https://github.com/community-scripts/ProxmoxVE/pull/16833))
|
||||||
|
|
||||||
|
## 2026-08-28
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- homepage: set CI=true so pnpm can self-heal node_modules without a TTY [@MickLesk](https://github.com/MickLesk) ([#16841](https://github.com/community-scripts/ProxmoxVE/pull/16841))
|
||||||
|
- droppedneedle: launch via automatic_upgrade orchestrator [@MickLesk](https://github.com/MickLesk) ([#16834](https://github.com/community-scripts/ProxmoxVE/pull/16834))
|
||||||
|
- calibre-web: point cps at explicit db path, src-layout package has no default anymore [@MickLesk](https://github.com/MickLesk) ([#16832](https://github.com/community-scripts/ProxmoxVE/pull/16832))
|
||||||
|
- podman: pull portainer images before systemd unit start to avoid start timeout [@MickLesk](https://github.com/MickLesk) ([#16831](https://github.com/community-scripts/ProxmoxVE/pull/16831))
|
||||||
|
- gitea: make gitea own its home dir instead of toggling group perms [@MickLesk](https://github.com/MickLesk) ([#16830](https://github.com/community-scripts/ProxmoxVE/pull/16830))
|
||||||
|
- pve-ups: fix: add pip binary [@CrazyWolf13](https://github.com/CrazyWolf13) ([#16820](https://github.com/community-scripts/ProxmoxVE/pull/16820))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Calibre-Web database creation [@MickLesk](https://github.com/MickLesk) ([#16842](https://github.com/community-scripts/ProxmoxVE/pull/16842))
|
||||||
|
- mastodon: read .ruby-version dynamically instead of hardcoding 4.0.5 [@MickLesk](https://github.com/MickLesk) ([#16829](https://github.com/community-scripts/ProxmoxVE/pull/16829))
|
||||||
|
|
||||||
|
## 2026-08-27
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Seanime ([#16777](https://github.com/community-scripts/ProxmoxVE/pull/16777))
|
||||||
|
- Yopass ([#16778](https://github.com/community-scripts/ProxmoxVE/pull/16778))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- excalidash: Add a sed to switch to the correct DB Provider [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16814](https://github.com/community-scripts/ProxmoxVE/pull/16814))
|
||||||
|
- fix(stirling-pdf): remove broken ExecStop using %n [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16813](https://github.com/community-scripts/ProxmoxVE/pull/16813))
|
||||||
|
|
||||||
|
### 🧰 Tools
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Fix: Incorporate the new update functions to prevent a empty grep on … [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#16809](https://github.com/community-scripts/ProxmoxVE/pull/16809))
|
||||||
|
|
||||||
## 2026-08-26
|
## 2026-08-26
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
@@ -541,6 +647,20 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
- Directus ([#16779](https://github.com/community-scripts/ProxmoxVE/pull/16779))
|
- Directus ([#16779](https://github.com/community-scripts/ProxmoxVE/pull/16779))
|
||||||
- HAProxy ([#16760](https://github.com/community-scripts/ProxmoxVE/pull/16760))
|
- HAProxy ([#16760](https://github.com/community-scripts/ProxmoxVE/pull/16760))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- [Fix]: LimeSurvey - enable Apache mod_rewrite [@jonathan8devs](https://github.com/jonathan8devs) ([#16767](https://github.com/community-scripts/ProxmoxVE/pull/16767))
|
||||||
|
- endurain: migrate legacy FRONTEND_DIR path on update [@MickLesk](https://github.com/MickLesk) ([#16794](https://github.com/community-scripts/ProxmoxVE/pull/16794))
|
||||||
|
|
||||||
|
### 💾 Core
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- tools.func: recognize bare XZ-compressed tarballs in fetch_and_deploy* [@MickLesk](https://github.com/MickLesk) ([#16796](https://github.com/community-scripts/ProxmoxVE/pull/16796))
|
||||||
|
- tools.func: fix mongodb version comparison, guard apt purge against removing dependents [@MickLesk](https://github.com/MickLesk) ([#16795](https://github.com/community-scripts/ProxmoxVE/pull/16795))
|
||||||
|
|
||||||
### 📂 Github
|
### 📂 Github
|
||||||
|
|
||||||
- github: teach the PocketBase bot every field [@MickLesk](https://github.com/MickLesk) ([#16781](https://github.com/community-scripts/ProxmoxVE/pull/16781))
|
- github: teach the PocketBase bot every field [@MickLesk](https://github.com/MickLesk) ([#16781](https://github.com/community-scripts/ProxmoxVE/pull/16781))
|
||||||
@@ -1039,182 +1159,3 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
- Docmost: cleanup folder at update [@MickLesk](https://github.com/MickLesk) ([#16177](https://github.com/community-scripts/ProxmoxVE/pull/16177))
|
- Docmost: cleanup folder at update [@MickLesk](https://github.com/MickLesk) ([#16177](https://github.com/community-scripts/ProxmoxVE/pull/16177))
|
||||||
- Firecrawl: Add dependency [@tremor021](https://github.com/tremor021) ([#16174](https://github.com/community-scripts/ProxmoxVE/pull/16174))
|
- Firecrawl: Add dependency [@tremor021](https://github.com/tremor021) ([#16174](https://github.com/community-scripts/ProxmoxVE/pull/16174))
|
||||||
|
|
||||||
## 2026-07-30
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Firecrawl ([#16156](https://github.com/community-scripts/ProxmoxVE/pull/16156))
|
|
||||||
- OmniRoute ([#16155](https://github.com/community-scripts/ProxmoxVE/pull/16155))
|
|
||||||
- PegaProx ([#16154](https://github.com/community-scripts/ProxmoxVE/pull/16154))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Immich: Pin version to 3.1.0 [@vhsdream](https://github.com/vhsdream) ([#16170](https://github.com/community-scripts/ProxmoxVE/pull/16170))
|
|
||||||
- romm: remove stale 1.x alembic migrations on update [@Darkatek7](https://github.com/Darkatek7) ([#16101](https://github.com/community-scripts/ProxmoxVE/pull/16101))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Medusa: convert the non-free unrar source to deb822 format [@angusmaul](https://github.com/angusmaul) ([#16093](https://github.com/community-scripts/ProxmoxVE/pull/16093))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- tools.func: support dynamic gitlab URL | add setup_mysql_db function [@MickLesk](https://github.com/MickLesk) ([#16166](https://github.com/community-scripts/ProxmoxVE/pull/16166))
|
|
||||||
- core: add configurable host CA inheritance during bootstrap [@MickLesk](https://github.com/MickLesk) ([#15889](https://github.com/community-scripts/ProxmoxVE/pull/15889))
|
|
||||||
|
|
||||||
## 2026-07-29
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- backup virtual printer in bambuddy [@asylumexp](https://github.com/asylumexp) ([#16142](https://github.com/community-scripts/ProxmoxVE/pull/16142))
|
|
||||||
- ImmichFrame: check .NET SDK before update deployment [@aidaskni](https://github.com/aidaskni) ([#16104](https://github.com/community-scripts/ProxmoxVE/pull/16104))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Bichon: Migration for V2 Release [@MickLesk](https://github.com/MickLesk) ([#16145](https://github.com/community-scripts/ProxmoxVE/pull/16145))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- core: Harden remote func bootstrapping with dns issues [@MickLesk](https://github.com/MickLesk) ([#16146](https://github.com/community-scripts/ProxmoxVE/pull/16146))
|
|
||||||
|
|
||||||
## 2026-07-28
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Create search directory in wanderer-install.sh [@Isnubi](https://github.com/Isnubi) ([#16134](https://github.com/community-scripts/ProxmoxVE/pull/16134))
|
|
||||||
- npmplus: Remove duplicate msg_info for container recreation [@MickLesk](https://github.com/MickLesk) ([#16122](https://github.com/community-scripts/ProxmoxVE/pull/16122))
|
|
||||||
- fix Node.js version drift [@asylumexp](https://github.com/asylumexp) ([#16111](https://github.com/community-scripts/ProxmoxVE/pull/16111))
|
|
||||||
- UmlautAdaptarr: use the Debian 13 Microsoft repo with its 2025 signing key [@angusmaul](https://github.com/angusmaul) ([#16077](https://github.com/community-scripts/ProxmoxVE/pull/16077))
|
|
||||||
- fix(bazarr): store data in /var/lib/bazarr instead of inside /opt/bazarr [@angusmaul](https://github.com/angusmaul) ([#16098](https://github.com/community-scripts/ProxmoxVE/pull/16098))
|
|
||||||
- Cloudflare-DDNS: store API token in a 600 env file and build the binary at install time [@angusmaul](https://github.com/angusmaul) ([#16100](https://github.com/community-scripts/ProxmoxVE/pull/16100))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- tools.func: add nginx site helper and PHP socket resolver [@MickLesk](https://github.com/MickLesk) ([#16118](https://github.com/community-scripts/ProxmoxVE/pull/16118))
|
|
||||||
|
|
||||||
- #### 💥 Breaking Changes
|
|
||||||
|
|
||||||
- Migrate Musicseerr to DroppedNeedle [@vhsdream](https://github.com/vhsdream) ([#15751](https://github.com/community-scripts/ProxmoxVE/pull/15751))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- core: fix read prompt input directly from /dev/tty [@MickLesk](https://github.com/MickLesk) ([#16126](https://github.com/community-scripts/ProxmoxVE/pull/16126))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- actual-budget-prometheus-exporter ([#16109](https://github.com/community-scripts/ProxmoxVE/pull/16109))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- fix: prometheus-paperless-exporter incompatibility with paperless v3 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#16119](https://github.com/community-scripts/ProxmoxVE/pull/16119))
|
|
||||||
|
|
||||||
### 📂 Github
|
|
||||||
|
|
||||||
- fix keep-open for close invalid pr [@asylumexp](https://github.com/asylumexp) ([#16105](https://github.com/community-scripts/ProxmoxVE/pull/16105))
|
|
||||||
- Bump GitHub Actions across workflows [@MickLesk](https://github.com/MickLesk) ([#16091](https://github.com/community-scripts/ProxmoxVE/pull/16091))
|
|
||||||
|
|
||||||
## 2026-07-27
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Unpackerr ([#16034](https://github.com/community-scripts/ProxmoxVE/pull/16034))
|
|
||||||
- CookCLI ([#16028](https://github.com/community-scripts/ProxmoxVE/pull/16028))
|
|
||||||
- Discourse ([#16024](https://github.com/community-scripts/ProxmoxVE/pull/16024))
|
|
||||||
- Mastodon ([#16029](https://github.com/community-scripts/ProxmoxVE/pull/16029))
|
|
||||||
- Docspell ([#16033](https://github.com/community-scripts/ProxmoxVE/pull/16033))
|
|
||||||
- Poznote ([#16030](https://github.com/community-scripts/ProxmoxVE/pull/16030))
|
|
||||||
- Shiori ([#16026](https://github.com/community-scripts/ProxmoxVE/pull/16026))
|
|
||||||
- Nezha ([#16025](https://github.com/community-scripts/ProxmoxVE/pull/16025))
|
|
||||||
- PasswordPusher ([#16031](https://github.com/community-scripts/ProxmoxVE/pull/16031))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Update MeiliSearch command for database upgrade [@Isnubi](https://github.com/Isnubi) ([#16081](https://github.com/community-scripts/ProxmoxVE/pull/16081))
|
|
||||||
- Mylar3 & Medusa: use trixie non-free for unrar, not bookworm [@angusmaul](https://github.com/angusmaul) ([#16072](https://github.com/community-scripts/ProxmoxVE/pull/16072))
|
|
||||||
- Vikunja: pin install/update to v2.3.0 due upstream issues [@MickLesk](https://github.com/MickLesk) ([#16059](https://github.com/community-scripts/ProxmoxVE/pull/16059))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- OpenThread-BR: Add runtime configuration options [@tomfrenzel](https://github.com/tomfrenzel) ([#16038](https://github.com/community-scripts/ProxmoxVE/pull/16038))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- core: Handle LXC upgrade prompt cancellation [@MickLesk](https://github.com/MickLesk) ([#16058](https://github.com/community-scripts/ProxmoxVE/pull/16058))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- core: fix OS version fallback when the host catalog lacks the requested version & harden template validation [@MickLesk](https://github.com/MickLesk) ([#16068](https://github.com/community-scripts/ProxmoxVE/pull/16068))
|
|
||||||
|
|
||||||
## 2026-07-26
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- Satisfactory ([#16023](https://github.com/community-scripts/ProxmoxVE/pull/16023))
|
|
||||||
- OmniTools ([#16032](https://github.com/community-scripts/ProxmoxVE/pull/16032))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Apache Tika: Remove software-properties-common from Apache Tika install [@andygrunwald](https://github.com/andygrunwald) ([#16054](https://github.com/community-scripts/ProxmoxVE/pull/16054))
|
|
||||||
- Fix inventree missing db engine (upstream issue / postinstall) [@MickLesk](https://github.com/MickLesk) ([#16022](https://github.com/community-scripts/ProxmoxVE/pull/16022))
|
|
||||||
- OPNsense VM: answer console password prompt explicitly, add inter-key delay [@MickLesk](https://github.com/MickLesk) ([#16021](https://github.com/community-scripts/ProxmoxVE/pull/16021))
|
|
||||||
- [endurain] add node update to update script [@johanngrobe](https://github.com/johanngrobe) ([#16014](https://github.com/community-scripts/ProxmoxVE/pull/16014))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Apache Tika: Switch from Debian Bookworm to Debian Trixie and replace manual install of OpenJDK with setup_java [@andygrunwald](https://github.com/andygrunwald) ([#16036](https://github.com/community-scripts/ProxmoxVE/pull/16036))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- core: improve OS mismatch message [@MickLesk](https://github.com/MickLesk) ([#16035](https://github.com/community-scripts/ProxmoxVE/pull/16035))
|
|
||||||
|
|
||||||
### 🧰 Tools
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- Improve command description for disabling pve-enterprise repo [@Marcondiro](https://github.com/Marcondiro) ([#16020](https://github.com/community-scripts/ProxmoxVE/pull/16020))
|
|
||||||
|
|
||||||
## 2026-07-25
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- SparkyFitness: substitute SPARKY_FITNESS_FRONTEND_URL in nginx config [@MickLesk](https://github.com/MickLesk) ([#16007](https://github.com/community-scripts/ProxmoxVE/pull/16007))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- AFFiNE: Bump version to v0.27.3 [@Oscar006](https://github.com/Oscar006) ([#16012](https://github.com/community-scripts/ProxmoxVE/pull/16012))
|
|
||||||
|
|
||||||
## 2026-07-24
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Termix: migrate database to new db/data layout [@MickLesk](https://github.com/MickLesk) ([#15996](https://github.com/community-scripts/ProxmoxVE/pull/15996))
|
|
||||||
- Sync-in: create admin user with admin role instead of default user [@MickLesk](https://github.com/MickLesk) ([#15983](https://github.com/community-scripts/ProxmoxVE/pull/15983))
|
|
||||||
- VM: fix machine type selection being ignored, VM always created as q35 [@MickLesk](https://github.com/MickLesk) ([#15995](https://github.com/community-scripts/ProxmoxVE/pull/15995))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Bump all Alpine scripts to 3.24 [@asylumexp](https://github.com/asylumexp) ([#15994](https://github.com/community-scripts/ProxmoxVE/pull/15994))
|
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
74
ct/aurral.sh
Normal file
74
ct/aurral.sh
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/lklynet/aurral
|
||||||
|
|
||||||
|
APP="Aurral"
|
||||||
|
var_tags="${var_tags:-music;lidarr;discovery}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-4096}"
|
||||||
|
var_disk="${var_disk:-10}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_arm64="${var_arm64:-yes}"
|
||||||
|
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/aurral ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "aurral" "lklynet/aurral"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop aurral
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "aurral" "lklynet/aurral" "tarball"
|
||||||
|
|
||||||
|
msg_info "Updating Aurral"
|
||||||
|
cd /opt/aurral
|
||||||
|
export VITE_APP_VERSION="$(cat ~/.aurral)"
|
||||||
|
export VITE_GITHUB_REPO="lklynet/aurral"
|
||||||
|
export VITE_RELEASE_CHANNEL="stable"
|
||||||
|
$STD npm ci --workspace frontend --include-workspace-root=false
|
||||||
|
$STD npm run build --workspace frontend
|
||||||
|
$STD npm ci --workspace backend --omit=dev --include=optional --include-workspace-root=false
|
||||||
|
mkdir -p /opt/aurral_data
|
||||||
|
cat <<EOF >/opt/aurral/aurral.env
|
||||||
|
NODE_ENV=production
|
||||||
|
PORT=3001
|
||||||
|
AURRAL_DATA_DIR=/opt/aurral_data
|
||||||
|
APP_VERSION=$(cat ~/.aurral)
|
||||||
|
EOF
|
||||||
|
msg_ok "Updated Aurral"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start aurral
|
||||||
|
msg_ok "Started Service"
|
||||||
|
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 "${GATEWAY}${BGN}http://${IP}:3001${CL}"
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Adrian-RDA
|
# Author: Adrian-RDA
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -62,6 +64,11 @@ function update_script() {
|
|||||||
|
|
||||||
restore_backup
|
restore_backup
|
||||||
|
|
||||||
|
if ! grep -q -- '--loop asyncio' /etc/systemd/system/bambuddy.service; then
|
||||||
|
sed -i 's|^ExecStart=.*|ExecStart=/opt/bambuddy/.venv/bin/uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --loop asyncio|' /etc/systemd/system/bambuddy.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start bambuddy
|
systemctl start bambuddy
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -56,6 +58,10 @@ function update_script() {
|
|||||||
restore_backup
|
restore_backup
|
||||||
APP_VER=$(cat ~/.bookorbit)
|
APP_VER=$(cat ~/.bookorbit)
|
||||||
sed -i "s/^APP_VERSION=.*/APP_VERSION=v$APP_VER/" /opt/bookorbit/.env
|
sed -i "s/^APP_VERSION=.*/APP_VERSION=v$APP_VER/" /opt/bookorbit/.env
|
||||||
|
if ! grep -q '^TimeoutStartSec=' /etc/systemd/system/bookorbit.service; then
|
||||||
|
sed -i '/^\[Service\]/a TimeoutStartSec=infinity' /etc/systemd/system/bookorbit.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
msg_ok "Rebuilt Application"
|
msg_ok "Rebuilt Application"
|
||||||
|
|
||||||
msg_info "Updating Kobo Python Runtime"
|
msg_info "Updating Kobo Python Runtime"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: mikolaj92
|
# Author: mikolaj92
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -35,8 +37,7 @@ function update_script() {
|
|||||||
systemctl stop calibre-web
|
systemctl stop calibre-web
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
create_backup /opt/calibre-web/app.db \
|
create_backup /opt/calibre-web/data
|
||||||
/opt/calibre-web/data
|
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Calibre-Web" "janeczku/calibre-web" "prebuild" "latest" "/opt/calibre-web" "calibreweb*.tar.gz"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Calibre-Web" "janeczku/calibre-web" "prebuild" "latest" "/opt/calibre-web" "calibreweb*.tar.gz"
|
||||||
setup_uv
|
setup_uv
|
||||||
@@ -48,11 +49,26 @@ function update_script() {
|
|||||||
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir .
|
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir .
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
sed -i 's|^ExecStart=.*|ExecStart=/opt/calibre-web/.venv/bin/cps|' /etc/systemd/system/calibre-web.service
|
sed -i 's|^ExecStart=.*|ExecStart=/opt/calibre-web/.venv/bin/cps -p /opt/calibre-web/data/app.db|' /etc/systemd/system/calibre-web.service
|
||||||
|
if ! grep -q '^Environment=HOME=' /etc/systemd/system/calibre-web.service; then
|
||||||
|
sed -i '/^ExecStart=/i Environment=HOME=/opt/calibre-web/data' /etc/systemd/system/calibre-web.service
|
||||||
|
fi
|
||||||
$STD systemctl daemon-reload
|
$STD systemctl daemon-reload
|
||||||
|
|
||||||
restore_backup
|
restore_backup
|
||||||
|
|
||||||
|
mkdir -p /opt/calibre-web-library
|
||||||
|
if [[ -f /opt/calibre-web/data/metadata.db && ! -f /opt/calibre-web-library/metadata.db ]]; then
|
||||||
|
msg_info "Migrating Calibre Library to its own directory"
|
||||||
|
find /opt/calibre-web/data -mindepth 1 -maxdepth 1 ! -name app.db ! -name .calibre-web -exec mv -t /opt/calibre-web-library -- {} +
|
||||||
|
msg_ok "Migrated Calibre Library"
|
||||||
|
fi
|
||||||
|
if [[ ! -f /opt/calibre-web-library/metadata.db ]]; then
|
||||||
|
msg_info "Creating Empty Calibre Library"
|
||||||
|
$STD calibredb list --with-library /opt/calibre-web-library
|
||||||
|
msg_ok "Created Empty Calibre Library"
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start calibre-web
|
systemctl start calibre-web
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: jdacode
|
# Author: jdacode
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Omar Minaya | MickLesk (CanbiZ)
|
# Author: Omar Minaya | MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
54
ct/defguard.sh
Normal file
54
ct/defguard.sh
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/DefGuard/defguard
|
||||||
|
|
||||||
|
APP="Defguard"
|
||||||
|
var_tags="${var_tags:-vpn;wireguard;sso}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_arm64="${var_arm64:-yes}"
|
||||||
|
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/defguard/core.conf ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating Defguard"
|
||||||
|
$STD apt update
|
||||||
|
$STD apt install -y defguard defguard-proxy
|
||||||
|
msg_ok "Updated Defguard"
|
||||||
|
|
||||||
|
msg_info "Restarting Services"
|
||||||
|
systemctl restart defguard defguard-proxy
|
||||||
|
msg_ok "Restarted Services"
|
||||||
|
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}"
|
||||||
|
echo -e "${INFO}${YW}Access it using the following URL:${CL}"
|
||||||
|
echo -e "${GATEWAY}${BGN}http://${IP}:8000${CL}"
|
||||||
@@ -41,6 +41,8 @@ function update_script() {
|
|||||||
/opt/directus/uploads \
|
/opt/directus/uploads \
|
||||||
/opt/directus/extensions
|
/opt/directus/extensions
|
||||||
|
|
||||||
|
ensure_dependencies build-essential
|
||||||
|
|
||||||
msg_info "Updating Directus"
|
msg_info "Updating Directus"
|
||||||
cd /opt/directus
|
cd /opt/directus
|
||||||
$STD npm install --omit=dev "directus@${CHECK_UPDATE_RELEASE#v}"
|
$STD npm install --omit=dev "directus@${CHECK_UPDATE_RELEASE#v}"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: ekke85 | MickLesk
|
# Author: ekke85 | MickLesk
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: Slaviša Arežina (tremor021)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: michelroegl-brunner | Co-Author: vhsdream
|
# Author: michelroegl-brunner | Co-Author: vhsdream
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -91,7 +93,7 @@ WorkingDirectory=/opt/droppedneedle/backend
|
|||||||
Environment=ROOT_APP_DIR=/opt/droppedneedle/backend
|
Environment=ROOT_APP_DIR=/opt/droppedneedle/backend
|
||||||
Environment=PORT=8688
|
Environment=PORT=8688
|
||||||
# Environment=SLSKD_DOWNLOADS_PATH=<path-to-slskd-downloads>
|
# Environment=SLSKD_DOWNLOADS_PATH=<path-to-slskd-downloads>
|
||||||
ExecStart=/opt/droppedneedle/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8688 --loop uvloop --http httptools --workers 1
|
ExecStart=/opt/droppedneedle/venv/bin/python -m maintenance.automatic_upgrade --start-target
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
|
||||||
@@ -100,8 +102,11 @@ WantedBy=multi-user.target
|
|||||||
EOF
|
EOF
|
||||||
rm -f /etc/systemd/system/musicseerr.service
|
rm -f /etc/systemd/system/musicseerr.service
|
||||||
msg_ok "Replaced systemd Service"
|
msg_ok "Replaced systemd Service"
|
||||||
elif ! grep -q 'SLSKD' /etc/systemd/system/droppedneedle.service; then
|
else
|
||||||
sed -i '\|=8688$|a# Environment=SLSKD_DOWNLOADS_PATH=<path-to-slskd-downloads>' /etc/systemd/system/droppedneedle.service
|
if ! grep -q 'SLSKD' /etc/systemd/system/droppedneedle.service; then
|
||||||
|
sed -i '\|=8688$|a# Environment=SLSKD_DOWNLOADS_PATH=<path-to-slskd-downloads>' /etc/systemd/system/droppedneedle.service
|
||||||
|
fi
|
||||||
|
sed -i 's|^ExecStart=.*|ExecStart=/opt/droppedneedle/venv/bin/python -m maintenance.automatic_upgrade --start-target|' /etc/systemd/system/droppedneedle.service
|
||||||
fi
|
fi
|
||||||
|
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -35,29 +35,29 @@ function update_script() {
|
|||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
NODE_VERSION="24" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
create_backup /opt/endurain/.env /opt/endurain/frontend/dist/env.js
|
create_backup /opt/endurain/.env /opt/endurain/frontend/dist/env.js
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_codeberg_release "endurain" "endurain-project/endurain" "tarball" "latest" "/opt/endurain"
|
CLEAN_INSTALL=1 fetch_and_deploy_codeberg_release "endurain" "endurain-project/endurain" "tarball" "latest" "/opt/endurain"
|
||||||
|
|
||||||
msg_info "Preparing Update"
|
msg_info "Updating Endurain Frontend"
|
||||||
cd /opt/endurain
|
cd /opt/endurain
|
||||||
rm -rf /opt/endurain/{docs,example.env,screenshot_01.png} /opt/endurain/docker* /opt/endurain/*.yml
|
rm -rf /opt/endurain/{docs,example.env,screenshot_01.png} /opt/endurain/docker* /opt/endurain/*.yml
|
||||||
msg_ok "Prepared Update"
|
|
||||||
|
|
||||||
msg_info "Updating Frontend"
|
|
||||||
cd /opt/endurain/frontend
|
cd /opt/endurain/frontend
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
$STD npm run build
|
$STD npm run build
|
||||||
msg_ok "Updated Frontend"
|
msg_ok "Updated Endurain Frontend"
|
||||||
|
|
||||||
restore_backup
|
restore_backup
|
||||||
|
|
||||||
msg_info "Updating Backend"
|
if grep -qxF 'FRONTEND_DIR="/opt/endurain/frontend/app/dist"' /opt/endurain/.env; then
|
||||||
|
sed -i 's|^FRONTEND_DIR="/opt/endurain/frontend/app/dist"$|FRONTEND_DIR="/opt/endurain/frontend/dist"|' /opt/endurain/.env
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating Endurain Backend"
|
||||||
cd /opt/endurain/backend
|
cd /opt/endurain/backend
|
||||||
UV_VERSION=$(grep -Po 'required-version\s*=\s*"\K[^"]+' pyproject.toml 2>/dev/null || echo "0.11.18")
|
UV_VERSION=$(grep -Po 'required-version\s*=\s*"\K[^"]+' pyproject.toml 2>/dev/null || echo "0.11.18")
|
||||||
UV_VERSION="$UV_VERSION" setup_uv
|
UV_VERSION="$UV_VERSION" setup_uv
|
||||||
$STD uv sync --frozen --no-dev
|
$STD uv sync --frozen --no-dev
|
||||||
msg_ok "Backend Updated"
|
msg_ok "Endurain Backend Updated"
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start endurain
|
systemctl start endurain
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: MickLesk (Canbiz)
|
# Author: MickLesk (Canbiz)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ function update_script() {
|
|||||||
msg_info "Configuring Database Provider (${DATABASE_PROVIDER:-sqlite})"
|
msg_info "Configuring Database Provider (${DATABASE_PROVIDER:-sqlite})"
|
||||||
cd /opt/excalidash/backend
|
cd /opt/excalidash/backend
|
||||||
sed -i '/datasource db {/,/}/ s/provider = env("[^"]*")/provider = "'"${DATABASE_PROVIDER:-sqlite}"'"/' prisma/schema.prisma
|
sed -i '/datasource db {/,/}/ s/provider = env("[^"]*")/provider = "'"${DATABASE_PROVIDER:-sqlite}"'"/' prisma/schema.prisma
|
||||||
|
sed -i '/datasource db {/,/}/ s/provider = "[^"]*"/provider = "'"${DATABASE_PROVIDER:-sqlite}"'"/' prisma/schema.prisma
|
||||||
mv prisma/migrations/"${DATABASE_PROVIDER:-sqlite}"/* prisma/migrations/
|
mv prisma/migrations/"${DATABASE_PROVIDER:-sqlite}"/* prisma/migrations/
|
||||||
rm -rf prisma/migrations/postgresql prisma/migrations/sqlite
|
rm -rf prisma/migrations/postgresql prisma/migrations/sqlite
|
||||||
msg_ok "Configured Database Provider"
|
msg_ok "Configured Database Provider"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: kkroboth
|
# Author: kkroboth
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: luismco
|
# Author: luismco
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -39,6 +41,7 @@ function update_script() {
|
|||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" "tarball"
|
||||||
|
|
||||||
restore_backup
|
restore_backup
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Updating Flatnotes"
|
msg_info "Updating Flatnotes"
|
||||||
cd /opt/flatnotes/client
|
cd /opt/flatnotes/client
|
||||||
|
|||||||
16
ct/gatus.sh
16
ct/gatus.sh
@@ -45,6 +45,7 @@ update_deb_based() {
|
|||||||
|
|
||||||
mv /opt/gatus/config/config.yaml /opt
|
mv /opt/gatus/config/config.yaml /opt
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball"
|
||||||
|
GO_VERSION="$(grep -m1 '^go ' /opt/gatus/go.mod | awk '{print $2}')" setup_go
|
||||||
|
|
||||||
msg_info "Updating Gatus"
|
msg_info "Updating Gatus"
|
||||||
cd /opt/gatus
|
cd /opt/gatus
|
||||||
@@ -66,27 +67,20 @@ update_alpine() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
if check_for_gh_release "gatus" "TwiN/gatus"; then
|
||||||
if [ "${RELEASE}" != "$(cat /opt/gatus_version.txt)" ] || [ ! -f /opt/gatus_version.txt ]; then
|
msg_info "Updating ${APP}"
|
||||||
msg_info "Updating ${APP} LXC"
|
|
||||||
$STD apk -U upgrade
|
$STD apk -U upgrade
|
||||||
$STD service gatus stop
|
$STD service gatus stop
|
||||||
mv /opt/gatus/config/config.yaml /opt
|
mv /opt/gatus/config/config.yaml /opt
|
||||||
rm -rf /opt/gatus/*
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball"
|
||||||
temp_file=$(mktemp)
|
|
||||||
curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
|
||||||
tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
|
|
||||||
cd /opt/gatus
|
cd /opt/gatus
|
||||||
|
$STD go get golang.org/x/net@v0.55.0
|
||||||
$STD go mod tidy
|
$STD go mod tidy
|
||||||
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
|
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
|
||||||
setcap CAP_NET_RAW+ep gatus
|
setcap CAP_NET_RAW+ep gatus
|
||||||
mv /opt/config.yaml config
|
mv /opt/config.yaml config
|
||||||
rm -f "$temp_file"
|
|
||||||
echo "${RELEASE}" >/opt/gatus_version.txt
|
|
||||||
$STD service gatus start
|
$STD service gatus start
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
6
ct/headers/aurral
Normal file
6
ct/headers/aurral
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
___ __
|
||||||
|
/ | __ ________________ _/ /
|
||||||
|
/ /| |/ / / / ___/ ___/ __ `/ /
|
||||||
|
/ ___ / /_/ / / / / / /_/ / /
|
||||||
|
/_/ |_\__,_/_/ /_/ \__,_/_/
|
||||||
|
|
||||||
6
ct/headers/defguard
Normal file
6
ct/headers/defguard
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ ____ __
|
||||||
|
/ __ \___ / __/___ ___ ______ __________/ /
|
||||||
|
/ / / / _ \/ /_/ __ `/ / / / __ `/ ___/ __ /
|
||||||
|
/ /_/ / __/ __/ /_/ / /_/ / /_/ / / / /_/ /
|
||||||
|
/_____/\___/_/ \__, /\__,_/\__,_/_/ \__,_/
|
||||||
|
/____/
|
||||||
6
ct/headers/openbao
Normal file
6
ct/headers/openbao
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ ____
|
||||||
|
/ __ \____ ___ ____ / __ )____ _____
|
||||||
|
/ / / / __ \/ _ \/ __ \/ __ / __ `/ __ \
|
||||||
|
/ /_/ / /_/ / __/ / / / /_/ / /_/ / /_/ /
|
||||||
|
\____/ .___/\___/_/ /_/_____/\__,_/\____/
|
||||||
|
/_/
|
||||||
6
ct/headers/seanime
Normal file
6
ct/headers/seanime
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_____ _
|
||||||
|
/ ___/___ ____ _____ (_)___ ___ ___
|
||||||
|
\__ \/ _ \/ __ `/ __ \/ / __ `__ \/ _ \
|
||||||
|
___/ / __/ /_/ / / / / / / / / / / __/
|
||||||
|
/____/\___/\__,_/_/ /_/_/_/ /_/ /_/\___/
|
||||||
|
|
||||||
6
ct/headers/solidinvoice
Normal file
6
ct/headers/solidinvoice
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_____ ___ ______ _
|
||||||
|
/ ___/____ / (_)___/ / _/___ _ ______ (_)_______
|
||||||
|
\__ \/ __ \/ / / __ // // __ \ | / / __ \/ / ___/ _ \
|
||||||
|
___/ / /_/ / / / /_/ // // / / / |/ / /_/ / / /__/ __/
|
||||||
|
/____/\____/_/_/\__,_/___/_/ /_/|___/\____/_/\___/\___/
|
||||||
|
|
||||||
6
ct/headers/super-productivity
Normal file
6
ct/headers/super-productivity
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_____ ____ __ __ _ _ __
|
||||||
|
/ ___/__ ______ ___ _____ / __ \_________ ____/ /_ _______/ /_(_) __(_) /___ __
|
||||||
|
\__ \/ / / / __ \/ _ \/ ___/_____/ /_/ / ___/ __ \/ __ / / / / ___/ __/ / | / / / __/ / / /
|
||||||
|
___/ / /_/ / /_/ / __/ / /_____/ ____/ / / /_/ / /_/ / /_/ / /__/ /_/ /| |/ / / /_/ /_/ /
|
||||||
|
/____/\__,_/ .___/\___/_/ /_/ /_/ \____/\__,_/\__,_/\___/\__/_/ |___/_/\__/\__, /
|
||||||
|
/_/ /____/
|
||||||
6
ct/headers/yopass
Normal file
6
ct/headers/yopass
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ __
|
||||||
|
\ \/ /___ ____ ____ ___________
|
||||||
|
\ / __ \/ __ \/ __ `/ ___/ ___/
|
||||||
|
/ / /_/ / /_/ / /_/ (__ |__ )
|
||||||
|
/_/\____/ .___/\__,_/____/____/
|
||||||
|
/_/
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -77,6 +79,10 @@ EOF
|
|||||||
rm /opt/homepage/env.bak
|
rm /opt/homepage/env.bak
|
||||||
chmod 600 /opt/homepage/.env
|
chmod 600 /opt/homepage/.env
|
||||||
fi
|
fi
|
||||||
|
if ! grep -q '^Environment=CI=true' /etc/systemd/system/homepage.service; then
|
||||||
|
sed -i '/^ExecStart=/i Environment=CI=true' /etc/systemd/system/homepage.service
|
||||||
|
systemctl daemon-reload
|
||||||
|
fi
|
||||||
msg_ok "Updated Homepage"
|
msg_ok "Updated Homepage"
|
||||||
|
|
||||||
msg_info "Starting service"
|
msg_info "Starting service"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ EOF
|
|||||||
if [[ $(cat ~/.immich) > "2.5.1" ]]; then
|
if [[ $(cat ~/.immich) > "2.5.1" ]]; then
|
||||||
msg_info "Enabling Maintenance Mode"
|
msg_info "Enabling Maintenance Mode"
|
||||||
cd /opt/immich/app/bin
|
cd /opt/immich/app/bin
|
||||||
$STD ./immich-admin enable-maintenance-mode
|
$STD ./immich-admin enable-maintenance-mode || true
|
||||||
export MAINT_MODE=1
|
export MAINT_MODE=1
|
||||||
$STD cd -
|
$STD cd -
|
||||||
msg_ok "Enabled Maintenance Mode"
|
msg_ok "Enabled Maintenance Mode"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: MickLesk (Canbiz) & vhsdream
|
# Author: MickLesk (Canbiz) & vhsdream
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -30,7 +32,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
if check_for_gh_release "kima-hub" "Chevron7Locked/kima-hub"; then
|
if check_for_gh_release "kima-hub" "Chevron7Locked/kima-hub"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: Slaviša Arežina (tremor021)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -28,6 +28,13 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
if [[ ! -L /etc/apache2/mods-enabled/rewrite.load ]]; then
|
||||||
|
msg_info "Enabling Apache mod_rewrite"
|
||||||
|
$STD a2enmod rewrite
|
||||||
|
systemctl restart apache2
|
||||||
|
msg_ok "Enabled Apache mod_rewrite"
|
||||||
|
fi
|
||||||
|
|
||||||
setup_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_warn "Application is updated via Web Interface"
|
msg_warn "Application is updated via Web Interface"
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ function update_script() {
|
|||||||
create_backup /opt/data /opt/maintainerr/.env
|
create_backup /opt/data /opt/maintainerr/.env
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "maintainerr" "Maintainerr/Maintainerr" "tarball" "latest" "/opt/maintainerr"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "maintainerr" "Maintainerr/Maintainerr" "tarball" "latest" "/opt/maintainerr"
|
||||||
restore_backup
|
restore_backup
|
||||||
|
NODE_VERSION="26" setup_nodejs
|
||||||
|
|
||||||
msg_info "Rebuilding Maintainerr (Patience)"
|
msg_info "Rebuilding Maintainerr (Patience)"
|
||||||
cd /opt/maintainerr
|
cd /opt/maintainerr
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -40,6 +42,7 @@ function update_script() {
|
|||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mastodon" "mastodon/mastodon" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mastodon" "mastodon/mastodon" "tarball"
|
||||||
sed -i "s/config.force_ssl = true/config.force_ssl = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/environments/production.rb
|
sed -i "s/config.force_ssl = true/config.force_ssl = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/environments/production.rb
|
||||||
sed -i "s/https = Rails.env.production? || ENV\['LOCAL_HTTPS'\] == 'true'/https = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/initializers/1_hosts.rb
|
sed -i "s/https = Rails.env.production? || ENV\['LOCAL_HTTPS'\] == 'true'/https = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/initializers/1_hosts.rb
|
||||||
|
RUBY_VERSION="$(cat /opt/mastodon/.ruby-version)" RUBY_INSTALL_RAILS="false" setup_ruby
|
||||||
|
|
||||||
msg_info "Installing Ruby Dependencies"
|
msg_info "Installing Ruby Dependencies"
|
||||||
cd /opt/mastodon
|
cd /opt/mastodon
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (Canbiz)
|
# Author: MickLesk (Canbiz)
|
||||||
# License: MIT
|
# License: MIT
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ update_deb_based() {
|
|||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Updating Node-Red"
|
msg_info "Updating Node-Red"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g node-red
|
||||||
msg_ok "Updated Node-Red"
|
msg_ok "Updated Node-Red"
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
@@ -106,7 +106,7 @@ update_alpine() {
|
|||||||
msg_ok "Updated Node.js and npm"
|
msg_ok "Updated Node.js and npm"
|
||||||
|
|
||||||
msg_info "Updating Node-RED"
|
msg_info "Updating Node-RED"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g node-red
|
||||||
msg_ok "Updated Node-RED"
|
msg_ok "Updated Node-RED"
|
||||||
|
|
||||||
msg_info "Restarting Node-RED"
|
msg_info "Restarting Node-RED"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
68
ct/openbao.sh
Executable file
68
ct/openbao.sh
Executable file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Marc Went (Dunky13)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://openbao.org/
|
||||||
|
|
||||||
|
APP="OpenBao"
|
||||||
|
var_tags="${var_tags:-security;secrets}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_arm64="${var_arm64:-yes}"
|
||||||
|
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 /usr/bin/bao ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "openbao" "openbao/openbao"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop openbao
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
create_backup /etc/openbao
|
||||||
|
DPKG_FORCE_CONFOLD=1 fetch_and_deploy_gh_release "openbao" "openbao/openbao" "binary" "latest" "/opt/openbao" "openbao_*_linux_$(arch_resolve).deb"
|
||||||
|
restore_backup
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
$STD systemctl daemon-reload
|
||||||
|
systemctl start openbao
|
||||||
|
msg_ok "Started Service"
|
||||||
|
for _ in {1..15}; do
|
||||||
|
BAO_ADDR=https://127.0.0.1:8200 BAO_SKIP_VERIFY=true bao status -format=json 2>/dev/null | jq -e '.sealed == false' >/dev/null && break
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
if ! BAO_ADDR=https://127.0.0.1:8200 BAO_SKIP_VERIFY=true bao status -format=json 2>/dev/null | jq -e '.sealed == false' >/dev/null; then
|
||||||
|
msg_error "OpenBao did not unseal within 30 seconds"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
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}https://${IP}:8200${CL}"
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Jonathan (jd-apprentice)
|
# Author: Jonathan (jd-apprentice)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -33,15 +35,11 @@ function update_script() {
|
|||||||
systemctl stop opengist
|
systemctl stop opengist
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Creating backup"
|
create_backup /opt/opengist/config.yml
|
||||||
mv /opt/opengist /opt/opengist-backup
|
|
||||||
msg_ok "Backup created"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "opengist" "thomiceli/opengist" "prebuild" "latest" "/opt/opengist" "opengist*linux-$(arch_resolve).tar.gz"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "opengist" "thomiceli/opengist" "prebuild" "latest" "/opt/opengist" "opengist*linux-$(arch_resolve).tar.gz"
|
||||||
|
|
||||||
msg_info "Restoring Configuration"
|
restore_backup
|
||||||
mv /opt/opengist-backup/config.yml /opt/opengist/config.yml
|
|
||||||
msg_ok "Configuration Restored"
|
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start opengist
|
systemctl start opengist
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: nnsense
|
# Author: nnsense
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: Slaviša Arežina (tremor021)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -54,6 +56,7 @@ function update_script() {
|
|||||||
msg_ok "Backed up data"
|
msg_ok "Backed up data"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "planka" "plankanban/planka" "prebuild" "latest" "/opt/planka" "planka-prebuild.zip"
|
fetch_and_deploy_gh_release "planka" "plankanban/planka" "prebuild" "latest" "/opt/planka" "planka-prebuild.zip"
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Update Frontend"
|
msg_info "Update Frontend"
|
||||||
cd /opt/planka
|
cd /opt/planka
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: tteck (tteckster) | MickLesk (CanbiZ)
|
# Author: tteck (tteckster) | MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating Application"
|
msg_info "Updating Application"
|
||||||
cd /opt/pve-usv
|
cd /opt/pve-usv
|
||||||
$STD uv venv --clear venv
|
$STD uv venv --clear --seed venv
|
||||||
$STD uv pip install --python venv/bin/python .
|
$STD uv pip install --python venv/bin/python .
|
||||||
chown -R pveusv:pveusv /opt/pve-usv
|
chown -R pveusv:pveusv /opt/pve-usv
|
||||||
chmod 0755 deploy/pve-usv-agent.sh
|
chmod 0755 deploy/pve-usv-agent.sh
|
||||||
|
|||||||
@@ -51,13 +51,12 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
sed -i 's|_TARGET=.*$|_URL=http://127.0.0.1:60072|' /opt/scanopy/.env
|
sed -i 's|_TARGET=.*$|_URL=http://127.0.0.1:60072|' /opt/scanopy/.env
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "scanopy-server" "scanopy/scanopy" "singlefile" "latest" "/usr/bin" "scanopy-server-linux-$(arch_resolve)"
|
msg_info "Building Scanopy Server (patience)"
|
||||||
|
|
||||||
msg_info "Generating UI Fixtures (patience)"
|
|
||||||
cd /opt/scanopy/backend
|
cd /opt/scanopy/backend
|
||||||
CARGO_PROFILE_RELEASE_LTO=false CARGO_PROFILE_RELEASE_CODEGEN_UNITS=16 CARGO_BUILD_JOBS="$(get_parallel_jobs)" $STD cargo build --release --bin generate-fixtures
|
CARGO_BUILD_JOBS="$(get_parallel_jobs)" $STD cargo build --release --bin server --bin generate-fixtures
|
||||||
$STD ./target/release/generate-fixtures --output-dir /opt/scanopy/ui/src/lib/data
|
$STD ./target/release/generate-fixtures --output-dir /opt/scanopy/ui/src/lib/data
|
||||||
msg_ok "Generated UI Fixtures"
|
mv ./target/release/server /usr/bin/scanopy-server
|
||||||
|
msg_ok "Built Scanopy Server"
|
||||||
|
|
||||||
msg_info "Creating frontend UI"
|
msg_info "Creating frontend UI"
|
||||||
export PUBLIC_SERVER_HOSTNAME=default
|
export PUBLIC_SERVER_HOSTNAME=default
|
||||||
|
|||||||
63
ct/seanime.sh
Normal file
63
ct/seanime.sh
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: hasan-ismail
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://seanime.app/
|
||||||
|
|
||||||
|
APP="Seanime"
|
||||||
|
var_tags="${var_tags:-media;anime;manga}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_arm64="${var_arm64:-yes}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
var_gpu="${var_gpu:-yes}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /opt/seanime ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "seanime" "5rahim/seanime"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop seanime
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
create_backup /opt/seanime-data/config.toml
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "seanime" "5rahim/seanime" "prebuild" "latest" "/opt/seanime" "seanime-[0-9]*_Linux_$(arch_resolve x86_64 arm64).tar.gz"
|
||||||
|
chmod +x /opt/seanime/seanime
|
||||||
|
|
||||||
|
restore_backup
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start seanime
|
||||||
|
msg_ok "Started Service"
|
||||||
|
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}:43211${CL}"
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
57
ct/solidinvoice.sh
Normal file
57
ct/solidinvoice.sh
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Pierre du Plessis
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/solidinvoice/solidinvoice
|
||||||
|
|
||||||
|
APP="SolidInvoice"
|
||||||
|
var_tags="${var_tags:-invoicing;finance;billing}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_arm64="${var_arm64:-yes}"
|
||||||
|
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 /usr/bin/solidinvoice ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "solidinvoice" "SolidInvoice/SolidInvoice"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop solidinvoice
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "solidinvoice" "SolidInvoice/SolidInvoice" "singlefile" "latest" "/usr/bin" "solidinvoice-linux-$(arch_resolve)"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start solidinvoice
|
||||||
|
msg_ok "Started Service"
|
||||||
|
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 "${GATEWAY}${BGN}http://${IP}:8765${CL}"
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: phof
|
# Author: phof
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -40,6 +42,7 @@ function update_script() {
|
|||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "spliit" "spliit-app/spliit" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "spliit" "spliit-app/spliit" "tarball"
|
||||||
|
|
||||||
restore_backup
|
restore_backup
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Building Application"
|
msg_info "Building Application"
|
||||||
cd /opt/spliit
|
cd /opt/spliit
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: Slaviša Arežina (tremor021)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
66
ct/super-productivity.sh
Normal file
66
ct/super-productivity.sh
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://super-productivity.com/
|
||||||
|
|
||||||
|
APP="Super-Productivity"
|
||||||
|
var_tags="${var_tags:-productivity;todo}"
|
||||||
|
var_cpu="${var_cpu:-4}"
|
||||||
|
var_ram="${var_ram:-6144}"
|
||||||
|
var_disk="${var_disk:-12}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
var_arm64="${var_arm64:-no}"
|
||||||
|
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/super-productivity ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "super-productivity" "super-productivity/super-productivity"; then
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "super-productivity" "super-productivity/super-productivity" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building Web App"
|
||||||
|
cd /opt/super-productivity
|
||||||
|
export HUSKY=0
|
||||||
|
export UNSPLASH_KEY=DUMMY_UNSPLASH_KEY
|
||||||
|
export UNSPLASH_CLIENT_ID=DUMMY_UNSPLASH_CLIENT_ID
|
||||||
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||||
|
$STD git config --global url."https://github.com/".insteadOf ssh://git@github.com/
|
||||||
|
$STD npm ci
|
||||||
|
$STD npm run buildFrontend:prodWeb
|
||||||
|
msg_ok "Built Web App"
|
||||||
|
|
||||||
|
msg_info "Deploying Web App"
|
||||||
|
rm -rf /var/www/html/*
|
||||||
|
cp -r /opt/super-productivity/dist/browser/. /var/www/html/
|
||||||
|
systemctl reload nginx
|
||||||
|
msg_ok "Deployed Web App"
|
||||||
|
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 "${GATEWAY}${BGN}http://${IP}${CL}"
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: chrisbenincasa
|
# Author: chrisbenincasa
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: zackwithak13
|
# Author: zackwithak13
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
|||||||
65
ct/yopass.sh
Normal file
65
ct/yopass.sh
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/jhaals/yopass
|
||||||
|
|
||||||
|
APP="Yopass"
|
||||||
|
var_tags="${var_tags:-security;secrets}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-13}"
|
||||||
|
#var_arm64="${var_arm64:-no}" # unset = ask the user; set yes/no only when verified
|
||||||
|
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/yopass ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if check_for_gh_release "yopass" "jhaals/yopass"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop yopass
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "yopass" "jhaals/yopass" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building Yopass"
|
||||||
|
cd /opt/yopass
|
||||||
|
$STD go build -ldflags "-X main.version=$(cat ~/.yopass)" ./cmd/yopass-server
|
||||||
|
cd /opt/yopass/website
|
||||||
|
$STD yarn install --network-timeout 600000
|
||||||
|
$STD yarn build
|
||||||
|
msg_ok "Built Yopass"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start yopass
|
||||||
|
msg_ok "Started Service"
|
||||||
|
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 "${GATEWAY}${BGN}https://${IP}:1337${CL}"
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
|
||||||
|
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||||
|
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
@@ -38,6 +40,7 @@ function update_script() {
|
|||||||
create_backup /opt/yuvomi/data /opt/yuvomi/.env
|
create_backup /opt/yuvomi/data /opt/yuvomi/.env
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "yuvomi" "ulsklyc/yuvomi" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "yuvomi" "ulsklyc/yuvomi" "tarball"
|
||||||
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Node.js Dependencies"
|
msg_info "Installing Node.js Dependencies"
|
||||||
cd /opt/yuvomi
|
cd /opt/yuvomi
|
||||||
|
|||||||
70
install/aurral-install.sh
Normal file
70
install/aurral-install.sh
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/lklynet/aurral
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt install -y \
|
||||||
|
build-essential \
|
||||||
|
python3 \
|
||||||
|
ffmpeg \
|
||||||
|
fontconfig \
|
||||||
|
fonts-dejavu-core
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "yt-dlp" "yt-dlp/yt-dlp" "singlefile" "latest" "/usr/local/bin" "yt-dlp"
|
||||||
|
fetch_and_deploy_gh_release "aurral" "lklynet/aurral" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building Aurral"
|
||||||
|
cd /opt/aurral
|
||||||
|
export VITE_APP_VERSION="$(cat ~/.aurral)"
|
||||||
|
export VITE_GITHUB_REPO="lklynet/aurral"
|
||||||
|
export VITE_RELEASE_CHANNEL="stable"
|
||||||
|
$STD npm ci --workspace frontend --include-workspace-root=false
|
||||||
|
$STD npm run build --workspace frontend
|
||||||
|
$STD npm ci --workspace backend --omit=dev --include=optional --include-workspace-root=false
|
||||||
|
msg_ok "Built Aurral"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
mkdir -p /opt/aurral_data
|
||||||
|
cat <<EOF >/opt/aurral/aurral.env
|
||||||
|
NODE_ENV=production
|
||||||
|
PORT=3001
|
||||||
|
AURRAL_DATA_DIR=/opt/aurral_data
|
||||||
|
APP_VERSION=$(cat ~/.aurral)
|
||||||
|
EOF
|
||||||
|
cat <<EOF >/etc/systemd/system/aurral.service
|
||||||
|
[Unit]
|
||||||
|
Description=Aurral Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/aurral
|
||||||
|
EnvironmentFile=/opt/aurral/aurral.env
|
||||||
|
ExecStart=/usr/bin/node backend/server.js
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now aurral
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -52,7 +52,7 @@ After=network.target
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/opt/bambuddy
|
WorkingDirectory=/opt/bambuddy
|
||||||
ExecStart=/opt/bambuddy/.venv/bin/uvicorn backend.app.main:app --host 0.0.0.0 --port 8000
|
ExecStart=/opt/bambuddy/.venv/bin/uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --loop asyncio
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ Requires=postgresql.service
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
User=root
|
User=root
|
||||||
|
TimeoutStartSec=infinity
|
||||||
WorkingDirectory=/opt/bookorbit/server
|
WorkingDirectory=/opt/bookorbit/server
|
||||||
EnvironmentFile=/opt/bookorbit/.env
|
EnvironmentFile=/opt/bookorbit/.env
|
||||||
ExecStartPre=/usr/bin/node /opt/bookorbit/server/dist/scripts/migrate.js
|
ExecStartPre=/usr/bin/node /opt/bookorbit/server/dist/scripts/migrate.js
|
||||||
|
|||||||
@@ -42,8 +42,14 @@ $STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir --
|
|||||||
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir .
|
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir .
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Installed Python Dependencies"
|
||||||
|
|
||||||
|
mkdir -p /opt/calibre-web/data /opt/calibre-web-library
|
||||||
|
if [[ ! -f /opt/calibre-web-library/metadata.db ]]; then
|
||||||
|
msg_info "Creating Empty Calibre Library"
|
||||||
|
$STD calibredb list --with-library /opt/calibre-web-library
|
||||||
|
msg_ok "Created Empty Calibre Library"
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
mkdir -p /opt/calibre-web/data
|
|
||||||
cat <<EOF >/etc/systemd/system/calibre-web.service
|
cat <<EOF >/etc/systemd/system/calibre-web.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Calibre-Web Service
|
Description=Calibre-Web Service
|
||||||
@@ -53,8 +59,9 @@ After=network.target
|
|||||||
Type=simple
|
Type=simple
|
||||||
User=root
|
User=root
|
||||||
Environment="QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox"
|
Environment="QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox"
|
||||||
|
Environment=HOME=/opt/calibre-web/data
|
||||||
WorkingDirectory=/opt/calibre-web
|
WorkingDirectory=/opt/calibre-web
|
||||||
ExecStart=/opt/calibre-web/.venv/bin/cps
|
ExecStart=/opt/calibre-web/.venv/bin/cps -p /opt/calibre-web/data/app.db
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
|
||||||
|
|||||||
78
install/defguard-install.sh
Normal file
78
install/defguard-install.sh
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/DefGuard/defguard
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
PG_VERSION="17" setup_postgresql
|
||||||
|
PG_DB_NAME="defguard" PG_DB_USER="defguard" setup_postgresql_db
|
||||||
|
|
||||||
|
setup_deb822_repo \
|
||||||
|
"defguard" \
|
||||||
|
"https://apt.defguard.net/defguard.asc" \
|
||||||
|
"https://apt.defguard.net" \
|
||||||
|
"$(get_os_info codename)" \
|
||||||
|
"release-2.0"
|
||||||
|
|
||||||
|
msg_info "Installing Defguard"
|
||||||
|
$STD apt install -y defguard
|
||||||
|
msg_ok "Installed Defguard"
|
||||||
|
|
||||||
|
msg_info "Configuring Defguard"
|
||||||
|
DEFGUARD_ADMIN_PASSWORD=$(openssl rand -base64 18)
|
||||||
|
cat <<EOF >/etc/defguard/core.conf
|
||||||
|
DEFGUARD_DB_HOST=localhost
|
||||||
|
DEFGUARD_DB_PORT=5432
|
||||||
|
DEFGUARD_DB_NAME=defguard
|
||||||
|
DEFGUARD_DB_USER=defguard
|
||||||
|
DEFGUARD_DB_PASSWORD=${PG_DB_PASS}
|
||||||
|
|
||||||
|
DEFGUARD_URL=http://${LOCAL_IP}:8000
|
||||||
|
DEFGUARD_HTTP_PORT=8000
|
||||||
|
DEFGUARD_GRPC_PORT=50055
|
||||||
|
|
||||||
|
DEFGUARD_DEFAULT_ADMIN_PASSWORD=${DEFGUARD_ADMIN_PASSWORD}
|
||||||
|
DEFGUARD_COOKIE_INSECURE=true
|
||||||
|
DEFGUARD_LOG_LEVEL=info
|
||||||
|
EOF
|
||||||
|
chown root:defguard /etc/defguard/core.conf
|
||||||
|
chmod 640 /etc/defguard/core.conf
|
||||||
|
systemctl restart defguard
|
||||||
|
msg_ok "Configured Defguard"
|
||||||
|
|
||||||
|
msg_info "Installing Defguard Edge"
|
||||||
|
$STD apt install -y defguard-proxy
|
||||||
|
mkdir -p /etc/defguard/certs
|
||||||
|
cat <<EOF >/etc/defguard/proxy.toml
|
||||||
|
# Defguard Edge (proxy) configuration
|
||||||
|
# Apply changes with: systemctl restart defguard-proxy
|
||||||
|
|
||||||
|
# Port the API/enrollment HTTP server listens on
|
||||||
|
http_port = 8080
|
||||||
|
# Port the HTTPS server listens on (used after Core provisions TLS)
|
||||||
|
https_port = 8443
|
||||||
|
# Port the gRPC server listens on. Core connects here to adopt and manage the Edge.
|
||||||
|
grpc_port = 50051
|
||||||
|
# Directory where adoption-provisioned mTLS certificates are stored
|
||||||
|
cert_dir = "/etc/defguard/certs"
|
||||||
|
|
||||||
|
log_level = "info"
|
||||||
|
rate_limit_per_second = 0
|
||||||
|
rate_limit_burst = 0
|
||||||
|
EOF
|
||||||
|
chown -R defguard:defguard /etc/defguard/certs /etc/defguard/proxy.toml
|
||||||
|
systemctl enable -q --now defguard-proxy
|
||||||
|
msg_ok "Installed Defguard Edge"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -13,6 +13,10 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt install -y build-essential
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
PG_VERSION="17" setup_postgresql
|
PG_VERSION="17" setup_postgresql
|
||||||
PG_DB_NAME="directus" PG_DB_USER="directus" setup_postgresql_db
|
PG_DB_NAME="directus" PG_DB_USER="directus" setup_postgresql_db
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ WorkingDirectory=/opt/droppedneedle/backend
|
|||||||
Environment=ROOT_APP_DIR=/opt/droppedneedle/backend
|
Environment=ROOT_APP_DIR=/opt/droppedneedle/backend
|
||||||
Environment=PORT=8688
|
Environment=PORT=8688
|
||||||
# Environment=SLSKD_DOWNLOADS_PATH=<path-to-slskd-downloads>
|
# Environment=SLSKD_DOWNLOADS_PATH=<path-to-slskd-downloads>
|
||||||
ExecStart=/opt/droppedneedle/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8688 --loop uvloop --http httptools --workers 1
|
ExecStart=/opt/droppedneedle/venv/bin/python -m maintenance.automatic_upgrade --start-target
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ update_os
|
|||||||
|
|
||||||
fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" "tarball"
|
fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" "tarball"
|
||||||
USE_UVX="YES" setup_uv
|
USE_UVX="YES" setup_uv
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setting up Flatnotes"
|
msg_info "Setting up Flatnotes"
|
||||||
cd /opt/flatnotes
|
cd /opt/flatnotes
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ setup_deb_based() {
|
|||||||
libcap2-bin
|
libcap2-bin
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
setup_go
|
|
||||||
fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball"
|
fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball"
|
||||||
|
GO_VERSION="$(grep -m1 '^go ' /opt/gatus/go.mod | awk '{print $2}')" setup_go
|
||||||
|
|
||||||
msg_info "Configuring gatus"
|
msg_info "Configuring gatus"
|
||||||
cd /opt/gatus
|
cd /opt/gatus
|
||||||
@@ -59,19 +59,16 @@ setup_alpine() {
|
|||||||
$STD apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community go
|
$STD apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community go
|
||||||
msg_ok "Installed dependencies"
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball"
|
||||||
msg_info "Installing gatus v${RELEASE}"
|
|
||||||
temp_file=$(mktemp)
|
msg_info "Configuring gatus"
|
||||||
mkdir -p /opt/gatus
|
|
||||||
curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
|
||||||
tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
|
|
||||||
cd /opt/gatus
|
cd /opt/gatus
|
||||||
|
$STD go get golang.org/x/net@v0.55.0
|
||||||
$STD go mod tidy
|
$STD go mod tidy
|
||||||
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
|
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
|
||||||
setcap CAP_NET_RAW+ep gatus
|
setcap CAP_NET_RAW+ep gatus
|
||||||
mv config.yaml config
|
mv config.yaml config
|
||||||
echo "${RELEASE}" >/opt/gatus_version.txt
|
msg_ok "Configured gatus"
|
||||||
msg_ok "Installed gatus v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Enabling gatus Service"
|
msg_info "Enabling gatus Service"
|
||||||
cat <<EOF >/etc/init.d/gatus
|
cat <<EOF >/etc/init.d/gatus
|
||||||
@@ -99,8 +96,6 @@ EOF
|
|||||||
msg_info "Starting gatus"
|
msg_info "Starting gatus"
|
||||||
$STD service gatus start
|
$STD service gatus start
|
||||||
msg_ok "Started gatus"
|
msg_ok "Started gatus"
|
||||||
|
|
||||||
rm -f "$temp_file"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run_os_setup
|
run_os_setup
|
||||||
|
|||||||
@@ -29,10 +29,9 @@ setup_deb_based() {
|
|||||||
mkdir -p /var/lib/gitea/{custom,data,log}
|
mkdir -p /var/lib/gitea/{custom,data,log}
|
||||||
chown -R gitea:gitea /var/lib/gitea/
|
chown -R gitea:gitea /var/lib/gitea/
|
||||||
chmod -R 750 /var/lib/gitea/
|
chmod -R 750 /var/lib/gitea/
|
||||||
chown root:gitea /etc/gitea
|
chown gitea:gitea /etc/gitea
|
||||||
chmod 770 /etc/gitea
|
|
||||||
sudo -u gitea ln -s /var/lib/gitea/data/.ssh/ /etc/gitea/.ssh
|
|
||||||
chmod 750 /etc/gitea
|
chmod 750 /etc/gitea
|
||||||
|
sudo -u gitea ln -s /var/lib/gitea/data/.ssh/ /etc/gitea/.ssh
|
||||||
msg_ok "Configured Gitea"
|
msg_ok "Configured Gitea"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ Restart=always
|
|||||||
RestartSec=1
|
RestartSec=1
|
||||||
User=root
|
User=root
|
||||||
WorkingDirectory=/opt/homepage/
|
WorkingDirectory=/opt/homepage/
|
||||||
|
Environment=CI=true
|
||||||
ExecStart=pnpm start
|
ExecStart=pnpm start
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
|
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
|
||||||
PG_DB_NAME="kima" PG_DB_USER="kima" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
PG_DB_NAME="kima" PG_DB_USER="kima" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Configuring Redis"
|
msg_info "Configuring Redis"
|
||||||
systemctl enable -q --now redis-server
|
systemctl enable -q --now redis-server
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ cat <<EOF >/etc/apache2/sites-enabled/000-default.conf
|
|||||||
EOF
|
EOF
|
||||||
chown -R www-data:www-data "/opt/limesurvey"
|
chown -R www-data:www-data "/opt/limesurvey"
|
||||||
chmod -R 750 "/opt/limesurvey"
|
chmod -R 750 "/opt/limesurvey"
|
||||||
|
$STD a2enmod rewrite
|
||||||
systemctl reload apache2
|
systemctl reload apache2
|
||||||
rm -rf "$temp_file"
|
rm -rf "$temp_file"
|
||||||
msg_ok "Set up LimeSurvey"
|
msg_ok "Set up LimeSurvey"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ $STD apt install -y \
|
|||||||
librsvg2-dev
|
librsvg2-dev
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="24" setup_nodejs
|
NODE_VERSION="26" setup_nodejs
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "maintainerr" "Maintainerr/Maintainerr" "tarball" "latest" "/opt/maintainerr"
|
fetch_and_deploy_gh_release "maintainerr" "Maintainerr/Maintainerr" "tarball" "latest" "/opt/maintainerr"
|
||||||
|
|
||||||
|
|||||||
@@ -48,13 +48,13 @@ PG_VERSION="17" setup_postgresql
|
|||||||
PG_DB_NAME="mastodon_production" PG_DB_USER="mastodon" PG_DB_SKIP_ALTER_ROLE="true" setup_postgresql_db
|
PG_DB_NAME="mastodon_production" PG_DB_USER="mastodon" PG_DB_SKIP_ALTER_ROLE="true" setup_postgresql_db
|
||||||
$STD sudo -u postgres psql -c "ALTER USER mastodon CREATEDB;"
|
$STD sudo -u postgres psql -c "ALTER USER mastodon CREATEDB;"
|
||||||
|
|
||||||
RUBY_VERSION="4.0.5" RUBY_INSTALL_RAILS="false" setup_ruby
|
|
||||||
export PATH="$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "mastodon" "mastodon/mastodon" "tarball"
|
fetch_and_deploy_gh_release "mastodon" "mastodon/mastodon" "tarball"
|
||||||
sed -i "s/config.force_ssl = true/config.force_ssl = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/environments/production.rb
|
sed -i "s/config.force_ssl = true/config.force_ssl = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/environments/production.rb
|
||||||
sed -i "s/https = Rails.env.production? || ENV\['LOCAL_HTTPS'\] == 'true'/https = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/initializers/1_hosts.rb
|
sed -i "s/https = Rails.env.production? || ENV\['LOCAL_HTTPS'\] == 'true'/https = ENV.fetch('LOCAL_HTTPS', 'false') == 'true'/" /opt/mastodon/config/initializers/1_hosts.rb
|
||||||
|
|
||||||
|
RUBY_VERSION="$(cat /opt/mastodon/.ruby-version)" RUBY_INSTALL_RAILS="false" setup_ruby
|
||||||
|
export PATH="$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH"
|
||||||
|
|
||||||
msg_info "Installing Ruby Dependencies"
|
msg_info "Installing Ruby Dependencies"
|
||||||
cd /opt/mastodon
|
cd /opt/mastodon
|
||||||
$STD bundle config set --local without 'development test'
|
$STD bundle config set --local without 'development test'
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ setup_deb_based() {
|
|||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Node-Red"
|
msg_info "Installing Node-Red"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g node-red
|
||||||
echo "journalctl -f -n 100 -u nodered -o cat" >/usr/bin/node-red-log
|
echo "journalctl -f -n 100 -u nodered -o cat" >/usr/bin/node-red-log
|
||||||
chmod +x /usr/bin/node-red-log
|
chmod +x /usr/bin/node-red-log
|
||||||
echo "systemctl stop nodered" >/usr/bin/node-red-stop
|
echo "systemctl stop nodered" >/usr/bin/node-red-stop
|
||||||
@@ -71,7 +71,7 @@ setup_alpine() {
|
|||||||
msg_ok "Created Node-RED User"
|
msg_ok "Created Node-RED User"
|
||||||
|
|
||||||
msg_info "Installing Node-RED"
|
msg_info "Installing Node-RED"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g node-red
|
||||||
msg_ok "Installed Node-RED"
|
msg_ok "Installed Node-RED"
|
||||||
|
|
||||||
msg_info "Creating /home/nodered"
|
msg_info "Creating /home/nodered"
|
||||||
|
|||||||
@@ -13,7 +13,15 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
fetch_and_deploy_from_url "https://packages.ntop.org/apt-stable/$(get_os_info codename)/all/apt-ntop-stable.deb" ""
|
NTOP_CODENAME="$(get_os_info codename)"
|
||||||
|
case "$NTOP_CODENAME" in
|
||||||
|
bookworm | trixie)
|
||||||
|
fetch_and_deploy_from_url "https://packages.ntop.org/apt/${NTOP_CODENAME}/all/apt-ntop.deb" ""
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
fetch_and_deploy_from_url "https://packages.ntop.org/apt-stable/${NTOP_CODENAME}/all/apt-ntop-stable.deb" ""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
msg_info "Installing ntopng"
|
msg_info "Installing ntopng"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
|
|||||||
67
install/openbao-install.sh
Executable file
67
install/openbao-install.sh
Executable file
@@ -0,0 +1,67 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Marc Went (Dunky13)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://openbao.org/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "openbao" "openbao/openbao" "binary" "latest" "/opt/openbao" "openbao_*_linux_$(arch_resolve).deb"
|
||||||
|
|
||||||
|
msg_info "Configuring CLI Environment"
|
||||||
|
cat <<EOF >/etc/profile.d/openbao.sh
|
||||||
|
export BAO_ADDR=https://127.0.0.1:8200
|
||||||
|
export BAO_SKIP_VERIFY=true
|
||||||
|
EOF
|
||||||
|
source /etc/profile.d/openbao.sh
|
||||||
|
msg_ok "Configured CLI Environment"
|
||||||
|
|
||||||
|
msg_info "Starting OpenBao"
|
||||||
|
systemctl enable -q --now openbao
|
||||||
|
for _ in {1..30}; do
|
||||||
|
curl -fsSk -o /dev/null "https://127.0.0.1:8200/v1/sys/seal-status" && break
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
msg_ok "Started OpenBao"
|
||||||
|
|
||||||
|
msg_info "Initializing OpenBao"
|
||||||
|
(
|
||||||
|
umask 077
|
||||||
|
cat <<'EOF' >/etc/openbao/openbao-init.json
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
bao operator init -key-shares=1 -key-threshold=1 -format=json >/etc/openbao/openbao-init.json
|
||||||
|
chmod 600 /etc/openbao/openbao.env
|
||||||
|
chown root:root /etc/openbao/openbao.env
|
||||||
|
cat <<EOF >>/etc/openbao/openbao.env
|
||||||
|
BAO_ADDR=https://127.0.0.1:8200
|
||||||
|
BAO_SKIP_VERIFY=true
|
||||||
|
BAO_UNSEAL_KEY=$(jq -r '.unseal_keys_b64[0]' /etc/openbao/openbao-init.json)
|
||||||
|
BAO_ROOT_TOKEN=$(jq -r '.root_token' /etc/openbao/openbao-init.json)
|
||||||
|
EOF
|
||||||
|
rm -f /etc/openbao/openbao-init.json
|
||||||
|
msg_ok "Initialized OpenBao"
|
||||||
|
|
||||||
|
msg_info "Enabling Auto-Unseal"
|
||||||
|
mkdir -p /etc/systemd/system/openbao.service.d
|
||||||
|
cat <<'EOF' >/etc/systemd/system/openbao.service.d/unseal.conf
|
||||||
|
[Service]
|
||||||
|
ExecStartPost=-/usr/bin/bao operator unseal ${BAO_UNSEAL_KEY}
|
||||||
|
EOF
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl restart openbao
|
||||||
|
for _ in {1..15}; do
|
||||||
|
bao status -format=json 2>/dev/null | jq -e '.sealed == false' >/dev/null && break
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
msg_ok "Enabled Auto-Unseal"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -20,7 +20,7 @@ $STD apt install -y \
|
|||||||
python3-venv
|
python3-venv
|
||||||
msg_ok "Installed dependencies"
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
PG_VERSION="16" setup_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Database"
|
msg_info "Setting up PostgreSQL Database"
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ read -r -p "${TAB3}Would you like to add Portainer? <y/N> " prompt
|
|||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
|
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
|
||||||
podman volume create portainer_data >/dev/null
|
podman volume create portainer_data >/dev/null
|
||||||
|
$STD podman pull docker.io/portainer/portainer-ce:latest
|
||||||
cat <<EOF >/etc/containers/systemd/portainer.container
|
cat <<EOF >/etc/containers/systemd/portainer.container
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Portainer Container
|
Description=Portainer Container
|
||||||
@@ -77,6 +78,7 @@ else
|
|||||||
read -r -p "${TAB3}Would you like to add the Portainer Agent? <y/N> " prompt
|
read -r -p "${TAB3}Would you like to add the Portainer Agent? <y/N> " prompt
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
msg_info "Installing Portainer agent $PORTAINER_AGENT_LATEST_VERSION"
|
msg_info "Installing Portainer agent $PORTAINER_AGENT_LATEST_VERSION"
|
||||||
|
$STD podman pull docker.io/portainer/agent:latest
|
||||||
cat <<EOF >/etc/containers/systemd/portainer-agent.container
|
cat <<EOF >/etc/containers/systemd/portainer-agent.container
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Portainer Agent Container
|
Description=Portainer Agent Container
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ install -d -o pveusv -g pveusv -m 0750 \
|
|||||||
/var/lib/pve-usv/updates
|
/var/lib/pve-usv/updates
|
||||||
chown -R pveusv:pveusv /opt/pve-usv
|
chown -R pveusv:pveusv /opt/pve-usv
|
||||||
cd /opt/pve-usv
|
cd /opt/pve-usv
|
||||||
$STD uv venv --clear venv
|
$STD uv venv --clear --seed venv
|
||||||
$STD uv pip install --python venv/bin/python .
|
$STD uv pip install --python venv/bin/python .
|
||||||
chmod 0755 deploy/pve-usv-agent.sh
|
chmod 0755 deploy/pve-usv-agent.sh
|
||||||
msg_ok "Set up Application"
|
msg_ok "Set up Application"
|
||||||
|
|||||||
@@ -27,13 +27,12 @@ fetch_and_deploy_gh_release "Scanopy" "scanopy/scanopy" "tarball" "latest" "/opt
|
|||||||
TOOLCHAIN="$(grep "channel" /opt/scanopy/backend/rust-toolchain.toml | awk -F\" '{print $2}')"
|
TOOLCHAIN="$(grep "channel" /opt/scanopy/backend/rust-toolchain.toml | awk -F\" '{print $2}')"
|
||||||
RUST_TOOLCHAIN=$TOOLCHAIN setup_rust
|
RUST_TOOLCHAIN=$TOOLCHAIN setup_rust
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "scanopy-server" "scanopy/scanopy" "singlefile" "latest" "/usr/bin" "scanopy-server-linux-$(arch_resolve)"
|
msg_info "Building Scanopy Server (patience)"
|
||||||
|
|
||||||
msg_info "Generating UI Fixtures (patience)"
|
|
||||||
cd /opt/scanopy/backend
|
cd /opt/scanopy/backend
|
||||||
CARGO_PROFILE_RELEASE_LTO=false CARGO_PROFILE_RELEASE_CODEGEN_UNITS=16 CARGO_BUILD_JOBS="$(get_parallel_jobs)" $STD cargo build --release --bin generate-fixtures
|
CARGO_BUILD_JOBS="$(get_parallel_jobs)" $STD cargo build --release --bin server --bin generate-fixtures
|
||||||
$STD ./target/release/generate-fixtures --output-dir /opt/scanopy/ui/src/lib/data
|
$STD ./target/release/generate-fixtures --output-dir /opt/scanopy/ui/src/lib/data
|
||||||
msg_ok "Generated UI Fixtures"
|
mv ./target/release/server /usr/bin/scanopy-server
|
||||||
|
msg_ok "Built Scanopy Server"
|
||||||
|
|
||||||
msg_info "Creating frontend UI"
|
msg_info "Creating frontend UI"
|
||||||
export PUBLIC_SERVER_HOSTNAME=default
|
export PUBLIC_SERVER_HOSTNAME=default
|
||||||
|
|||||||
67
install/seanime-install.sh
Normal file
67
install/seanime-install.sh
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: hasan-ismail
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://seanime.app/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
setup_hwaccel
|
||||||
|
|
||||||
|
msg_info "Installing FFmpeg"
|
||||||
|
setup_deb822_repo \
|
||||||
|
"jellyfin" \
|
||||||
|
"https://repo.jellyfin.org/jellyfin_team.gpg.key" \
|
||||||
|
"https://repo.jellyfin.org/debian" \
|
||||||
|
"$(get_os_info codename)"
|
||||||
|
$STD apt install -y jellyfin-ffmpeg7
|
||||||
|
ln -sf /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg
|
||||||
|
ln -sf /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe
|
||||||
|
msg_ok "Installed FFmpeg"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "seanime" "5rahim/seanime" "prebuild" "latest" "/opt/seanime" "seanime-[0-9]*_Linux_$(arch_resolve x86_64 arm64).tar.gz"
|
||||||
|
chmod +x /opt/seanime/seanime
|
||||||
|
|
||||||
|
msg_info "Configuring Seanime"
|
||||||
|
SEANIME_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
|
||||||
|
mkdir -p /opt/seanime-data
|
||||||
|
cat <<EOF >/opt/seanime-data/config.toml
|
||||||
|
[server]
|
||||||
|
password = "${SEANIME_PASSWORD}"
|
||||||
|
EOF
|
||||||
|
cat <<EOF >/root/seanime.creds
|
||||||
|
Seanime URL: http://${LOCAL_IP}:43211
|
||||||
|
Password: ${SEANIME_PASSWORD}
|
||||||
|
EOF
|
||||||
|
msg_ok "Configured Seanime"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/seanime.service
|
||||||
|
[Unit]
|
||||||
|
Description=Seanime
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/seanime
|
||||||
|
ExecStart=/opt/seanime/seanime --datadir /opt/seanime-data --host 0.0.0.0
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now seanime
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
190
install/solidinvoice-install.sh
Normal file
190
install/solidinvoice-install.sh
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: Pierre du Plessis
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/solidinvoice/solidinvoice
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Creating Directories"
|
||||||
|
mkdir -p /etc/solidinvoice /var/lib/solidinvoice
|
||||||
|
msg_ok "Created Directories"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "solidinvoice" "SolidInvoice/SolidInvoice" "singlefile" "latest" "/usr/bin" "solidinvoice-linux-$(arch_resolve)"
|
||||||
|
|
||||||
|
msg_info "Configuring SolidInvoice"
|
||||||
|
cat <<'EOF' >/etc/solidinvoice/solidinvoice.env
|
||||||
|
# SolidInvoice environment configuration
|
||||||
|
# This file is sourced by the systemd service unit.
|
||||||
|
# CLI flags always take precedence over values set here.
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Network
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Port to listen on (default: 8765)
|
||||||
|
#SOLIDINVOICE_PORT=8765
|
||||||
|
|
||||||
|
# IP address to bind to (default: auto-detected outbound IP)
|
||||||
|
#SOLIDINVOICE_SERVER_IP=0.0.0.0
|
||||||
|
|
||||||
|
# Domain name — required when using Let's Encrypt or custom certificates.
|
||||||
|
# When set, the application binds to https://<domain> instead of an IP.
|
||||||
|
#SOLIDINVOICE_DOMAIN=
|
||||||
|
|
||||||
|
# Bind the bundled webserver to every hostname so it answers regardless of the
|
||||||
|
# Host header — required behind a reverse proxy that forwards the original domain.
|
||||||
|
SOLIDINVOICE_DOCKER=true
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# HTTPS / TLS
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Disable HTTPS and serve plain HTTP. Set to 1 when running behind a
|
||||||
|
# reverse proxy (nginx, Caddy, Traefik, etc.) that handles TLS termination.
|
||||||
|
# Remove or set to 0 when you want the application to manage its own certificates.
|
||||||
|
SOLIDINVOICE_DISABLE_HTTPS=1
|
||||||
|
|
||||||
|
# Enable automatic Let's Encrypt certificates (requires SOLIDINVOICE_DOMAIN).
|
||||||
|
# Incompatible with SOLIDINVOICE_DISABLE_HTTPS=1.
|
||||||
|
#SOLIDINVOICE_LETS_ENCRYPT=1
|
||||||
|
|
||||||
|
# Paths to a custom TLS certificate and private key (requires SOLIDINVOICE_DOMAIN).
|
||||||
|
# Incompatible with SOLIDINVOICE_DISABLE_HTTPS=1 and SOLIDINVOICE_LETS_ENCRYPT=1.
|
||||||
|
#SOLIDINVOICE_SSL_CERT=/etc/ssl/certs/solidinvoice.crt
|
||||||
|
#SOLIDINVOICE_SSL_KEY=/etc/ssl/private/solidinvoice.key
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Performance
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Enable FrankenPHP worker mode for improved performance (keeps PHP workers
|
||||||
|
# alive between requests). Recommended for high-traffic deployments.
|
||||||
|
# Set to 1 to enable.
|
||||||
|
#FRANKENPHP_WORKER_MODE=1
|
||||||
|
|
||||||
|
# Number of FrankenPHP worker threads when worker mode is enabled (default: 2).
|
||||||
|
#SOLIDINVOICE_WORKER_THREADS=2
|
||||||
|
|
||||||
|
# Number of background messenger worker processes (default: 1).
|
||||||
|
# Set to 0 to disable built-in workers (use the dedicated 'solidinvoice worker'
|
||||||
|
# command instead).
|
||||||
|
#SOLIDINVOICE_MESSENGER_WORKERS=1
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Application
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Application environment. Change to "dev" only for local development.
|
||||||
|
#SOLIDINVOICE_ENV=prod
|
||||||
|
|
||||||
|
# Enable debug mode (0 or 1). Never enable in production.
|
||||||
|
#SOLIDINVOICE_DEBUG=0
|
||||||
|
|
||||||
|
# Configuration directory — stores generated secrets, OAuth keys, and the
|
||||||
|
# SQLite database (when no external database is configured).
|
||||||
|
SOLIDINVOICE_CONFIG_DIR=/etc/solidinvoice
|
||||||
|
|
||||||
|
# Installation type identifier used for telemetry when opted in.
|
||||||
|
SOLIDINVOICE_INSTALL_TYPE=proxmox-community-scripts
|
||||||
|
|
||||||
|
# Skip the ASCII art / URL summary printed on startup.
|
||||||
|
SOLIDINVOICE_SKIP_INTRO=1
|
||||||
|
|
||||||
|
# Log format: "json" for structured logs (default for systemd), "console" for human-readable.
|
||||||
|
SOLIDINVOICE_LOG_FORMAT=json
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Database
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Database connection URL. Defaults to SQLite stored in SOLIDINVOICE_CONFIG_DIR
|
||||||
|
# when not set. Supported drivers: mysql, postgresql, sqlite.
|
||||||
|
#SOLIDINVOICE_DATABASE_URL=mysql://user:password@127.0.0.1:3306/solidinvoice
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Email
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Outbound mail transport DSN. Overrides the transport configured in the UI.
|
||||||
|
# See https://symfony.com/doc/current/mailer.html for DSN formats.
|
||||||
|
#SOLIDINVOICE_MAILER_DSN=smtp://user:password@localhost:25
|
||||||
|
|
||||||
|
# From address used for all outgoing emails. Overrides the address configured in the UI.
|
||||||
|
#SOLIDINVOICE_MAILER_SENDER=SolidInvoice <noreply@example.com>
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Async messaging
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Messenger transport DSN. Defaults to the database (doctrine) queue.
|
||||||
|
#SOLIDINVOICE_MESSENGER_DSN=doctrine://default?queue_name=async
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Search (optional)
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Meilisearch instance for full-text search. Leave blank to disable.
|
||||||
|
#SOLIDINVOICE_MEILISEARCH_URL=http://localhost:7700
|
||||||
|
#SOLIDINVOICE_MEILISEARCH_API_KEY=
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Localisation
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Default locale for the application interface (e.g. en, fr, de, nl).
|
||||||
|
#SOLIDINVOICE_LOCALE=en
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# User registration
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Allow visitors to create their own accounts (0 = disabled, 1 = enabled).
|
||||||
|
#SOLIDINVOICE_ALLOW_REGISTRATION=0
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Monitoring (optional)
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Sentry DSN for error and performance monitoring.
|
||||||
|
#SOLIDINVOICE_SENTRY_DSN=
|
||||||
|
|
||||||
|
# Expose a Prometheus metrics endpoint on a dedicated port.
|
||||||
|
#SOLIDINVOICE_ENABLE_METRICS=1
|
||||||
|
#SOLIDINVOICE_METRICS_PORT=9090
|
||||||
|
EOF
|
||||||
|
chmod 640 /etc/solidinvoice/solidinvoice.env
|
||||||
|
msg_ok "Configured SolidInvoice"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<'EOF' >/etc/systemd/system/solidinvoice.service
|
||||||
|
[Unit]
|
||||||
|
Description=SolidInvoice
|
||||||
|
Documentation=https://solidinvoice.co/docs
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=exec
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/var/lib/solidinvoice
|
||||||
|
ExecStart=/usr/bin/solidinvoice run
|
||||||
|
EnvironmentFile=/etc/solidinvoice/solidinvoice.env
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now solidinvoice
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
@@ -15,7 +15,7 @@ update_os
|
|||||||
|
|
||||||
PG_VERSION="16" setup_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
PG_DB_NAME="spliit" PG_DB_USER="spliit" setup_postgresql_db
|
PG_DB_NAME="spliit" PG_DB_USER="spliit" setup_postgresql_db
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
fetch_and_deploy_gh_release "spliit" "spliit-app/spliit" "tarball"
|
fetch_and_deploy_gh_release "spliit" "spliit-app/spliit" "tarball"
|
||||||
|
|
||||||
msg_info "Configuring Application"
|
msg_info "Configuring Application"
|
||||||
|
|||||||
@@ -147,7 +147,6 @@ Group=root
|
|||||||
EnvironmentFile=/opt/Stirling-PDF/.env
|
EnvironmentFile=/opt/Stirling-PDF/.env
|
||||||
WorkingDirectory=/opt/Stirling-PDF
|
WorkingDirectory=/opt/Stirling-PDF
|
||||||
ExecStart=/usr/bin/java -jar Stirling-PDF.jar
|
ExecStart=/usr/bin/java -jar Stirling-PDF.jar
|
||||||
ExecStop=/bin/kill -15 %n
|
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
|
|
||||||
|
|||||||
61
install/super-productivity-install.sh
Normal file
61
install/super-productivity-install.sh
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
|
# Author: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://super-productivity.com/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt install -y \
|
||||||
|
nginx \
|
||||||
|
git
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "super-productivity" "super-productivity/super-productivity" "tarball"
|
||||||
|
|
||||||
|
msg_info "Building Web App"
|
||||||
|
cd /opt/super-productivity
|
||||||
|
export HUSKY=0
|
||||||
|
export UNSPLASH_KEY=DUMMY_UNSPLASH_KEY
|
||||||
|
export UNSPLASH_CLIENT_ID=DUMMY_UNSPLASH_CLIENT_ID
|
||||||
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||||
|
$STD git config --global url."https://github.com/".insteadOf ssh://git@github.com/
|
||||||
|
$STD npm ci
|
||||||
|
$STD npm run buildFrontend:prodWeb
|
||||||
|
msg_ok "Built Web App"
|
||||||
|
|
||||||
|
msg_info "Deploying Web App"
|
||||||
|
cp -r /opt/super-productivity/dist/browser/. /var/www/html/
|
||||||
|
msg_ok "Deployed Web App"
|
||||||
|
|
||||||
|
msg_info "Configuring Nginx"
|
||||||
|
cat <<'EOF' >/etc/nginx/sites-available/super-productivity.conf
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
server_name _;
|
||||||
|
root /var/www/html;
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.html;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
ln -sf /etc/nginx/sites-available/super-productivity.conf /etc/nginx/sites-enabled/super-productivity.conf
|
||||||
|
rm -f /etc/nginx/sites-enabled/default
|
||||||
|
systemctl reload nginx
|
||||||
|
msg_ok "Configured Nginx"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
cleanup_lxc
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user