mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-09-30 02:26:53 +00:00
Adds the OCI manager: an engine that turns a Docker Compose file into an LXC definition, a catalog of 365 applications drawn from LinuxServer.io and other container image sources, and a per-instance registry recording what each container was built from. Reachable from the main menu. Catalog text is translated like every other string in the project: the taglines go through translate() and land in lang/*.json, so the entries read in all eight languages instead of only English. Translation cache builder: - a failed translation leaves the key absent rather than writing English, which previously made the string count as translated forever - a result identical to a 3+ word source is rejected, catching a provider that silently returns the text it was given - strings that are nothing but glossary terms keep their source spelling instead of being discarded as failures - no backoff between attempts when the provider is deterministic - application names are protected so "HAOS One" survives translation - argos joins the provider list, and the workflow reads the OCI sources Audit & Report: - findings that moved in the wrong direction between runs are reported alongside the ones that improved - an accepted risk can carry a review date and is flagged when it falls due - backup checks explain in plain language what they looked at and what to do next Monitor: - disks can be excluded from periodic reads, and an idle disk says so instead of showing a stale temperature - per-disk identity survives a controller or enclosure change - scheduled Borg backups resolve their SSH key from the repository entry - PVE upgrades log the package list and the resulting dpkg changes The web build no longer copies scripts/ into public/: the documentation links to GitHub, so nothing read that folder. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
59 lines
1.8 KiB
JSON
59 lines
1.8 KiB
JSON
{
|
|
"catalog_ui": {
|
|
"launch": {"scheme": "http", "port": 32400, "path": "/web"}
|
|
},
|
|
"container_contract": {
|
|
"ports": [{
|
|
"container_port": 32400,
|
|
"published_example": 32400,
|
|
"protocol": "tcp",
|
|
"required": true,
|
|
"proxmox_behavior": "listener-on-dedicated-lxc-address-no-nat"
|
|
}]
|
|
},
|
|
"first_run": {
|
|
"endpoints": [{
|
|
"label": "Plex WebUI",
|
|
"scheme": "http",
|
|
"port": 32400,
|
|
"path": "/web",
|
|
"source": "linuxserver-application-setup"
|
|
}]
|
|
},
|
|
"proxmox": {
|
|
"deployment_profile": {
|
|
"variant": "hardware-selectable",
|
|
"gpu_passthrough": "installer-selection"
|
|
},
|
|
"installer_profile": {
|
|
"hardware_acceleration": {
|
|
"prompt": "Hardware acceleration for Plex",
|
|
"default": "none",
|
|
"profiles": [
|
|
{"id": "none", "label": "No acceleration (CPU)", "device_requests": []},
|
|
{
|
|
"id": "vaapi",
|
|
"label": "Intel/AMD (VA-API)",
|
|
"environment_from_devices": {"ATTACHED_DEVICES_PERMS": ["vaapi-render"]},
|
|
"device_requests": [{
|
|
"id": "vaapi-render", "kind": "character-device", "purpose": "vaapi",
|
|
"path_prompt": "GPU render device", "host_path_default": "/dev/dri/renderD128",
|
|
"container_path_strategy": "same-as-host", "mode": "0660", "deny_write": false,
|
|
"gid_strategy": "host-device-gid"
|
|
}]
|
|
},
|
|
{
|
|
"id": "nvidia",
|
|
"label": "NVIDIA (NVENC/NVDEC)",
|
|
"device_requests": [{
|
|
"id": "nvidia-runtime", "kind": "nvidia-runtime",
|
|
"purpose": "nvidia-cuda-nvenc-nvdec", "device_selection": "all-requested-by-compose"
|
|
}],
|
|
"environment": [{"name": "NVIDIA_VISIBLE_DEVICES", "value": "all"}]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|