Commit Graph
6842 Commits
Author SHA1 Message Date
MacRimi ead77f0d1f fix(monitor): stop intel_gpu_top leaving a process on every GPU reading 2026-11-01 01:38:52 +01:00
MacRimi 52a9034676 fix(monitor): remove the idle disk note from Disk exclusions 2026-11-01 01:30:59 +01:00
MacRimi e8e9e07e6b feat(oci): add Scanopy and force the stop of a container that ignores it 2026-11-01 01:25:04 +01:00
MacRimi cb97fc4c98 Merge branch 'develop' of https://github.com/MacRimi/ProxMenux into develop 2026-10-31 19:45:03 +01:00
MacRimi 75fd803443 fix(app-tracking): support Helper-Scripts core repository split 2026-10-31 19:44:45 +01:00
github-actions[bot] c0a0cdca34 Update AppImage beta build (2026-10-31 18:39:13) 2026-10-31 18:39:13 +00:00
MacRimi d75d44c601 fix(monitor): do not report a service reloading or restarting as failed 2026-10-31 18:49:34 +01:00
MacRimi 276a116696 feat(oci): VLAN tag and updates that keep Proxmox changes 2026-10-31 18:34:14 +01:00
ProxMenuxBot b1010a194a chore(lang): auto-rebuild translation cache
Source: 0faa781
Triggered by: push
2026-10-31 09:40:28 +00:00
MacRimiandGitHub 0faa781dd1 Merge pull request #566 from jcastro/fix/ollama-api-endpoint
fix(oci): correct Ollama API endpoint metadata
2026-10-31 10:39:21 +01:00
ProxMenuxBot 60b66c4668 chore(lang): auto-rebuild translation cache
Source: 393e609
Triggered by: push
2026-10-31 09:32:48 +00:00
MacRimi 393e6095fa fix(backup): repair host backup schedules systemd rejects 2026-10-31 10:31:47 +01:00
ProxMenuxBot 380a9b653c chore(lang): auto-rebuild translation cache
Source: 1920dc2
Triggered by: push
2026-10-31 09:21:18 +00:00
MacRimi 1920dc2937 fix(backup): check the schedule of a host backup job before saving it 2026-10-31 10:19:59 +01:00
Jonatan bfdcd4a42c i18n: translate Ollama catalog metadata 2026-10-31 10:07:52 +01:00
Jonatan 139a4b4089 fix(oci): label Ollama API endpoint accurately 2026-10-31 10:07:51 +01:00
ProxMenuxBot 14e2718275 chore(lang): auto-rebuild translation cache
Source: 6befea0
Triggered by: push
2026-10-31 08:54:29 +00:00
MacRimiandGitHub 6befea0757 Merge pull request #563 from jcastro/feature/oci-authentik
Add Authentik to OCI catalog
2026-10-31 09:53:15 +01:00
MacRimi ed2a696c01 fix(oci): point the Authentik summary to the first-run setup
akadmin has no password until it is created in the setup wizard, which
opens from the root address. The summary now says so instead of reporting
a password that could not be retrieved.
2026-10-31 09:45:27 +01:00
Jonatan 6968409ae5 fix(oci): give Authentik worker outbound access 2026-10-31 09:00:46 +01:00
ProxMenuxBot a6ada401b5 chore(lang): auto-rebuild translation cache
Source: 98d8e78
Triggered by: push
2026-10-30 23:43:27 +00:00
MacRimi 98d8e78dcb fix(i18n): add the Slovak label of the Vulkan profile 2026-10-31 00:42:21 +01:00
MacRimi f9fe4d2793 fix(oci): run Ollama and llama.cpp on Intel and AMD integrated GPUs 2026-10-31 00:25:21 +01:00
ProxMenuxBot 81cc746e19 chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: aa4adc3
Triggered by: push
2026-10-30 21:59:48 +00:00
MacRimi aa4adc34a9 fix(monitor): place the Secure Gateway template on an active storage 2026-10-30 22:58:12 +01:00
ProxMenuxBot dc823bc21b chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: 72908e5
Triggered by: push
2026-10-30 20:50:19 +00:00
ProxMenuxBot 297a41d58a chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: 668b557
Triggered by: push
2026-10-30 20:47:44 +00:00
MacRimiandGitHub 72908e55aa Merge pull request #562 from DrOwl/feature/disk-controller-mapping
Map storage devices to their PCI storage controller
2026-10-30 21:39:07 +01:00
MacRimiandGitHub 668b557fd5 Merge pull request #561 from DrOwl/feature/zfs-pool-details
Show ZFS pool layout, scrub status and device health in Storage view
2026-10-30 21:38:12 +01:00
Jonatan f5ce0438f9 test(oci): run the full engine suite in CI 2026-10-30 19:32:24 +01:00
Jonatan 21616fe53d fix(i18n): translate Authentik catalog strings to Slovak 2026-10-30 19:31:48 +01:00
Jonatan 8e6e9d5cab test(oci): run Authentik recipe checks in CI 2026-10-30 19:30:00 +01:00
Jonatan 3b15e14625 feat(oci): add Authentik catalog profile 2026-10-30 19:24:01 +01:00
MacRimi 89531bbab8 fix(monitor): record kernel I/O errors on the right disk 2026-10-30 18:51:55 +01:00
MacRimi c13d3de023 docs(web): use "backups" in the Spanish sidebar 2026-10-30 18:07:51 +01:00
MacRimiandGitHub dd9c21ed75 Merge pull request #558 from jcastro/docs/oci-catalog-contributor-guide
docs(oci): add reusable app catalog guide
2026-10-30 17:56:50 +01:00
MacRimi aaffe4e08a docs(oci): align the catalog guide with the project flow
Suggest the app in discussion #440 first, call the file an oci-compose,
use the names the interface shows, run the engine tests as an
unprivileged user, and add the page to the docs sidebar.
2026-10-30 17:52:32 +01:00
MacRimiandGitHub d3fedeb201 Merge pull request #555 from jcastro/feature/oci-teslamate
feat(oci): add TeslaMate stack
2026-10-30 17:35:30 +01:00
MacRimi bd42df3ead fix(monitor): keep the LVM filter when the scan names its devices 2026-10-30 17:32:25 +01:00
MacRimi cf7b8363da fix(monitor): serve the bundled PWA manifest and service worker 2026-10-30 16:59:02 +01:00
Jonatan d3752f0417 docs(oci): add reusable app catalog guide 2026-10-30 10:43:32 +01:00
Jonatan 88ba698758 fix(oci): use readable names for stack LXCs 2026-10-29 18:18:57 +01:00
DrOwlandClaude Opus 5.5 72491b2445 Show ZFS pool layout, scrub status and device health in Storage view
/api/storage now runs a single `zpool status -j --json-int -P` (OpenZFS
2.3+) for all pools and returns, per pool:
- top-level vdevs with type, raidz/draid parity, class (data, special,
  dedup, log, cache, spare), state and read/write/checksum errors
