Compare commits

..

1 Commits

Author SHA1 Message Date
github-actions[bot]
1ae274aab4 chore(ct): sync dispatcharr defaults from PocketBase 2026-09-16 11:11:07 +00:00
6 changed files with 16 additions and 58 deletions

14
.github/autolabeler-config.json generated vendored
View File

@@ -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": [

View File

@@ -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
View File

@@ -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);

View File

@@ -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

View File

@@ -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"

View File

@@ -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