Commit Graph
70 Commits
Author SHA1 Message Date
MacRimi 818ab1308a fix(oci): keep update results when one application fails
- Check that the Monitor answers on its socket, not only that it exists
- Report the applications whose check failed instead of failing the whole request
- Show those applications as not checked, without their older result
- Tell the user in the menu when a check fails
2026-10-19 17:23:58 +02:00
MacRimi e138f4c800 Merge remote-tracking branch 'origin/develop' into HEAD 2026-10-19 17:17:17 +02:00
MacRimi 3e3e0916f2 fix(oci): clean format directories of a running container
- Open the container root without O_NOFOLLOW, as /proc/<pid>/root is a link
- Keep the /config preparation of JDownloader in its overlay
2026-10-19 17:06:49 +02:00
VAIO73 1511680a95 fix(oci): reject missing managed mount roots 2026-10-19 12:53:34 +00:00
VAIO73 3e9c9eb25d fix(oci): prepare managed format directories before startup 2026-10-19 12:23:49 +00:00
Jonatan Castro 70d4101243 feat(oci): show update availability and update selected applications 2026-10-19 11:23:45 +02:00
MacRimi 9861a85ccd Name the overlapping mount paths and fix new OCI review translations 2026-10-18 11:49:48 +02:00
MacRimi e3c9162982 Carry over OCI variables changed in Proxmox and keep the LXC update badge on old checks 2026-10-18 11:40:17 +02:00
MacRimi bef2f837c2 Merge remote-tracking branch 'origin/develop' into HEAD
# Conflicts:
#	.github/workflows/test-oci-registries.yml
2026-10-18 10:16:34 +02:00
MacRimi 7efb63c478 Merge remote-tracking branch 'origin/develop' into HEAD
# Conflicts:
#	.github/workflows/test-oci-registries.yml
2026-10-17 21:51:33 +02:00
MacRimi 7e458bae2e Merge remote-tracking branch 'origin/develop' into HEAD
# Conflicts:
#	.github/workflows/test-oci-registries.yml
2026-10-17 21:00:18 +02:00
MacRimiandGitHub 12ab5ae10a Merge pull request #496 from Vaso73/feature/oci-home-resolution-hardening
fix(oci): harden runtime HOME resolution
2026-10-17 20:55:56 +02:00
MacRimi e38c085e5f accept non-HTTP answers from guessed service ports 2026-10-17 20:47:24 +02:00
MacRimiandGitHub 4bce49eb46 Merge pull request #494 from jcastro/fix/oci-readonly-volume-preparation
fix(oci): preserve read-only volumes during recreation
2026-10-17 20:27:33 +02:00
MacRimi e938a25da3 fix(oci): keep Proxmox tags editable on native stack members
- Accept tag changes in the native stack check before recreate or update
- Keep identity and every other setting checked as before
- Add a regression test for the native stack check
2026-10-17 19:46:16 +02:00
Jonatan ac42bea70f Preserve Modify fallback and detached disks after native edits 2026-10-17 18:57:27 +02:00
Jonatan 1e97f732ac Avoid unnecessary probes while opening OCI menus 2026-10-17 18:48:33 +02:00
Jonatan b70e968f73 Apply OCI runtime settings to existing containers with recoverable edits 2026-10-17 17:11:27 +02:00
Jonatan d286b650d7 Keep native resource edits independent of OCI recreation checks 2026-10-17 17:11:26 +02:00
Jonatan 784ce13c14 Reuse OCI images and apply resource edits without rebuilding 2026-10-17 17:11:26 +02:00
Jonatan 2390257515 fix(oci): skip preparation of read-only volumes 2026-10-17 15:53:33 +02:00
Jonatan 3e1ae3c4ee Cache unchanged OCI config reads when opening Manage 2026-10-17 15:49:55 +02:00
VAIO73 b7b412b45d fix(oci): harden runtime HOME resolution 2026-10-17 11:23:38 +00:00
Jonatan 111593bc38 Fix OCI management after changing Proxmox tags 2026-10-17 12:48:02 +02:00
MacRimi 248ac5dec6 keep registry accounts for the whole cluster and use them everywhere
- Registry accounts are kept in /etc/pve/priv/proxmenux/registry-auth.json, shared by every node, unless REGISTRY_AUTH_FILE says otherwise
- The custom image importer offers to sign in when a registry refuses an image, and reads it again
- Installers, updates, the watchdog and the Monitor update check read private images with the saved accounts
- The host backup includes the accounts, and uninstalling ProxMenux removes them and keeps the OCI records of the cluster
- Spanish written by hand and spacing fixed for the registry account messages in every locale
- Docs: private registries section, Registry accounts in the OCI menu, README storage notes
2026-10-16 22:35:07 +02:00
MacRimi f17f87c94d fix(oci): FileBrowser Quantum opens the folder it is given 2026-10-12 13:00:55 +02:00
MacRimi 69b76116fd fix(oci): services show their address instead of a web link, and applications are not asked for their own 2026-10-11 15:57:05 +02:00
MacRimi d33b131c4d fix(oci): a new volume starts as the image has it
A container volume is filled with what the image holds at that path, with its owner and permissions, as Docker does with a new volume. It was only done for the recipes that asked for it. Images that run as a user of their own and do not take PUID, such as Node-RED or Grafana, find their data directory writable and start.
2026-10-11 13:26:23 +02:00
MacRimi 155cafcb73 fix(oci): a shared host directory shows what the host has mounted inside it 2026-10-10 20:52:52 +02:00
MacRimi c2936d4587 fix(oci): a shared host directory is recognised by its filesystem, not its device number 2026-10-09 21:00:33 +02:00
MacRimi 16ab9808ac fix(oci): the access prompt says what it grants, and two checks name what differs 2026-10-09 00:43:32 +02:00
MacRimi 66c621fe7a fix(oci): the access rule covers the container's root, and a shared volume is writable by its group 2026-10-08 22:57:37 +02:00
MacRimi abf436c352 feat(oci): offer access to an existing host directory and gather the file-sharing applications
feat(oci): offer access to a host directory that already exists
feat(oci): gather the file-sharing applications in Files & Sharing
fix(oci): ShareCoveX keeps its settings in a 1 GB volume, and the new translations are mended
2026-10-08 22:28:53 +02:00
MacRimi f5ad4072b5 feat(oci): update and modify every application, and keep its address
- The backup taken before an update or a modification is made on another
  storage when it does not fit on the system disk; an operation without
  room says so before anything is stopped.
