From c7fd20a75ec39285f6a7828b996b0508c263e3cc Mon Sep 17 00:00:00 2001 From: Eric Schultz Date: Tue, 11 Nov 2025 10:44:26 -0700 Subject: [PATCH 1/9] Adds CI workflow for the dev branch Sets up a CI workflow that runs on pushes to the `dev` branch. It installs dependencies, builds documentation, and serves the built documentation using pm2. This allows for automated testing and deployment of documentation updates on the dev environment. --- .github/workflows/dev.js.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/dev.js.yml diff --git a/.github/workflows/dev.js.yml b/.github/workflows/dev.js.yml new file mode 100644 index 00000000..36c53451 --- /dev/null +++ b/.github/workflows/dev.js.yml @@ -0,0 +1,27 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Node.js CI dev + +on: + push: + branches: [ "dev" ] + +jobs: + build: + + runs-on: [self-hosted, dev-runner] + + strategy: + matrix: + node-version: [20.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + - run: npm ci + - run: npm run docs:build + - run: pm2 serve docs/.vitepress/dist 4173 --name "docs" --spa + From 0c6d8b30aa7d7d152320f47258e83ca822b8df8c Mon Sep 17 00:00:00 2001 From: Jerod Fritz Date: Tue, 11 Nov 2025 13:07:49 -0500 Subject: [PATCH 2/9] fix broken links --- docs/features/index.md | 10 +++++----- package.json | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/features/index.md b/docs/features/index.md index 8d810ee3..f8e34f34 100644 --- a/docs/features/index.md +++ b/docs/features/index.md @@ -15,7 +15,7 @@ From the dashboard you can - Control your installed applications & virtual machines - Review alerts and errors -By default you will see system information, storage, and apps on your dashboard. However this display is configurable in [preferences](/features/settings/index/#preferences) which can be found in the [settings](/features/settings) tab. +By default you will see system information, storage, and apps on your dashboard. However this display is configurable in [preferences](/features/settings/#preferences) which can be found in the [settings](/features/settings/) tab. ## Storage @@ -43,7 +43,7 @@ From the Folders screen you can - Create user accounts - Manage user accounts -[Learn more about the Folders screen here.](/features/folders) +[Learn more about the Folders screen here.](/features/folders/) ## Apps @@ -57,7 +57,7 @@ From the apps screen you can - Update apps - View apps catalog -[Read more about the Apps screen here.](/features/apps/index) +[Read more about the Apps screen here.](/features/apps/) ## Settings @@ -73,7 +73,7 @@ From the Settings screen you can - Manage location prefrences - Open the Truenas UI -[Read more about the Settings screen here.](/features/settings) +[Read more about the Settings screen here.](/features/settings/) ## Notifications @@ -85,7 +85,7 @@ From the notification screen you can view - Server warnings - Disk failure warnings -[Read more about notifications here.](/features/notifications/index) +[Read more about notifications here.](/features/notifications/) ## Profile diff --git a/package.json b/package.json index 805056b3..2ec4a046 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,12 @@ "dev": "npm run docs:dev", "docs:dev:here": "DOCS_DIR=. node scripts/generateCuratedIndex.mjs && node scripts/generateReleaseNotesIndex.mjs && vitepress dev .", "docs:build": "npm run gen:all && vitepress build docs", - "docs:serve": "vitepress serve docs" + "docs:serve": "vitepress serve docs", + "build": "npm run docs:build" }, "devDependencies": { "mermaid": "^11.10.0", "vitepress": "^1.3.0", "vitepress-plugin-mermaid": "^2.0.17" } -} +} \ No newline at end of file From 5e8a29f9dc42457b3bba32a9eaaa1ab512be6bb2 Mon Sep 17 00:00:00 2001 From: acknologia <64101826+acknologia@users.noreply.github.com> Date: Tue, 11 Nov 2025 14:55:57 -0500 Subject: [PATCH 3/9] Update plex.json --- docs/public/install-scripts/plex.json | 28 ++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/docs/public/install-scripts/plex.json b/docs/public/install-scripts/plex.json index 0eb49bd9..16f3e1e1 100644 --- a/docs/public/install-scripts/plex.json +++ b/docs/public/install-scripts/plex.json @@ -8,7 +8,26 @@ "key": "plex_claim_token", "required": false, "default": "" + }, + { + "question": "Do you have Plex Pass?", + "description": "Plex Pass is required to unlock certain features.", + "type": "select", + "key": "image_selector", + "required": true, + "options": [ + { + "text": "No, I don't have Plex Pass", + "value": "image" + }, + { + "text": "Yes, I have Plex Pass", + "value": "plex_pass_image" + } + ], + "default": "image" } + ], "ensure_directories_exists": [ { @@ -44,14 +63,17 @@ "network_share": true }, "$LOCATION(ApplicationsPerformance)/plex/data", - "$LOCATION(ApplicationsPerformance)/plex/config", + { + "path": "$LOCATION(ApplicationsPerformance)/plex/config", + "posix": true + }, "$LOCATION(ApplicationsCapacity)/plex/logs", "$LOCATION(ApplicationsPerformance)/plex/transcode" ], "app_values": { "plex": { - "claim_token": "$QUESTION(plex_claim_token)" - }, + "claim_token": "$QUESTION(plex_claim_token)", + "image_selector": "$QUESTION(image_selector)" }, "run_as": { "user": 568, "group": 568 From 51eb0ff2622d6469cd28ff83216ab7d3e7bb8f1d Mon Sep 17 00:00:00 2001 From: Jerod Fritz Date: Tue, 11 Nov 2025 14:58:51 -0500 Subject: [PATCH 4/9] Fix formatting in plex.json for image_selector json --- docs/public/install-scripts/plex.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/public/install-scripts/plex.json b/docs/public/install-scripts/plex.json index 16f3e1e1..49b173e3 100644 --- a/docs/public/install-scripts/plex.json +++ b/docs/public/install-scripts/plex.json @@ -73,7 +73,8 @@ "app_values": { "plex": { "claim_token": "$QUESTION(plex_claim_token)", - "image_selector": "$QUESTION(image_selector)" }, + "image_selector": "$QUESTION(image_selector)" + }, "run_as": { "user": 568, "group": 568 @@ -102,4 +103,4 @@ } } } -} \ No newline at end of file +} From 0ad64071022ac5d7ec2505dbfb74f01471f95766 Mon Sep 17 00:00:00 2001 From: Jerod Fritz Date: Tue, 11 Nov 2025 15:00:25 -0500 Subject: [PATCH 5/9] Fix JSON formatting in plex.json Fix JSON formatting and ensure newline at end of file. --- docs/public/install-scripts/plex.json | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/public/install-scripts/plex.json b/docs/public/install-scripts/plex.json index 49b173e3..e1d7cfcd 100644 --- a/docs/public/install-scripts/plex.json +++ b/docs/public/install-scripts/plex.json @@ -27,7 +27,6 @@ ], "default": "image" } - ], "ensure_directories_exists": [ { From 2d2472c94d786bf12cd9aea1ceb8ba58809b87e9 Mon Sep 17 00:00:00 2001 From: Eric Schultz Date: Tue, 11 Nov 2025 16:15:31 -0700 Subject: [PATCH 6/9] Ensures smooth docs redeployment Adds a step to stop the documentation server before redeploying, preventing potential conflicts or errors during the update process. --- .github/workflows/dev.js.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dev.js.yml b/.github/workflows/dev.js.yml index 36c53451..8a30a64d 100644 --- a/.github/workflows/dev.js.yml +++ b/.github/workflows/dev.js.yml @@ -23,5 +23,6 @@ jobs: submodules: 'recursive' - run: npm ci - run: npm run docs:build + - run: pm2 stop docs || true - run: pm2 serve docs/.vitepress/dist 4173 --name "docs" --spa From ee794a86a8634d0fb8abdacb9045751a4ca27faa Mon Sep 17 00:00:00 2001 From: Jerod Fritz Date: Wed, 12 Nov 2025 08:04:29 -0500 Subject: [PATCH 7/9] 11-12-2025 release note --- .gitignore | 1 + docs/.vitepress/sidebar.ts | 1 + docs/release-notes/command-deck/2025-11-12.md | 13 +++++++++++++ docs/release-notes/command-deck/index.md | 1 + 4 files changed, 16 insertions(+) create mode 100644 docs/release-notes/command-deck/2025-11-12.md diff --git a/.gitignore b/.gitignore index 3f6ffba9..c8c3bf5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +docs/.vitepress/.temp docs/.vitepress/cache docs/.vitepress/dist node_modules diff --git a/docs/.vitepress/sidebar.ts b/docs/.vitepress/sidebar.ts index 988f1643..b175bcba 100644 --- a/docs/.vitepress/sidebar.ts +++ b/docs/.vitepress/sidebar.ts @@ -128,6 +128,7 @@ const sidebar: DefaultTheme.SidebarItem[] = [ collapsed: true, items: [ // auto-generated-release-notes-start + { text: '2025-11-12', link: '/release-notes/command-deck/2025-11-12' }, { text: '2025-11-08', link: '/release-notes/command-deck/2025-11-08' }, { text: '2025-11-07', link: '/release-notes/command-deck/2025-11-07' }, { text: '2025-11-06', link: '/release-notes/command-deck/2025-11-06' }, diff --git a/docs/release-notes/command-deck/2025-11-12.md b/docs/release-notes/command-deck/2025-11-12.md new file mode 100644 index 00000000..d2334287 --- /dev/null +++ b/docs/release-notes/command-deck/2025-11-12.md @@ -0,0 +1,13 @@ +# Hotfix - November 12, 2025 + +This release fixes compatibility issues with TrueNAS Fangtooth 25.04.0+. + +## Bug Fixes + +### Folder Unlock on Fangtooth + +Fixed folder unlock functionality for TrueNAS Fangtooth (25.04.0+). +- Encrypted folders can now be properly unlocked on Fangtooth systems running TrueNAS 25.04.0 and later +- Updated SMB registry synchronization to use the new `etc.generate('smb')` API method introduced in Fangtooth +- Maintains backward compatibility with Electric Eel (24.x) systems using the legacy `sharing.smb.sync_registry` method +- Resolves errors when unlocking encrypted datasets on newer TrueNAS versions diff --git a/docs/release-notes/command-deck/index.md b/docs/release-notes/command-deck/index.md index ef429e10..5089300a 100644 --- a/docs/release-notes/command-deck/index.md +++ b/docs/release-notes/command-deck/index.md @@ -11,6 +11,7 @@ For users who are actively connected during an update, there may be a brief down ## 2025 Releases +- [**2025-11-12**](./2025-11-12) - Folder Unlock on Fangtooth - [**2025-11-08**](./2025-11-08) - Server monitoring scalability improvements - [**2025-11-07**](./2025-11-07) - Upgrade timeout improvements - [**2025-11-06**](./2025-11-06) - Install Script v2, Fangtooth Support, Enhanced User Management From dce3ba8ed18a1b292537b1355538133a2977a1eb Mon Sep 17 00:00:00 2001 From: Jerod Fritz Date: Wed, 12 Nov 2025 10:07:39 -0500 Subject: [PATCH 8/9] simplify note --- docs/release-notes/command-deck/2025-11-12.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/release-notes/command-deck/2025-11-12.md b/docs/release-notes/command-deck/2025-11-12.md index d2334287..949a0aad 100644 --- a/docs/release-notes/command-deck/2025-11-12.md +++ b/docs/release-notes/command-deck/2025-11-12.md @@ -1,13 +1,10 @@ # Hotfix - November 12, 2025 -This release fixes compatibility issues with TrueNAS Fangtooth 25.04.0+. +This release fixes compatibility issues with Fangtooth 25.04.0+. ## Bug Fixes ### Folder Unlock on Fangtooth -Fixed folder unlock functionality for TrueNAS Fangtooth (25.04.0+). -- Encrypted folders can now be properly unlocked on Fangtooth systems running TrueNAS 25.04.0 and later -- Updated SMB registry synchronization to use the new `etc.generate('smb')` API method introduced in Fangtooth -- Maintains backward compatibility with Electric Eel (24.x) systems using the legacy `sharing.smb.sync_registry` method -- Resolves errors when unlocking encrypted datasets on newer TrueNAS versions +Fixed folder unlock functionality for Fangtooth (25.04.0+). +- Updated SMB registry synchronization to use the new `etc.generate('smb')` API method vs. legacy `sharing.smb.sync_registry` method \ No newline at end of file From 578855f14e7706d727b1d2dbea3d058af9cbd082 Mon Sep 17 00:00:00 2001 From: Jerod Fritz Date: Wed, 12 Nov 2025 12:54:56 -0500 Subject: [PATCH 9/9] add server actions bullet --- docs/release-notes/command-deck/2025-11-12.md | 9 ++++++--- docs/release-notes/command-deck/index.md | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/command-deck/2025-11-12.md b/docs/release-notes/command-deck/2025-11-12.md index 949a0aad..08957146 100644 --- a/docs/release-notes/command-deck/2025-11-12.md +++ b/docs/release-notes/command-deck/2025-11-12.md @@ -1,10 +1,13 @@ # Hotfix - November 12, 2025 -This release fixes compatibility issues with Fangtooth 25.04.0+. +This release fixes compatibility issues with Fangtooth 25.04.0+ and adds the foundation for one click server actions outside of the deck. ## Bug Fixes -### Folder Unlock on Fangtooth +### Server Actions and Folder Unlock on Fangtooth Fixed folder unlock functionality for Fangtooth (25.04.0+). -- Updated SMB registry synchronization to use the new `etc.generate('smb')` API method vs. legacy `sharing.smb.sync_registry` method \ No newline at end of file +- Updated SMB registry synchronization to use the new `etc.generate('smb')` API method vs. legacy `sharing.smb.sync_registry` method + +Email Actions support. +- Allows for server related actions directly from channels outside of our deck. For example: this foundation will allow for upgrading your server directly from email notifications with a single click. diff --git a/docs/release-notes/command-deck/index.md b/docs/release-notes/command-deck/index.md index 5089300a..e80680d6 100644 --- a/docs/release-notes/command-deck/index.md +++ b/docs/release-notes/command-deck/index.md @@ -11,7 +11,7 @@ For users who are actively connected during an update, there may be a brief down ## 2025 Releases -- [**2025-11-12**](./2025-11-12) - Folder Unlock on Fangtooth +- [**2025-11-12**](./2025-11-12) - Server Actions and Folder Unlock on Fangtooth - [**2025-11-08**](./2025-11-08) - Server monitoring scalability improvements - [**2025-11-07**](./2025-11-07) - Upgrade timeout improvements - [**2025-11-06**](./2025-11-06) - Install Script v2, Fangtooth Support, Enhanced User Management