"en_US":"VS Code is an integrated development environment developed by Microsoft. This container runs the full desktop application, for a web native version see Code Server."
},
"description":{
"en_US":"VS Code is an integrated development environment developed by Microsoft. This container runs the full desktop application, for a web native version see Code Server."
"native_lxc_behavior":"ProxMenux merges the same values into lxc.environment.runtime while the CT is stopped.",
"reason":"PVE imports image Env automatically; Compose values still need to override it.",
"behavioral_impact":"None expected.",
"validation":"pending-per-application"
},
{
"id":"stop-grace-period",
"upstream_behavior":"Docker waits for Compose stop_grace_period before forcing termination.",
"native_lxc_behavior":"ProxMenux records the same timeout for its pct shutdown lifecycle operations.",
"reason":"Proxmox has no equivalent per-CT persistent restart-policy field; startup.down is not a shutdown timeout.",
"behavioral_impact":"Normal Proxmox node shutdown remains governed by the node-wide shutdown policy.",
"validation":"not-requested-by-compose"
},
{
"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":"pending-per-application"
},
{
"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-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-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.",
"validation":"pending-per-application"
},
{
"id":"docker-engine-metadata",
"upstream_behavior":"Compose labels annotate Docker objects and the json-file logging driver rotates Docker-managed logs.",
"native_lxc_behavior":"Labels remain source metadata; Docker json-file settings are not applied because the OCI process runs directly under LXC.",
"reason":"There is no Docker object or Docker json-file log behind a native OCI-LXC application.",
"behavioral_impact":"Docker-only label consumers and Docker log-driver rotation do not exist in the native deployment.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-device-passthrough",
"upstream_behavior":"Compose passes host character devices or requests an NVIDIA runtime GPU.",
"native_lxc_behavior":"ProxMenux converts recognized device declarations to native Proxmox dev resources; NVIDIA profiles also inject compatible host driver libraries read-only.",
"reason":"Native OCI-LXC does not execute Docker device or NVIDIA runtime hooks.",
"behavioral_impact":"Hardware is exposed only after explicit user confirmation and host-path validation.",
"validation":"not-requested-by-compose"
},
{
"id":"compose-host-ipc",
"upstream_behavior":"ipc: host shares the Docker host IPC namespace, commonly to avoid Docker's small default shared-memory allocation.",
"native_lxc_behavior":"The application keeps the LXC IPC namespace and receives a configurable 1 GiB /dev/shm instead of sharing Proxmox host IPC.",
"reason":"Processes in a single native LXC already share one IPC namespace; retaining isolation is safer than exposing host IPC.",
"behavioral_impact":"The application cannot exchange IPC objects with processes on the Proxmox host.",
"validation":"not-requested-by-compose"
}
]
},
"compatibility":{
"automatic_install_candidate":true,
"validated":false,
"supported_compose_keys":[
"cap_add",
"command",
"container_name",
"cpu_shares",
"devices",
"entrypoint",
"environment",
"extra_hosts",
"healthcheck",
"hostname",
"image",
"init",
"ipc",
"labels",
"logging",
"mac_address",
"network_mode",
"networks",
"ports",
"privileged",
"restart",
"runtime",
"shm_size",
"stdin_open",
"stop_grace_period",
"sysctls",
"tty",
"user",
"volumes",
"working_dir"
],
"untranslated_blockers":[],
"policy":"A generated template is never promoted to validated without install, health, restart and persistence tests."