- Privileged containers, relaxed AppArmor or seccomp, process limits, the
  host monitors Glances and Netdata and single-file host mounts are
  rebuilt and recovered like any other application.
- HAOS One installs the docker-haos image: port 8123, host time zone,
  unprivileged, watchdog proposed by default; it is updated and modified
  with Home Assistant's own check on the rebuilt container.
- A container that reboots itself gets its DHCP client back.
- The installer takes the address of the container's own interface, and
  the notes of a suite or stack container show its LAN address.
- Seerr installs: its volume belongs to the image user and
  no-new-privileges goes through the include of the container.
- Removing an application deletes its seccomp profile.
2026-10-08 17:14:36 +02:00
MacRimi f0d7d4f8f7 fix: more messages say only what is certain
- Host restore notification: reports its tasks and no longer calls the node fully ready.
- Watchdog notification: covers an application that did not start as well as one that stopped again.
- OCI: Modify summary, Immich recognition preview, private network kept by another guest, empty USB list.
- gzip diagnostic no longer says that nothing changed.

Source questions from the Italian review by @f3rs3n.
2026-10-07 07:35:10 +02:00
MacRimi 41ae752da1 feat(oci): watchdog that restarts an application when it stops on its own
- New service that starts again an OCI application that stopped on its own, such as Frigate after Save & Restart. A stop or shutdown asked by the user, a backup, a migration and a ProxMenux operation are never undone.
- The installer asks it in both modes and proposes what the recipe declares; it is changed from the management menu or with the Watchdog switch of the container modal in the Monitor.
- Notifications when the watchdog restarts an application and when it keeps stopping.
- The service is recorded in the change journal, and the feature is documented.
2026-10-06 23:18:26 +02:00
MacRimi 42c927ecfd feat(oci): a notification for Modify, and the documentation under the same name 2026-10-06 20:04:46 +02:00
MacRimi 3f75b94ea1 fix(oci): call the editing of an application Modify everywhere
- The option that edits an installed application is Modify for one container and for a multi-container application, in the OCI menu and on the Monitor button. Recreate is only the rebuild of a multi-container application as it is.
- A stack recreation says "Recreating" and "Recreated" in its steps instead of "Updating".
- The notes of the GPU, Coral, disk and share menus no longer name the option.
- Spanish for the new texts; the English copies of the stack texts are removed from de, fr, pt and sv so the bot translates them.
2026-10-06 19:42:30 +02:00
VAIO73 0cf62149fd fix(oci): preserve multi-arch digest during recreate 2026-10-06 18:22:42 +02:00
VAIO73 3b6615194f feat(oci): recreate coordinated stacks from saved state 2026-10-06 18:22:42 +02:00
MacRimi 85b88f709a fix: make messages say what was verified (source questions from the Italian review) 2026-10-06 17:08:18 +02:00
MacRimi 1f9d2acef5 feat(oci): recover applications after a Proxmox reinstall, cluster records and AMD GPU profiles
The installation record of an OCI application travels with its container:
a copy inside the container and another in /etc/pve, written together
with the one kept on the host. A container restored on a newly installed
Proxmox, restored with another ID or moved to another node of a cluster
is recognised and registered again, with its private network, hookscript,
Rclone mount, host firewall rule and NVIDIA runtime. The Monitor offers
the same recovery from the Updates tab.

