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.
This commit is contained in:
MacRimi
2026-10-04 20:32:17 +02:00
parent 7e9f16fdb3
commit 1f9d2acef5
67 changed files with 4464 additions and 126 deletions
+2 -2
View File
@@ -116,7 +116,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
},
@@ -132,7 +132,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
}
+2 -1
View File
@@ -117,7 +117,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 100
}
}
@@ -887,6 +887,7 @@
{
"id": "rocm",
"label": "AMD (VA-API and ROCm detection)",
"amd_gfx_targets": [100300, 110000, 110001, 110002, 110500, 110501, 120000, 120001],
"architectures": [
"amd64"
],
+2 -2
View File
@@ -87,7 +87,7 @@
],
"default": "managed-volume",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 8
}
}
@@ -190,7 +190,7 @@
"container_path": "/cache",
"mode": "managed-volume",
"user_selectable": false,
"backup": false,
"backup": true,
"shared_with_other_lxc": false,
"source_path": null,
"source_path_prompt": null
+5 -5
View File
@@ -366,7 +366,7 @@
"container_path": "/cache",
"mode": "managed-volume",
"user_selectable": false,
"backup": false,
"backup": true,
"shared_with_other_lxc": false,
"source_path": null,
"source_path_prompt": null
@@ -638,8 +638,8 @@
{
"pci_id": "1002:164c",
"gpu": "AMD Lucienne integrated graphics",
"reason": "Real buffalo_l inference caused SDMA/compute timeouts and repeated host GPU resets.",
"tested_on": "2026-08-26"
"reason": "The ROCm image carries no kernels for gfx90c: every inference aborts in rocBLAS. The installer reads the generation from the compute driver and keeps recognition on the CPU.",
"tested_on": "2026-10-03"
}
]
},
@@ -1208,8 +1208,8 @@
{
"pci_id": "1002:164c",
"gpu": "AMD Lucienne integrated graphics",
"reason": "Real buffalo_l inference caused SDMA/compute timeouts and repeated host GPU resets.",
"tested_on": "2026-08-26"
"reason": "The ROCm image carries no kernels for gfx90c: every inference aborts in rocBLAS. The installer reads the generation from the compute driver and keeps recognition on the CPU.",
"tested_on": "2026-10-03"
}
],
"warning": "Do not enable automatically on unsupported AMD integrated GPUs. HSA overrides are manual compatibility experiments, not a validated default."
+2 -2
View File
@@ -100,7 +100,7 @@
],
"default": "managed-volume",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 8
}
},
@@ -116,7 +116,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
}
+2 -2
View File
@@ -132,7 +132,7 @@
],
"default": "managed-volume",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 16
}
},
@@ -148,7 +148,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
}
+2 -2
View File
@@ -116,7 +116,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
},
@@ -132,7 +132,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
}
+2 -1
View File
@@ -117,7 +117,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 100
}
}
@@ -887,6 +887,7 @@
{
"id": "rocm",
"label": "AMD (VA-API and ROCm detection)",
"amd_gfx_targets": [100300, 110000, 110001, 110002, 110500, 110501, 120000, 120001],
"architectures": [
"amd64"
],
+5 -5
View File
@@ -366,7 +366,7 @@
"container_path": "/cache",
"mode": "managed-volume",
"user_selectable": false,
"backup": false,
"backup": true,
"shared_with_other_lxc": false,
"source_path": null,
"source_path_prompt": null
@@ -638,8 +638,8 @@
{
"pci_id": "1002:164c",
"gpu": "AMD Lucienne integrated graphics",
"reason": "Real buffalo_l inference caused SDMA/compute timeouts and repeated host GPU resets.",
"tested_on": "2026-08-26"
"reason": "The ROCm image carries no kernels for gfx90c: every inference aborts in rocBLAS. The installer reads the generation from the compute driver and keeps recognition on the CPU.",
"tested_on": "2026-10-03"
}
]
},
@@ -1208,8 +1208,8 @@
{
"pci_id": "1002:164c",
"gpu": "AMD Lucienne integrated graphics",
"reason": "Real buffalo_l inference caused SDMA/compute timeouts and repeated host GPU resets.",
"tested_on": "2026-08-26"
"reason": "The ROCm image carries no kernels for gfx90c: every inference aborts in rocBLAS. The installer reads the generation from the compute driver and keeps recognition on the CPU.",
"tested_on": "2026-10-03"
}
],
"warning": "Do not enable automatically on unsupported AMD integrated GPUs. HSA overrides are manual compatibility experiments, not a validated default."
+2 -2
View File
@@ -100,7 +100,7 @@
],
"default": "managed-volume",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 8
}
},
@@ -116,7 +116,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
}
+2 -2
View File
@@ -132,7 +132,7 @@
],
"default": "managed-volume",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 16
}
},
@@ -148,7 +148,7 @@
],
"default": "host-bind",
"managed_volume": {
"backup": false,
"backup": true,
"default_size_gb": 32
}
}