"p1":"The <strong>App</strong> tab records which applications belong to an LXC. A registration can contain only a name and web link, or also include an installed-version detector and an upstream source.",
"p2":"The procedure that changes software is configured separately on the <link>Updates tab</link>. Saving an app never runs an installer or updater.",
"callout":"Registration, version tracking and updating are three independent capabilities. Any one can be used without requiring the other two.",
"dashboardTitle":"From registration to the Apps launcher",
"dashboard":"Every Web Link saved here is also presented as a card in the top-level <appsLink>Apps tab</appsLink>. This LXC page remains the source of truth for the application's name, logo, links and version tracking."
"One or more clickable web links built from the LXC address, scheme and saved port.",
"An optional detector for the version currently installed inside the LXC.",
"An optional GitHub, HTTP JSON or Docker Hub source for the latest available version.",
"Per-application release notifications and update-counter inclusion preferences.",
"A corresponding section on the Updates tab, even when version tracking is disabled."
]
},
"discovery":{
"heading":"Cached discovery and Find applications",
"lead":"Application suggestions are part of the per-LXC modal cache. The startup scan prepares them in the background so opening the App tab can show cached results immediately.",
"items":[
"Opening the App tab does <strong>not</strong> start a new catalog scan and does not repeatedly query the LXC.",
"<strong>Find applications</strong> explicitly runs a fresh discovery pass for that LXC. Use it after installing new software while ProxMenux is already running.",
"The previous list remains visible while the explicit scan runs. New matches are added when it finishes.",
"If no new match is found, the result is stated beside the actions and <strong>Register application</strong> remains available for manual entry.",
"Saving, removing or restoring an app updates the same cache immediately. Starting or restoring an LXC refreshes only that guest through its existing lifecycle event."
"Press <strong>Register</strong> on a suggestion or <strong>Register application</strong> to choose from the catalog or enter a custom name.",
"Review the name and logo proposed by the catalog.",
"Add the required web links. Detected listening ports are offered as shortcuts, but none is saved automatically.",
"Leave <strong>Track upstream version</strong> disabled for a link-only record, or enable it and review the installed-version detector and upstream source.",
"Use <strong>Test detector</strong> when tracking is enabled, then save the record.",
"Press <strong>Done</strong> after editing. The App and Updates tabs reuse the updated cached record."
"lead":"The catalog supplies defaults, but the saved record remains editable.",
"items":[
"Search results can prefill the canonical name, logo and common web ports.",
"Known version detectors are based on real package names, binaries, files, Python distributions, OCI labels or commands rather than a universal <code>/root/.app</code> assumption.",
"Verified runtime overrides take precedence when an installation uses a path that differs from its installer metadata.",
"Proxmox VE Helper-Scripts markers such as <code>/root/.slug</code> remain one compatibility signal for newer helper installations, not the only detector.",
"Every proposed value can be edited before saving to cover official installers and manual installations."
"callout":"This structure prevents a Docker workload from looking like software installed directly in the LXC while preserving quick links to its interfaces."
"<strong>GitHub repository</strong>: latest release or tag from a public <code>owner/name</code> repository.",
"<strong>HTTP JSON</strong>: a public endpoint plus a dotted path such as <code>data.version</code> or <code>releases[0].tag_name</code>.",
"<strong>Docker Hub</strong>: versioned tags filtered by a regular expression. A live preview shows real matching tags before the record is saved.",
"Moving tags such as <code>latest</code>, <code>stable</code> or <code>lts</code> do not contain a version. Track those images by digest from Docker image updates instead."
"regexCallout":"A successful regex match is not proof that the detector path is correct. The path or package must also exist in the real installation being registered."
{"state":"Update available","display":"Available version in purple with an upward-arrow icon","meaning":"The installed and upstream versions differ."},
{"state":"Current","display":"Installed and latest versions without the purple alert","meaning":"The last check found no newer upstream version."},
{"state":"Tracking pending","display":"Checking or pending state","meaning":"The record is configured but has not completed both checks yet."},
{"state":"Tracking disabled","display":"Web links only; no version comparison block","meaning":"The record remains valid and can still have an updater."},
{"state":"Check error","display":"Amber explanation inside the card","meaning":"The previous saved state remains visible while the detector or upstream error is reported."}
]
},
"management":{
"heading":"Managing saved and suggested apps",
"lead":"The actions at the bottom of the tab have distinct roles:",
{"problem":"Software was installed after ProxMenux started","resolution":"Press Find applications. The explicit scan updates cached suggestions for that LXC."},
{"problem":"No application was detected","resolution":"Register it manually. A name and one web link are sufficient; tracking can be added later."},
{"problem":"The suggested detector returns the wrong version","resolution":"Open Edit fields, select the real package, binary or file path and test the detector before saving."},
{"problem":"A Docker workload is not offered as an LXC app","resolution":"Register Docker and add the workload's published interface as a Docker web link. Image updates remain in the Docker section."},
{"problem":"A saved app has no update button","resolution":"Open the Updates tab and configure its update method. Version tracking alone does not define how an update is installed."}