"en_US":"Health dashboards and endpoint monitoring."
},
"description":{
"en_US":"Monitor HTTP endpoints and display their status in a lightweight dashboard. The profile supplies a minimal configuration, stores history in SQLite and checks the local Gatus page."
"Edit config.yaml in the /config volume to add the endpoints you want to monitor; choose a host directory for /config to edit it from the host. This profile stores the status history in /data/gatus.db."
"upstream_behavior":"The source definition deploys the complete Docker Compose application model.",
"native_lxc_behavior":"The source model is preserved and remains blocked until every service option has a reviewed native Proxmox mapping.",
"reason":"Catalog import must not imply runtime compatibility.",
"behavioral_impact":"No automatic installation before review.",
"validation":"pending-per-application"
},
{
"id":"rolling-latest-image",
"upstream_behavior":"A discovered Compose may pin a release tag or digest.",
"native_lxc_behavior":"ProxMenux selects the same image repository with the latest tag for catalog installations.",
"reason":"The automatic catalog intentionally offers rolling latest images; pinned versions belong to the future manual installer.",
"behavioral_impact":"The installed release can be newer than the discovered Compose revision.",
"validation":"pending-per-application"
},
{
"id":"dedicated-lxc-network",
"upstream_behavior":"Docker publishes selected container ports on the Docker host.",
"native_lxc_behavior":"A reviewed native application will listen on its original container ports at a dedicated LXC address.",
"reason":"A native LXC has its own address and does not require Docker port NAT.",
"behavioral_impact":"Published ports are metadata; ProxMenux URLs use the matching container target port.",
"validation":"pending-per-application"
},
{
"id":"compose-shm-size",
"upstream_behavior":"Compose sets the size of the container /dev/shm tmpfs.",
"native_lxc_behavior":"ProxMenux mounts a native LXC tmpfs at /dev/shm with the same requested capacity.",
"reason":"The OCI image runs directly as an LXC and therefore needs the equivalent Proxmox mount entry.",
"behavioral_impact":"None expected.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-command",
"upstream_behavior":"Compose replaces the image Cmd while retaining its Entrypoint.",
"native_lxc_behavior":"ProxMenux reads the official OCI Entrypoint and combines it with the Compose command as the native LXC init command.",
"reason":"Proxmox stores the effective OCI process as one entrypoint string.",
"behavioral_impact":"None expected.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-privileged-mode",
"upstream_behavior":"Compose selects whether the container runs in privileged mode.",
"native_lxc_behavior":"ProxMenux keeps the LXC unprivileged by default and exposes the broad Compose privilege request only as an explicit compatibility option.",
"reason":"A Compose privilege request is source metadata, not proof that the image technically requires a privileged LXC.",
"behavioral_impact":"A privileged LXC has weaker isolation from the Proxmox host.",
"validation":"native-equivalent"
},
{
"id":"compose-process-runtime",
"upstream_behavior":"Compose can replace Entrypoint, User and WorkingDir and request an init process or interactive terminal.",
"native_lxc_behavior":"ProxMenux applies the process overrides through native LXC init directives; lxc-init provides PID 1 supervision and the CT console provides terminal access.",
"reason":"The OCI process must start with the same identity, command and working directory without Docker.",
"behavioral_impact":"Compose stdin_open and tty become access through the Proxmox LXC console.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-healthcheck",
"upstream_behavior":"Docker periodically executes the declared container healthcheck.",
"native_lxc_behavior":"For a single-service LXC, ProxMenux translates HTTP localhost checks into a mandatory first-start service check.",
"reason":"Proxmox has no persistent Docker health state, while the installer still must detect a failed first boot.",
"behavioral_impact":"The check runs during installation rather than continuously after installation.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-cpu-priority",
"upstream_behavior":"Docker cpu_shares sets a relative scheduling weight with 1024 as its neutral value.",
"native_lxc_behavior":"ProxMenux converts the relative weight to Proxmox cpuunits with 100 as its neutral value and lets the user review it.",
"reason":"Both settings express relative CPU priority on different scales.",
"behavioral_impact":"Rounding and Proxmox minimum limits can slightly change very low weights.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-resource-limits",
"upstream_behavior":"mem_limit sets the memory ceiling; ulimits sets process soft/hard resource limits.",
"native_lxc_behavior":"mem_limit supplies the editable Proxmox memory default, rounded up to MiB; ulimits maps to lxc.prlimit with -1 represented as unlimited.",
"reason":"Use native Proxmox memory and LXC prlimits, without a wrapper or changing the host kernel configuration.",
"behavioral_impact":"User-selected memory overrides Compose. Swap is a separate choice. Kernel restrictions still apply; nproc counts processes by real UID, not by container.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-network-identity",
"upstream_behavior":"Compose can set hostname, MAC address, extra hosts and attach a service to Docker networks.",
"native_lxc_behavior":"ProxMenux applies hostname and MAC to net0, writes additional host aliases into the LXC and uses its dedicated bridge connection for single-service networks.",
"reason":"A dedicated LXC has its own network namespace and does not need a Docker bridge per service.",
"behavioral_impact":"host-gateway resolves to the IPv4 address of the selected Proxmox bridge.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-network-mode",
"upstream_behavior":"Docker host mode removes Docker network isolation; bridge and default use a Docker-managed network.",
"native_lxc_behavior":"The OCI process uses the dedicated LXC network namespace directly, so host, bridge and default all listen on the LXC address without Docker NAT.",
"reason":"The LXC is the application host and already has its own address and port namespace.",
"behavioral_impact":"host means the LXC host, never the Proxmox host; this preserves Proxmox network isolation.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-capabilities-and-sysctls",
"upstream_behavior":"Compose can add Linux capabilities and set kernel parameters in the container network namespace.",
"native_lxc_behavior":"ProxMenux validates requested capabilities against the native LXC capability set and writes namespaced network settings as lxc.sysctl directives.",
"reason":"A native OCI-LXC already starts with the namespaced capability set; lxc.cap.keep would incorrectly discard unrelated required capabilities.",
"behavioral_impact":"Host-global capabilities such as SYS_MODULE remain blocked until their host prerequisite is explicitly adapted.",
"policy":"Single-image definitions are installable when every declared Compose option has a native Proxmox translation. Multi-image and unsupported runtime features remain blocked until their orchestrator or mapping is available."