Commit Graph
100 Commits
Author SHA1 Message Date
MacRimi 46158209f1 fix: improve host diagnostics, storage handling, and maintenance workflows
- add zero-downtime Proxmox TLS certificate refresh from the Security panel (#307)
- classify storage availability independently from missing capacity information (#309)
- update ZFS ARC sizing and safely reconcile conflicting module configurations
- preserve and restore migrated ZFS settings without overwriting later administrator changes
- stop memory optimization from forcing the kernel overcommit policy
- correlate multi-line OOM events and identify the affected LXC, cgroup limits, swap and killed process
- add selectable Bash prompt path styles and clearer shell activation guidance
- protect technical names during automatic translation and correct localized terminology
- update the Coral and VM/LXC Apps and Updates documentation, translations and screenshots
2026-08-25 18:48:39 +02:00
MacRimi 2302b0967b add SMART passthrough for USB-SATA bridges
- Add a shared smartctl transport resolver with sat, sat,12 and sat,16 fallbacks.
- Prevent USB bridges from reporting a superficial PASSED result without real disk telemetry.
- Reuse the resolved transport across storage details, health monitoring, temperature history, and manual/scheduled SMART tests.
- Bundle the new resolver in the Monitor AppImage.
- Update the Coral TPU and LXC Apps/Updates documentation in the supported documentation locales.
2026-08-23 23:18:15 +02:00
MacRimi 0251f77331 overhaul app tracking and update orchestration
- Generate and ship a verified 389-app tracking catalog with 23 runtime overrides, fallback detectors, ports, logos, and Docker Hub tag previews.
- Support modern Proxmox VE Helper-Scripts markers, historical installations, and official or manual app deployments.
- Rework the LXC App and Updates tabs with cached suggestions, explicit discovery, version tracking, web links, custom updaters, and complete i18n.
- Add independent OS, app, Docker Engine, Docker image, bulk, and scheduled update targets.
- Add digest-based Docker inventory, Compose dependency grouping, safe standalone-container recreation with rollback, and package-scoped Docker Engine updates.
- Refresh per-LXC caches after lifecycle and update tasks, then emit idempotent notifications based on the verified final state.
- Harden Coral USB recovery by removing orphaned gasket DKMS registrations and validating that dpkg is healthy before reporting success.
2026-08-23 12:43:03 +02:00
MacRimi bce139f9d1 Update apply_updates.sh 2026-08-18 23:47:03 +02:00
MacRimi 7d81724e14 Update flask_server.py 2026-08-18 17:16:27 +02:00
MacRimi 29cd269e08 revert: restore canonical project growth image path 2026-08-17 19:42:10 +02:00
MacRimi b2b1b5e3a1 fix: sync project growth README with main 2026-08-17 19:40:39 +02:00
MacRimi d88c36f6ca Update verified_ai_models.json 2026-08-17 16:59:44 +02:00
MacRimi 513a9359fd New 1.2.4.1-beta 2026-08-17 12:16:41 +02:00
MacRimi b5476c75fa gpu: nvidia install drops VFIO autoload; GPU flows self-repair stale vfio.conf
The nvidia driver installer now writes only `nvidia` and `nvidia_uvm` into `/etc/modules-load.d/nvidia-vfio.conf`, leaving the vfio-pci modules for `switch_gpu_mode.sh` to add and remove when the user explicitly transitions between LXC and VM mode. A host with residual `/etc/modprobe.d/vfio.conf` entries from an earlier VM passthrough setup no longer has vfio-pci racing nvidia at boot and capturing the GPU by ID.

All three GPU-facing entry points also detect a stale `vfio.conf` entry whose vid:did belongs to a GPU currently bound to a non-vfio driver, and offer to clean it in place. `nvidia_installer.sh` runs the check as a pre-flight before install. `switch_gpu_mode.sh` presents an interactive dialog and rebuilds initramfs. `switch_gpu_mode_direct.sh` performs the same cleanup transparently for the Monitor web variant. Once cleaned, "Add GPU to LXC", the driver install and Switch Mode all proceed without any manual intervention.

The two supporting helpers `_pci_driver_of` and `_clean_vfio_conf_ids` previously local to `add_gpu_lxc.sh` move to `scripts/global/pci_passthrough_helpers.sh`, so every GPU-related script resolves them from a single source without duplication.
2026-08-17 12:05:40 +02:00
MacRimi c5d717c85a Update add_gpu_lxc.sh 2026-08-16 17:51:43 +02:00
MacRimi b577c154ee Update health-status-modal.tsx 2026-08-16 11:09:50 +02:00
MacRimi 698c89fd3b NVIDIA installer: dynamic version picker + Pattern A UX 2026-08-16 10:33:34 +02:00
MacRimi b45799d319 GPU realtime: cache endpoint TTL 4s + trim intel_gpu_top warmup 2026-08-15 22:11:41 +02:00
MacRimi 58a28dd81e retry i18n auto-commit on push race 2026-08-15 17:46:45 +02:00
MacRimi 0beeb7a68b Beta cycle bundle over 1.2.4.1
- **VM/LXC modal** — PVE tags (dots on list cards, editable pills in modal with click-to-edit) using NVIDIA-style hash colour and SAPC contrast; Status tab redesign (single card, always-visible subsections, Edit button, autostart toggle, blue subsection icons); Backups and Firewall tabs now fill the full modal height with sticky headers/notes; stopped VMs no longer shift the metrics grid; mount-point card brightness unified across breakpoints.
- **Disks modal** — Overview / SMART / History / Schedule tabs adopt the VM/LXC modal size and the mobile icon-only tab pattern; SMART attributes table drops the 15-row cap and gains a sticky "View full SMART report" footer; Print/Save-as-PDF collapses to two icons in the report; loose i18n and layout follow-ups.
- **NVIDIA driver installer (#298)** — version picker cross-checks kernel + NVIDIA's Production/New Feature/Legacy branch classification (scraped from `nvidia.com/en-us/drivers/unix/`) + the PCI Device IDs of every host GPU, with a release-count heuristic to keep superseded production branches selectable while dropping Vulkan-beta ones; Recommended follows same-branch head when a driver is installed, Production Branch head on a fresh install; Hardware card now shows installed alongside available driver version.
- **Custom notifications (#297)** — `event_type: "custom"` accepts `title`/`message` at the root or nested under `data`; defensive strip of stray `[TITLE]`/`[BODY]` markers echoed by the AI enhancer.
- **App tab** — new "Exclude from the LXC updates counter" toggle; the CT's aggregate updates badge now sums OS packages plus registered apps (respecting the flag); Docs page updated; App suggestion no longer treats bare OS helper slugs (alpine/ubuntu/debian…) as installable apps.
- **i18n and copy** — Monitor UI available in EN / ES / DE / FR / IT / PT / SV / SK (thanks @vaso73) surfaced as the first entry in the What's New modal with a link to the contributor's profile; ES cleanup pass (`Historial`, `Velocidad de rotación`, `Consumo actual`, `Ejecutar`, `Eliminar`, `Activar`, `Ver contenido`, `Repuesto disp.`, `Registrar`, `Ocultar`, `Descartar`); redundant "Tip: search any Linux/Proxmox command" line removed from the terminal command search across all locales.
2026-08-15 17:33:05 +02:00
MacRimi f0c8e73446 Persist partial i18n progress on transient translator failures 2026-08-14 20:43:44 +02:00
MacRimi 157ab50f9b i18n workflow — expand trigger + fix sk/sv Translate pivots 2026-08-14 20:37:20 +02:00
MacRimi 9eb576f8f3 Fix i18n cleaner regex — add sk/sv Translate pivots 2026-08-14 20:30:21 +02:00
MacRimi f6da553aeb Fix i18n cleaner regex — add sk/sv Translate pivots 2026-08-14 20:27:06 +02:00
MacRimi 99ad69e8cf Event-only modal cache + Settings edit gating + ES i18n polish
Modal caches now refresh on events only — the periodic prewarmer runs one-shot at startup, mount points split into static/runtime endpoints, and backups get a client 6-hour gate. Updates tab shows post-apply feedback and the script terminal no longer closes the parent modal. Settings adds edit gating on 3 cards with the 3-level contrast rule applied consistently. ES translation batch (~25 fixes) and What's New for 1.2.4.1-beta refreshed.
2026-08-14 20:17:45 +02:00
MacRimi e1fb203e46 Merge branch 'develop' of https://github.com/MacRimi/ProxMenux into develop 2026-08-13 23:53:03 +02:00
MacRimi ac2c28ad2c Update build-i18n-messages.yml 2026-08-13 23:52:53 +02:00
MacRimi d9944edf5e Update build_i18n_messages.py 2026-08-13 23:49:17 +02:00
MacRimi 037421d762 Instant VM/LXC modals via bulk hydration + server prewarmer
Backend keeps every guest's modal payload (details, backups, apps, schedule, mount points) warm in-memory and exposes them through a single `/api/vms/modal-cache-all` endpoint. The dashboard hydrates its entire modal cache from that one request on page load, so opening any guest — first click or after coming back later — renders instantly. Replaces ~84 per-guest fetches with 1.
2026-08-13 22:35:13 +02:00
MacRimi 3fe9a49ebc Update network-flow.tsx 2026-08-12 17:28:12 +02:00
MacRimi 55a95a2346 docs(monitor): new App + Updates sub-pages for VMs & LXCs with i18n 2026-08-11 20:14:17 +02:00
MacRimi d2c7be9a32 Update README.md 2026-08-10 19:22:47 +02:00
MacRimi bf6c580877 docs: refresh CONTRIBUTING + README for coordination flow + Monitor section 2026-08-10 19:15:01 +02:00
MacRimi d6162af020 i18n: ES catalog polish + AppImage 1.2.4.1-beta rebuild 2026-08-10 15:09:14 +02:00
MacRimi a056d7e0dc Update common.json 2026-08-10 14:39:52 +02:00
MacRimi c1bd4b3403 Update common.json 2026-08-10 14:18:22 +02:00
MacRimi f2420d9978 i18n polish + Swedish wired + roadmap slim + AppImage 1.2.4.1-beta
## i18n

- Swedish (sv) wired end-to-end: `MESSAGE_CATALOG` in `provider.tsx` now imports `sv/common.json`; `SUPPORTED_LANGUAGES` reordered as English + alphabetical native and all eight locales marked complete.
- Settings → Interface language: the per-locale status cards grid is retired now that all eight locales are populated end-to-end; the dropdown selector is the only control.
- CLI change-language dialog (`scripts/menus/config_menu.sh`) picks up Swedish and matches the Monitor ordering.
- Spanish catalog: label polish across the dashboard — *VM y LXC activos* / *11 VMs* / *11 detenidos*, LXC modal tabs shortened to *App / Actualiz. / Montajes / Copias*, *Limpiar / Cerrar* replacing the wrong *Claro / Cerca* in terminal controls, *En ejecución / Ejecutar* replacing the literal *Correr*.
- Cross-locale normalisation across ES / DE / FR / IT / PT / SK / SV: *OK* / *Proxmox System Dashboard* / *Warn* labels stay consistent, *AVG / MAX / MIN* kept verbatim as universal abbreviations so the stats row no longer overflows.
- Tailscale brand preserved verbatim across ES / FR / IT / PT — previous machine-translated variants like *"escala trasera"* / *"à grande échelle"* restored.

## Docs

- `ROADMAP.md` rewritten as a short invitation to the [ProxMenux Roadmap project board](https://github.com/users/MacRimi/projects/1). `ROADMAP.es.md` removed — it mirrored the same outdated version-milestone plan and the docs site keeps the Spanish surface for users who need it.
- `release.md` annotated with nine pending sections for the v1.2.4.1 beta cycle.

## AppImage

- `ProxMenux-1.2.4.1-beta.AppImage` replaces the previous `ProxMenux-1.2.4.AppImage`. Sidecar `ProxMenux-Monitor.AppImage.sha256` regenerated.
2026-08-10 13:23:26 +02:00
MacRimi 2901b22be6 update ROADMAP.md
The document now points to the ProxMenux Roadmap project on GitHub, where per-item status, ownership and descriptions live. The previous version-milestone plan (v1.2.2-beta / v1.2.3-beta / v1.3.0) is retired in favour of pillar-based tracking on the board.

ROADMAP.es.md removed — it mirrored the same outdated content and the public docs site keeps the Spanish surface for users who need it.
2026-08-10 11:59:47 +02:00
MacRimi 9dae948a7c i18n: fill 7 locales, preserve brand names, manual quality review
Rebuild of the 7 supported translation catalogs (ES/DE/FR/IT/PT/SK/SV) covering Monitor (`AppImage/messages/<lang>/common.json`, 3903 keys each) and CLI (`lang/<lang>.json`, 5272 keys each). Swedish (sv) is added as a new locale end-to-end.
2026-08-10 09:44:39 +02:00
MacRimi 5c33852a65 feat(i18n): add Swedish support + include Slovak in auto-fill defaults
Two related changes to the translation infrastructure:

1. Add Swedish (sv) as a supported locale in both the CLI and Monitor
   translation systems. Inspired by PR #121, which arrived before the
   current auto-generated cache layout existed.

2. Include Slovak (sk) in the default auto-fill target set. Guardrail #1
   in build_i18n_messages.py never overwrites a key whose target value
   differs from EN, so Vaso73's curated Slovak strings stay intact —
   auto-translation only fills keys that are still on the English
   fallback. Trade-off accepted: sk users see decent machine translation
   for new keys immediately instead of raw English while human curation
   catches up, and Vaso73 keeps full ownership of the wording via
   follow-up PRs.

Changes:
- AppImage/lib/i18n/languages.ts: add "sv" to LanguageCode + register
  in SUPPORTED_LANGUAGES.
- AppImage/messages/sv/common.json: stub — will be filled by the i18n
  workflow on the local bootstrap.
- .github/scripts/build_translation_cache.py: add "sv" to
  DEFAULT_LANGUAGES.
- .github/scripts/build_i18n_messages.py: add "sk" and "sv" to
  DEFAULT_LANGUAGES; update comments to explain the sk decision.
- .github/workflows/build-i18n-messages.yml: default input includes
  sk + sv; comments updated to match.
2026-08-09 10:35:03 +02:00
MacRimi d2a3720ec4 ci(i18n): add auto-translation workflow for Monitor messages catalog
Adds .github/scripts/build_i18n_messages.py and its companion workflow
build-i18n-messages.yml, so keys added to AppImage/messages/en/common.json
propagate automatically to es/de/fr/it/pt on push.

Guardrails:
- Never overwrites a key whose target value differs from EN, protecting
  human-curated locales (Vaso73's sk is excluded from the default set
  entirely).
- {placeholder} tokens are extracted to opaque tokens before the
  translator sees the text and restored afterwards, so interpolation
  keys stay intact regardless of provider behavior.

Mirrors the pattern of build-translation-cache.yml (CLI translations)
and reuses its providers (googletrans / google-web / appimage), so the
CI environment stays uniform between the two workflows.

First run will bootstrap ~3800 keys × 5 locales; subsequent runs only
process new keys added to en/common.json.
2026-08-09 01:31:30 +02:00
MacRimi e05b4e94dc chore(post_install): bump setup_persistent_network FUNC_VERSION to 1.2
Bump FUNC_VERSION from 1.1 to 1.2 in the setup_persistent_network wrapper
for both customizable and auto post_install variants.

Rationale:
The generator pmx_setup_persistent_network in utils-install-functions.sh
now emits `.link` files with Kind=!bridge (PR #280), so existing installs
need their `.link` files regenerated to pick up the fix. Bumping the
wrapper's FUNC_VERSION triggers the Monitor + CLI post-install version
tracker to surface persistent_network as a pending update, prompting
users to re-run the optimization — which regenerates the files with the
fix applied.

Not touched:
- network_menu.sh copy of setup_persistent_network: uses a simpler
  register_tool() that doesn't track versions (menu-driven invocation
  is on-demand, not tracked as auto-update-eligible by design).
2026-08-09 00:54:22 +02:00
MacRimi 05476b99c6 i18n(vmLxc): extract new LXC Updates + Options + App editor strings (EN only)
Extracts 212 hardcoded English strings from virtual-machines.tsx and
lxc-app-panel.tsx into AppImage/messages/en/common.json, matching the
i18n pattern established by PR #277.

Added namespaces under vmLxc:
- options (14 keys): Snapshot / Restart / Backup storage / Edit / Cancel / Save
- scheduled (22 keys): Scheduled updates, Frequency, Cron, target, Delete
- cronChip (6 keys): variants + scope for external cron detection
- cronPresets (6 keys): Hourly / Daily / Weekly / Monthly picker labels
- updates (58 keys): OS packages, Helper info, Apply buttons, custom
  command editor, footer combined buttons
- tabs (6 keys): tab labels
- appEditor (105 keys): app registration form — installed_via methods,
  upstream source selectors, ports, form field labels + placeholders

Other locales (sk/de/fr/it/pt/es) fall back to English via the provider's
built-in fallback until translations are contributed.

Follow-up: i18n coverage issue for translation work in the other locales.
2026-08-09 00:49:44 +02:00
MacRimi 06f41f5792 feat(lxc-updates): revamp Updates + Options card + curated hints
Updates tab
- Unified OS + Application update card with per-section Apply buttons
  and a combined "Apply OS + <app>" footer button
- Helper-scripts install detection: uses helper_slug from managed_installs
  cache (hostname fuzzy-match against helpers_cache) so the button
  surfaces even when /usr/bin/update was removed
- Runs the community-scripts helper INSIDE the CT via pct exec so
  build.func picks the silent update path (PHS_SILENT=1) instead of the
  install menu — works with and without /usr/bin/update
- HELPER_SLUG env passthrough from backend to apply_updates.sh: falls
  back to constructing the ct/<slug>.sh URL when the CT no longer
  carries the marker file
- Post-apply state refresh via managed_installs.check_for_updates(force)
  in the /applied hook so the badge updates without a manual reload

Options card
- Rewrote as view / edit mode split with a single Edit button
- Unified apply defaults (snapshot + storage + restart) shared by
  manual and scheduled runs
- Scheduled updates (M5): cron picker + preset dropdown + What-to-update
  target + Delete schedule button, wired to a background scheduler thread
  that fires apply_updates.sh headless with the schedule's env vars
- External host cron detection with variant + scope reporting
  (tteck-legacy / community-scripts / custom, OS-only), shown as an
  informational chip only in edit mode

App tab editor
- Multi-app registration with per-app upstream tracking method
  (github / http_json / docker_hub)
- Card-contrast pattern in edit mode (bg-card + bg-background inputs)
- Auto-heal for missing installed_version via alt_detectors +
  file_fallbacks

Curated tracking hints (M6)
- Add http_json upstream for Plex (plex.tv API)
- Add binary+github hints for Emby (MediaBrowser/Emby.Releases) and
  PhotoPrism (photoprism/photoprism)
- Extend CI merge whitelist with upstream_type / upstream_url /
  upstream_json_path / docker_image

Tab reorder
- LXC modal tabs: Status | App | Updates | Mounts | Backups | Firewall

apply_updates.sh
- New helper execution path: parse ct/<slug>.sh URL, run inside CT
  with PHS_SILENT=1, respecting HELPER_SLUG fallback when
  /usr/bin/update is missing
2026-08-09 00:49:44 +02:00
MacRimi 04a028245b update 1.2.4.1 2026-08-03 17:00:18 +02:00
MacRimi 7fcbc467df update 1.2.4.1 beta - apis 2026-08-01 11:29:32 +02:00
MacRimi 2c05c800d9 Update update-pve-safe.sh 2026-08-01 00:56:18 +02:00
MacRimi c4a574422b Update flask_server.py 2026-07-31 18:56:10 +02:00
MacRimi cbb46cb70a Update beta_version.txt 2026-07-29 00:16:32 +02:00
MacRimi 37189ed67e update 1.2.4.1 2026-07-29 00:15:39 +02:00
MacRimi ebd41b8a46 Update security_manager.py 2026-07-28 22:40:06 +02:00
MacRimi 42ca256bac update 1.2.4.1 2026-07-28 22:03:01 +02:00
MacRimi f5aa0db9ef Merge branch 'main' into develop — resolve README modify/delete (keep develop) 2026-07-24 00:02:15 +02:00
MacRimi 03a7f58dfe Update README.md 2026-07-23 23:59:07 +02:00
MacRimi 497934f854 update 1.2.4.1 beta 2026-07-23 23:49:31 +02:00
MacRimi 20f1372816 Update README.md 2026-07-23 23:25:21 +02:00
MacRimi 91d503ea67 new beta 1.2.4.1 2026-07-23 22:55:28 +02:00
MacRimi 7bf709a679 chore: backfill repository growth history [skip ci] 2026-07-22 20:10:42 +02:00
MacRimi 06b546427b feat: replace Star History with Repo Growth 2026-07-22 19:54:05 +02:00
MacRimi 37f06b9e88 update changelog 2026-07-22 18:16:23 +02:00
MacRimi abf5ec7405 update changelog 2026-07-22 18:08:06 +02:00
MacRimi 047217dc93 Merge branch 'develop' of https://github.com/MacRimi/ProxMenux into develop 2026-07-22 17:46:36 +02:00
MacRimi 46cc91e52b Update install_proxmenux.sh 2026-07-22 17:46:22 +02:00
MacRimi d24d4372a7 Update es.json 2026-07-22 17:31:43 +02:00
MacRimi 2b7c498570 New version 1.2.4 2026-07-22 17:14:04 +02:00
MacRimi 8645ee0744 Update 1.2.4 2026-07-22 17:02:36 +02:00
MacRimi 78c5765330 Update es.md 2026-07-22 16:46:04 +02:00
MacRimi 4f5ccc4933 update 1.2.4 2026-07-22 16:39:34 +02:00
MacRimi b461b85dec update 1.2.4 2026-07-22 15:31:33 +02:00
MacRimi 827ccbab57 update 1.2.4 2026-07-21 19:25:08 +02:00
MacRimi c53289753d update 1.2.4 2026-07-21 19:09:59 +02:00
MacRimi 2330179036 update 1.2.4 2026-07-21 18:47:19 +02:00
MacRimi b2c6a6c536 Update 1.2.4 2026-07-21 18:26:11 +02:00
MacRimi cf5871981d update 1.2.4 2026-07-20 19:11:29 +02:00
MacRimi c2442565bd Merge branch 'develop' of https://github.com/MacRimi/ProxMenux into develop 2026-07-18 21:22:18 +02:00
MacRimi 6b02c13e23 update v1.2.4 2026-07-18 21:22:02 +02:00
MacRimi 451f541342 new version 1.2.4 2026-07-18 21:09:40 +02:00
MacRimi 52d7e20979 Update AppImage 1.2.3 2026-07-17 00:05:06 +02:00
MacRimi db79470d32 Update AppImage 1.2.3 2026-07-16 23:43:58 +02:00
MacRimi 9dc077feec update AppImage 1.2.3 2026-07-16 23:32:54 +02:00
MacRimi 1f3702b700 update AppImage 1.2.3 2026-07-16 23:19:12 +02:00
MacRimi 21c8b7a62e update AppImage 1.2.3 2026-07-16 23:12:28 +02:00
MacRimi 2770c8172b Update notification_events.py 2026-07-16 23:07:25 +02:00
MacRimi 3f61bca07c Update AppImage 1.2.3 2026-07-16 22:58:50 +02:00
MacRimi bcb8ec0f81 update roxmenux-monitor-v2 2026-07-16 22:53:57 +02:00
MacRimi 2fdf94f322 hotfix: prompt PBS encryption in attached-mode scheduled jobs + reorder backend menu
Two changes, both scoped to scripts/backup_restore/backup_scheduler.sh, worth
shipping to main ahead of the full v1.2.3 release PR:

1. Attached-mode PBS jobs never asked about encryption. `_create_job_attached`
   ran `hb_select_pbs_repository` and jumped straight to writing the .env with
   PBS_REPOSITORY / PBS_PASSWORD / PBS_BACKUP_ID — no `hb_ask_pbs_encryption`
   call, no PBS_KEYFILE / PBS_ENCRYPTION_PASSWORD emitted. The runner then
   invoked `proxmox-backup-client backup` without `--keyfile`, so every
   attached-mode backup landed on PBS unencrypted regardless of what the
   operator would have picked. Confirmed via `git show` on eight historical
   commits back to 61ff665c (beta 1.2.2.2) — the encryption call has NEVER
   been in the attached branch; the standalone `_create_job_new` branch had
   it since day one, they just diverged silently.

   Fix mirrors `_create_job_new` exactly (lines 413-443):
     hb_ask_pbs_encryption || return 1               # abort on cancel
     local pbs_kf_val=""
     [[ -n "${HB_PBS_KEYFILE_OPT:-}" ]] && pbs_kf_val="$HB_STATE_DIR/pbs-key.conf"
     lines+=(... "PBS_KEYFILE=${pbs_kf_val}" "PBS_ENCRYPTION_PASSWORD=${HB_PBS_ENC_PASS:-}")

   The Monitor Web path (flask_server.py::api_host_backups_job_create)
   already accepted pbs_encrypt_mode for both modes and passed it through
   correctly, so the fix is confined to the CLI wizard.

2. Backend selection menu reordered from `local | borg | pbs` to
   `pbs (recommended) | borg | local` so the recommended default sits at the
   top of the list. PBS gets the "(recommended)" suffix in its label.

Deployed and verified on the four test hosts (.50, .55, .89, .1.10) —
attached-mode wizard now shows the encryption dialog immediately after the
PBS job picker, and the .env carries PBS_KEYFILE + PBS_ENCRYPTION_PASSWORD
when the operator opts in.
2026-07-15 23:44:16 +02:00
MacRimi ed9b027c19 Update backup_scheduler.sh 2026-07-15 23:39:54 +02:00
MacRimi 3915b219cc Merge branch 'main' into develop — resolve PBS page.tsx conflict (keep em helper fix) 2026-07-15 17:31:20 +02:00
MacRimi ddd9e35c83 change-language.json 2026-07-15 17:28:10 +02:00
MacRimi 2a17561477 docs: promote /web from develop — v1.2.3 changelog + Backups video + install page refresh + PBS keyfile docs polish
Consolidates the /web changes that were made on develop for the v1.2.3 stable
release, so the release PR (develop → main) can focus on version.txt +
AppImage + shell scripts without web conflicts.

Contents:

- CHANGELOG.md + web/data/changelog/es.md — v1.2.3 stable entry prepended
  (bullets + tables, not paragraphs) with the release header image.
- images/ProxMenux_backup.png — new v1.2.3 release header image.
- web/app/[locale]/docs/backup-restore/page.tsx +
  web/messages/{en,es}/docs/backup-restore/index.json — new Video walkthrough
  block for the YouTube demo of the Backups feature (videoId K7A1KtOe4IQ),
  embedded high on the overview page via the shared YouTubeEmbed component.
- web/app/[locale]/docs/installation/page.tsx +
  web/messages/{en,es}/docs/installation.json +
  web/public/install/install.png — stale Translation-flavour and Python-from-
  PyPI mentions removed from the install page; screenshot refreshed and moved
  to local /install/install.png (was pointing at the legacy GitHub Pages URL).
- web/messages/es/docs/backup-restore/destinations/pbs.json — minor polish
  aligned with PR #247 already on main.
- web/public/images/docs/backup-restore/pbs-paired-backup-groups.png — updated
  screenshot to match the reworked PBS-paired-group naming shipped in the beta
  cycle.
- images/logos_txt/jc_channel.txt — new asset for the contributors page.
2026-07-15 17:19:23 +02:00
MacRimi 892a90fa3c new version 1.2.3 2026-07-15 17:12:29 +02:00
MacRimi bbebef6929 update web 2026-07-15 17:09:02 +02:00
MacRimi 1b992988eb Update changelog 2026-07-15 16:22:58 +02:00
MacRimi 4fe335224d Delete ProxMenux-1.2.2.3-beta.AppImage 2026-07-14 19:51:13 +02:00
MacRimi 8060f59d69 Update version 1.2.3 2026-07-14 19:22:33 +02:00
MacRimi 1872a309ec update version 1.2.3 2026-07-13 23:19:24 +02:00
MacRimi 1b623cd275 updage installer 2026-07-13 22:03:25 +02:00
MacRimi 362409e654 update menus 2026-07-13 21:43:48 +02:00
MacRimi e771a11441 Update es.json 2026-07-13 21:20:18 +02:00
MacRimi c43bf19bae Update es.json 2026-07-13 21:16:59 +02:00
MacRimi a1167dad4b Update hw_grafics_menu.sh 2026-07-13 21:10:17 +02:00
MacRimi 63a6378f2d Update menus 2026-07-13 20:47:14 +02:00
MacRimi fffeb2c06c Update es.json 2026-07-13 20:32:40 +02:00
MacRimi f5c72f19b8 update 1.2.2.3 beta 2026-07-12 12:52:16 +02:00