AMD GPUs are offered by generation. A GPU the ROCm image supports takes
the profile as it is; one of a supported family (Radeon 680M, 780M) is an
experimental option that asks for confirmation and is never proposed; an
older one is not offered. The GPU is checked with a real inference before
the installation accepts it. Recreate changes what runs recognition in an
installed Immich, between the CPU and a GPU of the host.

Updates:
- A failed update that is restored and checked removes its temporary
  container and the disks of the failed attempt.
- Every container volume is part of the backups, so Jellyfin, Plex and
  Hugo update with their default installation.
- An image published with a Docker-format manifest is recognised by its
  layers and build time and updates.
- The Proxmox notes of a multi-container application link to its LAN
  address.
2026-10-04 20:32:17 +02:00
MacRimi 9b5cefb81a feat(oci): GPU selection per host and per image, one notification per update, and App tab for stack containers
- Immich asks what runs its video and its recognition in one menu, in both
  modes, and gives the GPU to the server and to Machine learning; AMD uses ROCm
- Frigate, Ollama, llama.cpp, Faster Whisper and Piper take the image built
  for the chosen GPU
- The acceleration menu offers only what the host can run
- An update or a recreation sends one notification with its result instead of
  the stop, backup and start of each container
- A private bridge with nothing connected is not reported as down
- Secondary containers of a stack appear in the App tab with their version and
  logo; Secure Gateway shows the same update state in both views
- A mistyped value in the wizard asks the same question again
2026-10-02 21:45:38 +02:00
MacRimi a4cb9936a5 feat(oci): Recreate for multi-container apps and CPU/memory in every advanced install 2026-10-01 19:39:01 +02:00
MacRimi d137bb3d31 fix(oci): accept the console start hook in the dynamic NVIDIA profile check 2026-09-30 22:41:51 +02:00
MacRimi c83f84398b fix(oci): keep every declared image data path on a volume so installs can be updated 2026-09-30 22:28:20 +02:00
VAIO73 4fd987fdd5 fix(oci): set HOME for native OCI runtime 2026-09-30 10:46:34 +02:00
MacRimi 135df4b2c5 feat(oci): coherent advanced installer flow, container creation progress and USB device list 2026-09-29 20:20:36 +02:00
VAIO73 e18ff82eea fix(oci): prepare managed volumes across stack installs 2026-09-29 19:44:42 +02:00
MacRimi 0ae601f5e7 fix(oci): remove everything an OCI installation leaves, and name cluster events 2026-09-28 22:31:00 +02:00