mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-09-16 17:54:01 +00:00
Compare commits
1 Commits
github-act
...
pocketbase
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ae274aab4 |
14
.github/autolabeler-config.json
generated
vendored
14
.github/autolabeler-config.json
generated
vendored
@@ -8,12 +8,7 @@
|
|||||||
"turnkey/**",
|
"turnkey/**",
|
||||||
"vm/**"
|
"vm/**"
|
||||||
],
|
],
|
||||||
"excludeGlobs": [
|
"excludeGlobs": []
|
||||||
"**/headers/**",
|
|
||||||
"ct/headers/**",
|
|
||||||
"tools/headers/**",
|
|
||||||
"vm/headers/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"update script": [
|
"update script": [
|
||||||
@@ -46,12 +41,7 @@
|
|||||||
"includeGlobs": [
|
"includeGlobs": [
|
||||||
"vm/**"
|
"vm/**"
|
||||||
],
|
],
|
||||||
"excludeGlobs": [
|
"excludeGlobs": []
|
||||||
"**/headers/**",
|
|
||||||
"ct/headers/**",
|
|
||||||
"tools/headers/**",
|
|
||||||
"vm/headers/**"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"tools": [
|
"tools": [
|
||||||
|
|||||||
5
.github/workflows/close-new-script-prs.yml
generated
vendored
5
.github/workflows/close-new-script-prs.yml
generated
vendored
@@ -28,7 +28,6 @@ jobs:
|
|||||||
const allowedBots = [
|
const allowedBots = [
|
||||||
"push-app-to-main[bot]",
|
"push-app-to-main[bot]",
|
||||||
"push-app-to-main",
|
"push-app-to-main",
|
||||||
"community-scripts-pr-app[bot]",
|
|
||||||
"community-scripts-pr-app"
|
"community-scripts-pr-app"
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -63,9 +62,7 @@ jobs:
|
|||||||
per_page: 100,
|
per_page: 100,
|
||||||
});
|
});
|
||||||
hasAddedScriptFile = files.some(
|
hasAddedScriptFile = files.some(
|
||||||
f => f.status === "added" &&
|
f => f.status === "added" && scriptPrefixes.some(p => f.filename.startsWith(p))
|
||||||
!f.filename.includes("/headers/") &&
|
|
||||||
scriptPrefixes.some(p => f.filename.startsWith(p))
|
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.warning(`Could not list files for PR #${prNumber}: ${error.message}`);
|
core.warning(`Could not list files for PR #${prNumber}: ${error.message}`);
|
||||||
|
|||||||
40
.github/workflows/pocketbase-bot.yml
generated
vendored
40
.github/workflows/pocketbase-bot.yml
generated
vendored
@@ -26,7 +26,6 @@ jobs:
|
|||||||
COMMENT_BODY: ${{ github.event.comment.body }}
|
COMMENT_BODY: ${{ github.event.comment.body }}
|
||||||
COMMENT_ID: ${{ github.event.comment.id }}
|
COMMENT_ID: ${{ github.event.comment.id }}
|
||||||
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
||||||
IS_PR_COMMENT: ${{ github.event.issue.pull_request && 'true' || 'false' }}
|
|
||||||
REPO_OWNER: ${{ github.repository_owner }}
|
REPO_OWNER: ${{ github.repository_owner }}
|
||||||
REPO_NAME: ${{ github.event.repository.name }}
|
REPO_NAME: ${{ github.event.repository.name }}
|
||||||
ACTOR: ${{ github.event.comment.user.login }}
|
ACTOR: ${{ github.event.comment.user.login }}
|
||||||
@@ -85,7 +84,6 @@ jobs:
|
|||||||
const owner = process.env.REPO_OWNER;
|
const owner = process.env.REPO_OWNER;
|
||||||
const repo = process.env.REPO_NAME;
|
const repo = process.env.REPO_NAME;
|
||||||
const issueNumber = parseInt(process.env.ISSUE_NUMBER, 10);
|
const issueNumber = parseInt(process.env.ISSUE_NUMBER, 10);
|
||||||
const isPrComment = process.env.IS_PR_COMMENT === 'true';
|
|
||||||
const commentId = parseInt(process.env.COMMENT_ID, 10);
|
const commentId = parseInt(process.env.COMMENT_ID, 10);
|
||||||
const actor = process.env.ACTOR;
|
const actor = process.env.ACTOR;
|
||||||
|
|
||||||
@@ -218,22 +216,11 @@ jobs:
|
|||||||
|
|
||||||
const prTitle = 'chore(ct): sync ' + slugValue + ' defaults with PocketBase';
|
const prTitle = 'chore(ct): sync ' + slugValue + ' defaults with PocketBase';
|
||||||
const prBody =
|
const prBody =
|
||||||
'## ✍️ Description\n\n' +
|
'## Summary\n' +
|
||||||
'Sync of the default CT variables for `' + slugValue + '` after a `/pocketbase` update by @' + actor + '.\n\n' +
|
'- Sync default CT variables for `' + slugValue + '` after `/pocketbase` update.\n' +
|
||||||
'Updated: `' + updateResult.updatedVars.join('`, `') + '`\n\n' +
|
'- Updated vars: `' + updateResult.updatedVars.join('`, `') + '`.\n\n' +
|
||||||
'## 🔗 Related Issue\n\n' +
|
'## Source\n' +
|
||||||
(isPrComment ? 'Triggered from #' : 'Fixes #') + issueNumber + '\n\n' +
|
'- Triggered by @' + actor + ' via PocketBase bot.\n';
|
||||||
'## ✅ Prerequisites (**X** in brackets)\n\n' +
|
|
||||||
'- [x] **Self-review completed** – Code follows project standards.\n' +
|
|
||||||
'- [ ] **Tested thoroughly** – Changes work as expected.\n' +
|
|
||||||
'- [x] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues.\n\n' +
|
|
||||||
'**Tested on:** not tested — generated from the PocketBase record, only `var_` defaults changed.\n\n' +
|
|
||||||
'---\n\n' +
|
|
||||||
'## 🤖 AI Assistance (**X** in brackets)\n\n' +
|
|
||||||
'- [x] **No AI used** – Scripts were written without AI assistance.\n\n' +
|
|
||||||
'---\n\n' +
|
|
||||||
'## 🛠️ Type of Change (**X** in brackets)\n\n' +
|
|
||||||
'- [x] 🐞 **Bug fix** – Resolves an issue without breaking functionality.\n';
|
|
||||||
const createPrRes = await ghRequest('/repos/' + owner + '/' + repo + '/pulls', 'POST', {
|
const createPrRes = await ghRequest('/repos/' + owner + '/' + repo + '/pulls', 'POST', {
|
||||||
title: prTitle,
|
title: prTitle,
|
||||||
body: prBody,
|
body: prBody,
|
||||||
@@ -348,10 +335,7 @@ jobs:
|
|||||||
'`architectures` (amd64,arm64) `platforms` (pve,incus) ' +
|
'`architectures` (amd64,arm64) `platforms` (pve,incus) ' +
|
||||||
'`execute_in` (pve,lxc,pbs,vm,pmg,pdm) `categories` (names or ids) ' +
|
'`execute_in` (pve,lxc,pbs,vm,pmg,pdm) `categories` (names or ids) ' +
|
||||||
'`type` (ct, vm, addon, …) ' +
|
'`type` (ct, vm, addon, …) ' +
|
||||||
'`is_disabled` `disable_message` `is_deleted` `deleted_message` ' +
|
'`is_disabled` `disable_message` `is_deleted` `deleted_message`\n\n' +
|
||||||
'`pin_reason` `last_update_commit`\n\n' +
|
|
||||||
'The `var_` names from the ct scripts work too: `var_cpu` `var_ram` `var_disk`\n' +
|
|
||||||
'`var_os` `var_version` `var_port` `var_tags` `var_unprivileged`\n\n' +
|
|
||||||
'**Screenshots:**\n' +
|
'**Screenshots:**\n' +
|
||||||
'```\n' +
|
'```\n' +
|
||||||
'/pocketbase <slug> screenshot https://example.com/one.png https://example.com/two.png\n' +
|
'/pocketbase <slug> screenshot https://example.com/one.png https://example.com/two.png\n' +
|
||||||
@@ -415,14 +399,6 @@ jobs:
|
|||||||
|
|
||||||
// ── Shared helpers ─────────────────────────────────────────────────
|
// ── Shared helpers ─────────────────────────────────────────────────
|
||||||
|
|
||||||
// The ct scripts name these var_cpu/var_ram/var_disk, and that is what
|
|
||||||
// people type. Accept them for the PocketBase keys.
|
|
||||||
const KEY_ALIASES = {
|
|
||||||
var_cpu: 'cpu', var_ram: 'ram', var_disk: 'hdd', var_hdd: 'hdd',
|
|
||||||
var_os: 'os', var_version: 'version', var_unprivileged: 'unprivileged',
|
|
||||||
var_port: 'port', var_tags: 'tags', disk: 'hdd', memory: 'ram',
|
|
||||||
};
|
|
||||||
|
|
||||||
// Key=value parser: handles unquoted and "quoted" values
|
// Key=value parser: handles unquoted and "quoted" values
|
||||||
function parseKVPairs(str) {
|
function parseKVPairs(str) {
|
||||||
const fields = {};
|
const fields = {};
|
||||||
@@ -450,7 +426,7 @@ jobs:
|
|||||||
while (pos < str.length && !/\s/.test(str[pos])) pos++;
|
while (pos < str.length && !/\s/.test(str[pos])) pos++;
|
||||||
value = str.substring(valStart, pos);
|
value = str.substring(valStart, pos);
|
||||||
}
|
}
|
||||||
fields[KEY_ALIASES[key.toLowerCase()] || key] = value;
|
fields[key] = value;
|
||||||
}
|
}
|
||||||
return fields;
|
return fields;
|
||||||
}
|
}
|
||||||
@@ -1006,8 +982,6 @@ jobs:
|
|||||||
disable_message: 'string',
|
disable_message: 'string',
|
||||||
is_deleted: 'boolean',
|
is_deleted: 'boolean',
|
||||||
deleted_message: 'string',
|
deleted_message: 'string',
|
||||||
pin_reason: 'string',
|
|
||||||
last_update_commit: 'string',
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const parsedFields = parseKVPairs(rest);
|
const parsedFields = parseKVPairs(rest);
|
||||||
|
|||||||
11
CHANGELOG.md
11
CHANGELOG.md
@@ -549,27 +549,24 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
- Immich: Pin to v3.2.2 [@vhsdream](https://github.com/vhsdream) ([#17307](https://github.com/community-scripts/ProxmoxVE/pull/17307))
|
|
||||||
- Dispatcharr: Bump to 4G RAM [@github-actions[bot]](https://github.com/github-actions[bot]) ([#17302](https://github.com/community-scripts/ProxmoxVE/pull/17302))
|
|
||||||
- navidrome: repair root-owned data folders left by 0.61.x [@MickLesk](https://github.com/MickLesk) ([#17275](https://github.com/community-scripts/ProxmoxVE/pull/17275))
|
- navidrome: repair root-owned data folders left by 0.61.x [@MickLesk](https://github.com/MickLesk) ([#17275](https://github.com/community-scripts/ProxmoxVE/pull/17275))
|
||||||
- tor-snowflake: read the Go version from the module root [@MickLesk](https://github.com/MickLesk) ([#17276](https://github.com/community-scripts/ProxmoxVE/pull/17276))
|
- tor-snowflake: read the Go version from the module root [@MickLesk](https://github.com/MickLesk) ([#17276](https://github.com/community-scripts/ProxmoxVE/pull/17276))
|
||||||
- docmost: stop corepack asking for confirmation during the build [@MickLesk](https://github.com/MickLesk) ([#17282](https://github.com/community-scripts/ProxmoxVE/pull/17282))
|
- docmost: stop corepack asking for confirmation during the build [@MickLesk](https://github.com/MickLesk) ([#17282](https://github.com/community-scripts/ProxmoxVE/pull/17282))
|
||||||
|
|
||||||
- #### ✨ New Features
|
- #### ✨ New Features
|
||||||
|
|
||||||
- Refactor: TrueNAS VM (core / improve functions / performance) [@MickLesk](https://github.com/MickLesk) ([#17277](https://github.com/community-scripts/ProxmoxVE/pull/17277))
|
|
||||||
- Frigate: Bump to 0.18.0 [@MickLesk](https://github.com/MickLesk) ([#17273](https://github.com/community-scripts/ProxmoxVE/pull/17273))
|
- Frigate: Bump to 0.18.0 [@MickLesk](https://github.com/MickLesk) ([#17273](https://github.com/community-scripts/ProxmoxVE/pull/17273))
|
||||||
- Refactor: HomeAssistant-OS (core / improve functions / performance) [@MickLesk](https://github.com/MickLesk) ([#17281](https://github.com/community-scripts/ProxmoxVE/pull/17281))
|
- Refactor: HomeAssistant-OS (core / improve functions / performance) [@MickLesk](https://github.com/MickLesk) ([#17281](https://github.com/community-scripts/ProxmoxVE/pull/17281))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: TrueNAS VM (core / improve functions / performance) [@MickLesk](https://github.com/MickLesk) ([#17277](https://github.com/community-scripts/ProxmoxVE/pull/17277))
|
||||||
|
|
||||||
### 💾 Core
|
### 💾 Core
|
||||||
|
|
||||||
- Read the IGC version compute-runtime pins, instead of taking the newest [@MickLesk](https://github.com/MickLesk) ([core#43](https://github.com/community-scripts/core/pull/43))
|
- Read the IGC version compute-runtime pins, instead of taking the newest [@MickLesk](https://github.com/MickLesk) ([core#43](https://github.com/community-scripts/core/pull/43))
|
||||||
- Install the Intel driver dependency before the .deb that needs it [@MickLesk](https://github.com/MickLesk) ([core#42](https://github.com/community-scripts/core/pull/42))
|
- Install the Intel driver dependency before the .deb that needs it [@MickLesk](https://github.com/MickLesk) ([core#42](https://github.com/community-scripts/core/pull/42))
|
||||||
|
|
||||||
### 📚 Documentation
|
|
||||||
|
|
||||||
- pocketbase-bot: accept the var_ names and two missing fields [@MickLesk](https://github.com/MickLesk) ([#17305](https://github.com/community-scripts/ProxmoxVE/pull/17305))
|
|
||||||
|
|
||||||
## 2026-09-15
|
## 2026-09-15
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ EOF
|
|||||||
msg_ok "Image-processing libraries up to date"
|
msg_ok "Image-processing libraries up to date"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE="v3.2.2"
|
RELEASE="v3.2.1"
|
||||||
if check_for_gh_release "Immich" "immich-app/immich" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
|
if check_for_gh_release "Immich" "immich-app/immich" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
|
||||||
if [[ $(cat ~/.immich) > "2.5.1" ]]; then
|
if [[ $(cat ~/.immich) > "2.5.1" ]]; then
|
||||||
msg_info "Enabling Maintenance Mode"
|
msg_info "Enabling Maintenance Mode"
|
||||||
|
|||||||
@@ -353,7 +353,7 @@ ML_DIR="${APP_DIR}/machine-learning"
|
|||||||
GEO_DIR="${INSTALL_DIR}/geodata"
|
GEO_DIR="${INSTALL_DIR}/geodata"
|
||||||
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
|
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v3.2.2" "$SRC_DIR"
|
fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v3.2.1" "$SRC_DIR"
|
||||||
PNPM_VERSION="$(jq -r '.packageManager | split("@")[1] | split("+")[0]' ${SRC_DIR}/package.json)"
|
PNPM_VERSION="$(jq -r '.packageManager | split("@")[1] | split("+")[0]' ${SRC_DIR}/package.json)"
|
||||||
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||||
NODE_VERSION="24" NODE_MODULE="corepack" setup_nodejs
|
NODE_VERSION="24" NODE_MODULE="corepack" setup_nodejs
|
||||||
|
|||||||
Reference in New Issue
Block a user