Files
ProxMenux/oci/catalog/overlays/plex.json
T
MacRimiandClaude Opus 5 bcabcb618c feat(oci): run official container images as native LXC containers
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>
2026-09-22 18:24:59 +02:00

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"}]
}
]
}
}
}
}