\n
\n
\n {{ vm.name }}\n
\n
\n \n \n {{ vmStatus(vm) }}\n \n
\n
{{ vm.status !== 'stopped' ? shortUptime(vm.uptime) : '-' }}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
VM ID\n
\n
{{ vm.id }}\n
\n
\n
\n
\n
Instance ID\n
\n
{{ vm.instance_id }}\n
\n
\n
-\n
\n
\n
App ID\n
\n
{{ vm.app_id }}\n
\n
\n
-\n
\n
\n Image\n {{ vm.configuration?.image }}\n
\n
\n vCPUs\n {{ vm.configuration?.vcpu }}\n
\n
\n Memory\n {{ formatMemory(vm.configuration?.memory) }}\n
\n
\n Swap\n {{ formatMemory(bytesToMB(vm.configuration.swap_size)) }}\n
\n
\n Disk Size\n {{ vm.configuration?.disk_size }} GB\n
\n
\n Disk Type\n {{ vm.configuration?.disk_type || 'virtio-pci' }}\n
\n
\n TEE\n {{ vm.configuration?.no_tee ? 'Disabled' : 'Enabled' }}\n
\n
\n
GPUs\n
\n \n All GPUs\n \n
\n
\n \n {{ gpu.slot || gpu.product_id || ('GPU #' + (index + 1)) }}\n \n
\n
\n None\n
\n
\n
\n\n
\n
Port Mappings
\n
\n {{ port.host_address === '127.0.0.1' ? 'Local' : 'Public' }}\n {{ port.protocol.toUpperCase() }}: {{ port.host_port }} → {{ port.vm_port }}\n
\n
\n\n
\n
Features
\n {{ getVmFeatures(vm) }}\n \n\n
\n
Network Interfaces
\n
\n
\n \n
\n
\n MAC Address\n {{ iface.mac || '-' }}\n
\n
\n IP Address\n {{ iface.addresses.map(addr => addr.address + '/' + addr.prefix).join(', ') || '-' }}\n
\n
\n
\n
\n
\n RX\n {{ iface.rx_bytes }} bytes\n 0\">({{ iface.rx_errors }} errors)\n
\n
\n
\n
\n
\n TX\n {{ iface.tx_bytes }} bytes\n 0\">({{ iface.tx_errors }} errors)\n
\n
\n
\n
\n
\n
\n
\n
\n \n WireGuard Info\n
\n
{{ networkInfo[vm.id].wg_info }}\n
\n
\n\n
\n \n
\n
{{ vm.appCompose?.docker_compose_file || 'Docker Compose content not available' }}\n
\n
\n\n
\n \n
{{ vm.configuration.user_config }}\n
\n\n
\n \n \n \n
\n