[GH-ISSUE #357] Container Control treats LXC as VM (Error: unable to find configuration file for VM <ID>) #109

Closed
opened 2026-02-26 12:40:12 +03:00 by kerem · 1 comment
Owner

Originally created by @CANTI-BOT on GitHub (Nov 29, 2025).
Original GitHub issue: https://github.com/community-scripts/ProxmoxVE-Local/issues/357

Have you read and understood the above guidelines?

yes

📝 Provide a clear and concise description of the issue.


Describe the bug

After updating / reinstalling PVE Scripts Local to the latest version, the
Container Control feature fails to stop an LXC container and returns:

Error: unable to find configuration file for VM 25021 on node '<NODE_1>'

The affected container is a Community Scripts LXC with proper tags: community-script;...
set and is fully manageable via pct on the Proxmox node. The error only occurs when
trying to control it from the PVE Scripts Local web UI, and it matches the error Proxmox
returns when you run qm against a non-existent VM.

This looks like the app is calling the VM / qm path instead of the LXC / pct path for
containers.


Environment

PVE Scripts Local

  • Version: v0.5.0 (fresh install after reading the “breaking changes” note)
  • Install method: helper script pve-scripts-local.sh (LXC container named pvescriptslocal)
  • Service: pvescriptslocal.service

Proxmox VE

  • Node: <NODE_1>
  • Kernel:
Linux <NODE_1> 6.17.2-1-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.2-1 (2025-10-21T11:55Z) x86_64
  • Cluster:
root@<NODE_1>:~# pvecm status
Cluster information
-------------------
Name:             <CLUSTER_NAME>
Config Version:   3
Transport:        knet
Secure auth:      on

Quorum information
------------------
Nodes:            3
Quorate:          Yes

Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 <NODE_1_IP> (local)
0x00000002          1 <NODE_2_IP>
0x00000003          1 <NODE_3_IP>

Affected container

  • ID: 25021
  • Name: <CT_HOSTNAME> (Nginx Proxy Manager)
  • Created via: Community Scripts Nginx Proxy Manager LXC script
  • Type: LXC (config under /etc/pve/lxc/25021.conf)
  • Tags: community-script;proxy

🔄 Steps to reproduce the issue.

Steps to reproduce

  1. Deploy an Nginx Proxy Manager LXC via the Community Scripts helper script.

  2. Install / update PVE Scripts Local to v0.5.0 using pve-scripts-local.sh in a
    dedicated LXC (pvescriptslocal).

  3. In PVE Scripts Local web UI, add <NODE_1> as a server:

    • SSH user: root
    • Host: <NODE_1_IP>
    • Auth: SSH key
    • “Test host connection” → successful.
  4. Ensure container 25021 is running on <NODE_1> and has the correct tags:

    root@<NODE_1>:~# pct config 25021 | grep -i ^tags
    tags: community-script;proxy
    
  5. In the PVE Scripts Local UI, open the section where installed scripts / containers
    are listed and click Stop on the entry corresponding to CT 25021.


Expected behavior

PVE Scripts Local should execute something equivalent to:

pct stop 25021

via SSH on <NODE_1>, and the container should stop successfully.


Paste the full error output (if available).

Actual behavior

From the Proxmox side, a task is created that fails with:

TASK ERROR: unable to find configuration file for VM 25021 on node '<NODE_1>'

From the pvescriptslocal container, journalctl shows:

Nov 29 06:31:49 pvescriptslocal npm[277]: Error in controlContainer: Error: unable to find configuration file for VM 25021 on node '<NODE_1>'
Nov 29 06:31:49 pvescriptslocal npm[277]:     at <unknown> (.next/server/app/api/trpc/[trpc]/route.js:8:51134)
Nov 29 06:31:49 pvescriptslocal npm[277]:     at <unknown> (.next/server/app/api/trpc/[trpc]/route.js:17:22458)

This is the same message Proxmox returns when you run qm against an ID that only
exists as an LXC.


🖼️ Additional context (optional).

Proof that the container exists and is healthy (on <NODE_1>)

root@<NODE_1>:~# ls -l /etc/pve/lxc/25021.conf
-rw-r----- 1 root www-data 1846 Nov 29 05:50 /etc/pve/lxc/25021.conf

root@<NODE_1>:~# pct config 25021
arch: amd64
cores: 2
description: <div align='center'>%0A  <a href='https%3A//Helper-Scripts.com' target='_blank' rel='noopener noreferrer'>%0A    <img src='https%3A//raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo-81x112.png' alt='Logo' style='width%3A81px;height%3A112px;'/>%0A  </a>%0A%0A  <h2 style='font-size%3A 24px; margin%3A 20px 0;'>Nginx Proxy Manager LXC</h2>%0A%0A  <p style='margin%3A 16px 0;'>%0A    <a href='https%3A//ko-fi.com/community_scripts' target='_blank' rel='noopener noreferrer'>%0A      <img src='https%3A//img.shields.io/badge/&#x2615;-Buy us a coffee-blue' alt='spend Coffee' />%0A    </a>%0A  </p>%0A%0A  <span style='margin%3A 0 10px;'>%0A    <i class="fa fa-github fa-fw" style="color%3A #f5f5f5;"></i>%0A    <a href='https%3A//github.com/community-scripts/ProxmoxVE' target='_blank' rel='noopener noreferrer' style='text-decoration%3A none; color%3A #00617f;'>GitHub</a>%0A  </span>%0A  <span style='margin%3A 0 10px;'>%0A    <i class="fa fa-comments fa-fw" style="color%3A #f5f5f5;"></i>%0A    <a href='https%3A//github.com/community-scripts/ProxmoxVE/discussions' target='_blank' rel='noopener noreferrer' style='text-decoration%3A none; color%3A #00617f;'>Discussions</a>%0A  </span>%0A  <span style='margin%3A 0 10px;'>%0A    <i class="fa fa-exclamation-circle fa-fw" style="color%3A #f5f5f5;"></i>%0A    <a href='https%3A//github.com/community-scripts/ProxmoxVE/issues' target='_blank' rel='noopener noreferrer' style='text-decoration%3A none; color%3A #00617f;'>Issues</a>%0A  </span>%0A</div>%0A
features: keyctl=1,nesting=1
hostname: <CT_HOSTNAME>
memory: 2048
nameserver: <DNS_IP>
net0: name=eth0,bridge=vmbr0,hwaddr=<MAC_ADDR>,ip=dhcp,mtu=1500,tag=135,type=veth
onboot: 1
ostype: debian
rootfs: <STORAGE_POOL>:vm-25021-disk-0,size=8G
searchdomain: <INTERNAL_DOMAIN>
swap: 512
tags: community-script;proxy
unprivileged: 1

root@<NODE_1>:~# pct status 25021
status: running

root@<NODE_1>:~# pct stop 25021
# (stops successfully, no error)

root@<NODE_1>:~# pct start 25021
# (starts successfully, no error)

If I deliberately run the VM command on this ID, I get the same error string that
PVE Scripts Local is surfacing:

root@<NODE_1>:~# qm status 25021
Configuration file 'nodes/<NODE_1>/qemu-server/25021.conf' does not exist

So Proxmox itself is behaving correctly:

  • CT 25021 exists and is fully manageable via pct.
  • There is no VM 25021 under /etc/pve/qemu-server.

This strongly suggests that controlContainer is using the VM / qm path instead of
the LXC / pct path when it tries to act on container 25021.


PVE Scripts Local service status

root@pvescriptslocal:~# systemctl status pvescriptslocal
● pvescriptslocal.service - PVEScriptslocal Service
     Loaded: loaded (/etc/systemd/system/pvescriptslocal.service; enabled; preset: enabled)
     Active: active (running) since Fri 2025-11-28 22:29:46 CST; 7h ago
   Main PID: 89 (npm start)
      Tasks: 30 (limit: 57152)
     Memory: 421.1M (peak: 438.9M)
        CPU: 27.627s
     CGroup: /system.slice/pvescriptslocal.service
             ├─ 89 "npm start"
             ├─268 sh -c "node --import tsx server.js"
             ├─277 node --import tsx server.js"
             └─316 /opt/ProxmoxVE-Local/node_modules/@esbuild/linux-x64/bin/esbuild --service=0.25.12 --ping

After the upgrade/reinstall, the auto-detect / installed scripts view also stopped
showing my existing helper-script containers, even though they have
tags: community-script;... set. It may be the same underlying issue (type mis-detected
as VM instead of CT), but I haven't dug into the DB to confirm.


Summary / suspicion

  • The LXC container (25021) exists and is fine.
  • Proxmox is only complaining when VM/qm operations are attempted on that ID.
  • PVE Scripts Local surfaces the VM error message inside controlContainer.

It looks like controlContainer is using the VM path for containers instead of the LXC
path in this release. Happy to run any additional debug commands or test a patched
build if that helps.

Originally created by @CANTI-BOT on GitHub (Nov 29, 2025). Original GitHub issue: https://github.com/community-scripts/ProxmoxVE-Local/issues/357 ### ✅ Have you read and understood the above guidelines? yes ### 📝 Provide a clear and concise description of the issue. --- ### Describe the bug After updating / reinstalling PVE Scripts Local to the latest version, the **Container Control** feature fails to stop an LXC container and returns: `Error: unable to find configuration file for VM 25021 on node '<NODE_1>'` The affected container is a Community Scripts LXC with proper `tags: community-script;...` set and is fully manageable via `pct` on the Proxmox node. The error only occurs when trying to control it from the PVE Scripts Local web UI, and it matches the error Proxmox returns when you run `qm` against a non-existent VM. This looks like the app is calling the VM / `qm` path instead of the LXC / `pct` path for containers. --- ### Environment #### PVE Scripts Local - Version: `v0.5.0` (fresh install after reading the “breaking changes” note) - Install method: helper script `pve-scripts-local.sh` (LXC container named `pvescriptslocal`) - Service: `pvescriptslocal.service` #### Proxmox VE - Node: `<NODE_1>` - Kernel: ```text Linux <NODE_1> 6.17.2-1-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.2-1 (2025-10-21T11:55Z) x86_64 ``` - Cluster: ```bash root@<NODE_1>:~# pvecm status Cluster information ------------------- Name: <CLUSTER_NAME> Config Version: 3 Transport: knet Secure auth: on Quorum information ------------------ Nodes: 3 Quorate: Yes Membership information ---------------------- Nodeid Votes Name 0x00000001 1 <NODE_1_IP> (local) 0x00000002 1 <NODE_2_IP> 0x00000003 1 <NODE_3_IP> ``` #### Affected container - ID: `25021` - Name: `<CT_HOSTNAME>` (Nginx Proxy Manager) - Created via: Community Scripts Nginx Proxy Manager LXC script - Type: LXC (config under `/etc/pve/lxc/25021.conf`) - Tags: `community-script;proxy` --- ### 🔄 Steps to reproduce the issue. ### Steps to reproduce 1. Deploy an Nginx Proxy Manager LXC via the Community Scripts helper script. 2. Install / update PVE Scripts Local to `v0.5.0` using `pve-scripts-local.sh` in a dedicated LXC (`pvescriptslocal`). 3. In PVE Scripts Local web UI, add `<NODE_1>` as a server: - SSH user: `root` - Host: `<NODE_1_IP>` - Auth: SSH key - “Test host connection” → **successful**. 4. Ensure container `25021` is running on `<NODE_1>` and has the correct tags: ```bash root@<NODE_1>:~# pct config 25021 | grep -i ^tags tags: community-script;proxy ``` 5. In the PVE Scripts Local UI, open the section where installed scripts / containers are listed and click **Stop** on the entry corresponding to CT `25021`. --- ### Expected behavior PVE Scripts Local should execute something equivalent to: ```bash pct stop 25021 ``` via SSH on `<NODE_1>`, and the container should stop successfully. --- ### ❌ Paste the full error output (if available). ### Actual behavior From the Proxmox side, a task is created that fails with: ```text TASK ERROR: unable to find configuration file for VM 25021 on node '<NODE_1>' ``` From the `pvescriptslocal` container, `journalctl` shows: ```text Nov 29 06:31:49 pvescriptslocal npm[277]: Error in controlContainer: Error: unable to find configuration file for VM 25021 on node '<NODE_1>' Nov 29 06:31:49 pvescriptslocal npm[277]: at <unknown> (.next/server/app/api/trpc/[trpc]/route.js:8:51134) Nov 29 06:31:49 pvescriptslocal npm[277]: at <unknown> (.next/server/app/api/trpc/[trpc]/route.js:17:22458) ``` This is the same message Proxmox returns when you run `qm` against an ID that only exists as an LXC. --- ### 🖼️ Additional context (optional). ### Proof that the container exists and is healthy (on `<NODE_1>`) ```bash root@<NODE_1>:~# ls -l /etc/pve/lxc/25021.conf -rw-r----- 1 root www-data 1846 Nov 29 05:50 /etc/pve/lxc/25021.conf root@<NODE_1>:~# pct config 25021 arch: amd64 cores: 2 description: <div align='center'>%0A <a href='https%3A//Helper-Scripts.com' target='_blank' rel='noopener noreferrer'>%0A <img src='https%3A//raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo-81x112.png' alt='Logo' style='width%3A81px;height%3A112px;'/>%0A </a>%0A%0A <h2 style='font-size%3A 24px; margin%3A 20px 0;'>Nginx Proxy Manager LXC</h2>%0A%0A <p style='margin%3A 16px 0;'>%0A <a href='https%3A//ko-fi.com/community_scripts' target='_blank' rel='noopener noreferrer'>%0A <img src='https%3A//img.shields.io/badge/&#x2615;-Buy us a coffee-blue' alt='spend Coffee' />%0A </a>%0A </p>%0A%0A <span style='margin%3A 0 10px;'>%0A <i class="fa fa-github fa-fw" style="color%3A #f5f5f5;"></i>%0A <a href='https%3A//github.com/community-scripts/ProxmoxVE' target='_blank' rel='noopener noreferrer' style='text-decoration%3A none; color%3A #00617f;'>GitHub</a>%0A </span>%0A <span style='margin%3A 0 10px;'>%0A <i class="fa fa-comments fa-fw" style="color%3A #f5f5f5;"></i>%0A <a href='https%3A//github.com/community-scripts/ProxmoxVE/discussions' target='_blank' rel='noopener noreferrer' style='text-decoration%3A none; color%3A #00617f;'>Discussions</a>%0A </span>%0A <span style='margin%3A 0 10px;'>%0A <i class="fa fa-exclamation-circle fa-fw" style="color%3A #f5f5f5;"></i>%0A <a href='https%3A//github.com/community-scripts/ProxmoxVE/issues' target='_blank' rel='noopener noreferrer' style='text-decoration%3A none; color%3A #00617f;'>Issues</a>%0A </span>%0A</div>%0A features: keyctl=1,nesting=1 hostname: <CT_HOSTNAME> memory: 2048 nameserver: <DNS_IP> net0: name=eth0,bridge=vmbr0,hwaddr=<MAC_ADDR>,ip=dhcp,mtu=1500,tag=135,type=veth onboot: 1 ostype: debian rootfs: <STORAGE_POOL>:vm-25021-disk-0,size=8G searchdomain: <INTERNAL_DOMAIN> swap: 512 tags: community-script;proxy unprivileged: 1 root@<NODE_1>:~# pct status 25021 status: running root@<NODE_1>:~# pct stop 25021 # (stops successfully, no error) root@<NODE_1>:~# pct start 25021 # (starts successfully, no error) ``` If I deliberately run the **VM** command on this ID, I get the *same* error string that PVE Scripts Local is surfacing: ```bash root@<NODE_1>:~# qm status 25021 Configuration file 'nodes/<NODE_1>/qemu-server/25021.conf' does not exist ``` So Proxmox itself is behaving correctly: - CT 25021 exists and is fully manageable via `pct`. - There is no VM 25021 under `/etc/pve/qemu-server`. This strongly suggests that `controlContainer` is using the VM / `qm` path instead of the LXC / `pct` path when it tries to act on container 25021. --- ### PVE Scripts Local service status ```bash root@pvescriptslocal:~# systemctl status pvescriptslocal ● pvescriptslocal.service - PVEScriptslocal Service Loaded: loaded (/etc/systemd/system/pvescriptslocal.service; enabled; preset: enabled) Active: active (running) since Fri 2025-11-28 22:29:46 CST; 7h ago Main PID: 89 (npm start) Tasks: 30 (limit: 57152) Memory: 421.1M (peak: 438.9M) CPU: 27.627s CGroup: /system.slice/pvescriptslocal.service ├─ 89 "npm start" ├─268 sh -c "node --import tsx server.js" ├─277 node --import tsx server.js" └─316 /opt/ProxmoxVE-Local/node_modules/@esbuild/linux-x64/bin/esbuild --service=0.25.12 --ping ``` --- ### Possibly related (autodetect / installed scripts) After the upgrade/reinstall, the **auto-detect / installed scripts** view also stopped showing my existing helper-script containers, even though they have `tags: community-script;...` set. It may be the same underlying issue (type mis-detected as VM instead of CT), but I haven't dug into the DB to confirm. --- ### Summary / suspicion - The LXC container (25021) exists and is fine. - Proxmox is only complaining when **VM/qm** operations are attempted on that ID. - PVE Scripts Local surfaces the *VM* error message inside `controlContainer`. It looks like `controlContainer` is using the VM path for containers instead of the LXC path in this release. Happy to run any additional debug commands or test a patched build if that helps.
kerem 2026-02-26 12:40:12 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@michelroegl-brunner commented on GitHub (Nov 29, 2025):

Fixed when 0.5.1 releases in a few minutes, thank you for reporting!

<!-- gh-comment-id:3591735379 --> @michelroegl-brunner commented on GitHub (Nov 29, 2025): Fixed when 0.5.1 releases in a few minutes, thank you for reporting!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ProxmoxVE-Local#109
No description provided.