- member devices with path, resolved base disk, state, error counters,
  slow I/Os, and the spare-N/replacing-N they sit under while swapping
- scrub/resilver status (progress only while running), the pool's
  status/action text and data-error count
- fragmentation, capacity and dedup ratio from `zpool list`

This replaces the per-pool `zpool status` text loop whose result
(zfs_disks) was never used. Member paths (by-id, by-partlabel, wwn) are
resolved to base disks via sysfs rather than an lsblk call per device.
On ZFS without `-j`, pools report details_available: false and the UI
falls back to the existing basic card.

The ZFS pool card shows a layout summary (e.g. "RAIDZ2 | 5 disks |
Scrub finished ...") and opens a details dialog with the vdev tree,
per-device error counts, scrub/resilver progress, and links from each
member disk to its disk details dialog.

Tested against `zpool status -j` output from PVE 9 / OpenZFS 2.4.4:
mirror, raidz2, striped mirrors, single-disk pool, and a file-backed
degraded raidz1 with log, cache and spare devices.

Tests cover the `zpool status -j` -> Storage view shape against real
output from PVE 9 / OpenZFS 2.4.4 hosts (serials and WWNs replaced):
mirror, raidz2, single-disk pool, slow I/Os, and a degraded raidz1 with
log, cache and spare devices; plus a synthetic resilver with a spare
swapping in. Member path -> base disk resolution is tested against a
stubbed sysfs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:55:02 +00:00
Jonatan 8eef466949 test(oci): record TeslaMate browser and lifecycle validation 2026-10-29 12:47:14 +01:00
DrOwlandClaude Opus 5.5 30034e7aa3 Map storage devices to their PCI storage controller
Each disk in /api/hardware now carries a controller_slot, resolved from
the disk's sysfs device path: the deepest PCI address in that path is the
controller (bridges sit above it), normalised to lspci's slot format so it
matches pci_devices[].slot directly. NVMe falls back to the controller's
own sysfs link when the namespace resolves to a subsystem with no PCI
parent; zvols and other virtual devices get None.

Hardware page:
- The disk dialog shows its storage controller (click through to the
  controller), and the PCI device dialog lists the disks attached to it.
- Storage controllers in the PCI Devices list get a badge with the
  number of attached disks.

Storage view:
- /api/storage returns controller_slot on each physical disk plus a
  controllers map (slot -> class, vendor, device, subsystem name,
  driver), built from the cached `lspci -vmm` output so the Storage view
  doesn't need the heavier /api/hardware enumeration.
- "Physical Disks & SMART Status" can group disks under their storage
  controller, with a header showing the controller name, slot, driver
  and disk count. Groups follow PCI slot order; disks with no resolvable
  controller are listed last. USB disks keep their own section.
- The disk details dialog shows the storage controller on the Overview
  tab.
- Grouping is opt-in via a new Storage Display card in Settings, stored
  per browser (localStorage) and synced across open views, following the
  existing nav-tab-order preference pattern. Off by default.

Also:
- Treat "IDE interface" as a storage controller, so SATA controllers left
  in BIOS IDE mode (e.g. Intel 7 Series, ata_piix) appear in pci_devices
  and disks behind them can be mapped.
- lspci prints "Device xxxx" when it has no subsystem name; that
  placeholder is ignored so the chip name is shown instead.
- Add the missing sdevice field to the PCIDevice type.

Tests cover the sysfs path -> controller slot rule against real paths
from two PVE 9 hosts (SAS HBA, AHCI SATA, SATA in BIOS IDE mode, USB
behind a hub, NVMe behind chipset bridges), the non-zero PCI domain case
(Intel VMD), the NVMe multipath fallback, and get_storage_controllers'
lspci parsing including the "Device xxxx" placeholder and driver lookup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:47:00 +00:00
Jonatan 512b268815 feat(oci): add TeslaMate native stack profile 2026-10-29 01:08:16 +01:00
Jonatan e52460e991 fix(oci): validate managed routes during transaction recovery 2026-10-29 00:51:58 +01:00
ProxMenuxBot 5db3ae9c92 chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: 581eed6
Triggered by: push
2026-10-28 22:32:09 +00:00
ProxMenuxBot 79bc8d33fd chore(lang): auto-rebuild translation cache
Source: 581eed6
Triggered by: push
2026-10-28 22:26:01 +00:00
MacRimiandGitHub 581eed61e5 Merge pull request #551 from Vaso73/fix/host-update-recovery
Keep Proxmox updates running across sign-out and show pending reboots
2026-10-28 23:24:38 +01:00