🐛 Bug Report: create_lxc.sh reports "No Network!" incorrectly with static IP + /17 subnet + conf variable issues (OpenWebUI) #1079

Closed
opened 2026-02-04 22:58:17 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @akira69 on GitHub (Jun 7, 2025).

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

OpenWebUI

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/openwebui.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

📝 Provide a clear and concise description of the issue.

Using the latest create_lxc.sh from https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/create_lxc.sh (after fixing URL), I ran into many many issues

🔄 Steps to reproduce the issue.

🐛 Bug Report: create_lxc.sh reports "No Network!" incorrectly with static IP + /17 subnet + conf variable issues

Summary

Using the latest create_lxc.sh from https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/create_lxc.sh (after fixing URL), I ran into these issues:

1️⃣ False "No Network!" message when using static IP + /17 CIDR

My .conf specifies:

NET="192.168.10.10/17"
GATE="192.168.1.1"

The container comes up with full network:

ping 8.8.8.8 works
ping google.com works
routing correct
But the script falsely reports:

✖️ No Network!

2️⃣ SPINNER_PID unbound variable crash

After "No Network!", script aborts with:

/opt/community-scripts/build.func: line 74: SPINNER_PID: unbound variable

Fix for SPINNER_PID:

Change all lines like this:

if [ -n "$SPINNER_PID" ] && ps -p "$SPINNER_PID" >/dev/null; then kill "$SPINNER_PID" >/dev/null; fi
to:

if [ -n "${SPINNER_PID:-}" ] && ps -p "$SPINNER_PID" >/dev/null; then kill "$SPINNER_PID" >/dev/null; fi
This avoids errors when SPINNER_PID is not yet set.

3️⃣ Root cause of "No Network!": network check logic too strict

The current network check (likely in build.func or create_lxc.sh) assumes:

/24 subnet
default gateway via 192.168.1.1 is reachable by route lookup
assumes onlink behavior may cause false negatives
In my case:

ip a:
192.168.0.0/17 dev eth0 proto kernel scope link src 192.168.10.10

ip route:
default via 192.168.1.1 dev eth0 onlink

Full internet access works perfectly, but script misdetects it.

Proposed solution:

Use simple ping test to public IP (e.g. ping -c1 8.8.8.8) instead of over-complicated route parsing
Accept non-/24 subnets and onlink default routes

4️⃣ Config variable inconsistencies

Several .conf files use variable names that do not match the current create_lxc.sh and build.func expectations:

.conf Variable Script Expectation Suggested Standard
VERB VERBOSE VERBOSE
GATE Gateway handling GATEWAY
SD Storage STORAGE
NS DNS DNS_SERVER
NET Static IP+CIDR IP_CIDR

Proposal: Please update both the scripts and example .conf files to use consistent, well-documented variable names.
Also make network check logic more robust (see prior point) for static IPs and non-/24 CIDRs.

Conclusion

Great scripts — very useful!
🐞 But they currently break in real-world networks with:

static IP + non-/24 subnet
onlink gateway
.conf variable mismatches
SPINNER_PID crash
Actionable suggestions:

Fix SPINNER_PID logic (see above)
Replace current "No Network!" check with simple reliable test (e.g. ping -c1 8.8.8.8)
Standardize variable names between .conf and create_lxc.sh
Accept non-/24 subnets and onlink gateway routes

Thanks for maintaining this excellent project — happy to help test fixes or submit PR if wanted!

Paste the full error output (if available).

is all above

🖼️ Additional context (optional).

No response

Originally created by @akira69 on GitHub (Jun 7, 2025). ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? OpenWebUI ### 📂 What was the exact command used to execute the script? bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/openwebui.sh)" ### ⚙️ What settings are you using? - [x] Default Settings - [x] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 📝 Provide a clear and concise description of the issue. Using the latest create_lxc.sh from https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/create_lxc.sh (after fixing URL), I ran into many many issues ### 🔄 Steps to reproduce the issue. 🐛 Bug Report: create_lxc.sh reports "No Network!" incorrectly with static IP + /17 subnet + conf variable issues Summary Using the latest create_lxc.sh from https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/create_lxc.sh (after fixing URL), I ran into these issues: 1️⃣ False "No Network!" message when using static IP + /17 CIDR My .conf specifies: NET="192.168.10.10/17" GATE="192.168.1.1" The container comes up with full network: ping 8.8.8.8 works ping google.com works routing correct But the script falsely reports: ✖️ No Network! 2️⃣ SPINNER_PID unbound variable crash After "No Network!", script aborts with: /opt/community-scripts/build.func: line 74: SPINNER_PID: unbound variable Fix for SPINNER_PID: Change all lines like this: if [ -n "$SPINNER_PID" ] && ps -p "$SPINNER_PID" >/dev/null; then kill "$SPINNER_PID" >/dev/null; fi to: if [ -n "${SPINNER_PID:-}" ] && ps -p "$SPINNER_PID" >/dev/null; then kill "$SPINNER_PID" >/dev/null; fi This avoids errors when SPINNER_PID is not yet set. 3️⃣ Root cause of "No Network!": network check logic too strict The current network check (likely in build.func or create_lxc.sh) assumes: /24 subnet default gateway via 192.168.1.1 is reachable by route lookup assumes onlink behavior may cause false negatives In my case: ip a: 192.168.0.0/17 dev eth0 proto kernel scope link src 192.168.10.10 ip route: default via 192.168.1.1 dev eth0 onlink Full internet access works perfectly, but script misdetects it. Proposed solution: Use simple ping test to public IP (e.g. ping -c1 8.8.8.8) instead of over-complicated route parsing Accept non-/24 subnets and onlink default routes 4️⃣ Config variable inconsistencies Several .conf files use variable names that do not match the current create_lxc.sh and build.func expectations: | .conf Variable | Script Expectation | Suggested Standard | |----------------|-------------------|--------------------| | VERB | VERBOSE | VERBOSE | | GATE | Gateway handling | GATEWAY | | SD | Storage | STORAGE | | NS | DNS | DNS_SERVER | | NET | Static IP+CIDR | IP_CIDR | Proposal: Please update both the scripts and example .conf files to use consistent, well-documented variable names. Also make network check logic more robust (see prior point) for static IPs and non-/24 CIDRs. Conclusion ✅ Great scripts — very useful! 🐞 But they currently break in real-world networks with: static IP + non-/24 subnet onlink gateway .conf variable mismatches SPINNER_PID crash Actionable suggestions: Fix SPINNER_PID logic (see above) Replace current "No Network!" check with simple reliable test (e.g. ping -c1 8.8.8.8) Standardize variable names between .conf and create_lxc.sh Accept non-/24 subnets and onlink gateway routes Thanks for maintaining this excellent project — happy to help test fixes or submit PR if wanted! ### ❌ Paste the full error output (if available). is all above ### 🖼️ Additional context (optional). _No response_
OVERLORD added the bug label 2026-02-04 22:58:17 +03:00
Author
Owner

@akira69 commented on GitHub (Jun 7, 2025):

totally Chat GPT driven

@akira69 commented on GitHub (Jun 7, 2025): totally Chat GPT driven
Author
Owner

@MickLesk commented on GitHub (Jun 7, 2025):

Nothing changed since ages in this function! Its a true tteck function.

By the way, chatgpt is dumb, the Spinner Issue is only because the Script Break hard in this Moment. So Not fixable.

But i can take another Look, only for you 😂 Nobody has such Issues Like your Network - why? Idk, ive unifi since over 3 years

And as a note, the analysis may be good, your script crashes much later, after the create_lxc. So actually the whole "issue" is analyzed incorrectly. It flies away in the Install.func, i.e. directly in the LXC. Look at the lines there.

https://github.com/community-scripts/ProxmoxVE/blob/main/misc%2Finstall.func

@MickLesk commented on GitHub (Jun 7, 2025): Nothing changed since ages in this function! Its a true tteck function. By the way, chatgpt is dumb, the Spinner Issue is only because the Script Break hard in this Moment. So Not fixable. But i can take another Look, only for you 😂 Nobody has such Issues Like your Network - why? Idk, ive unifi since over 3 years And as a note, the analysis may be good, your script crashes much later, after the create_lxc. So actually the whole "issue" is analyzed incorrectly. It flies away in the Install.func, i.e. directly in the LXC. Look at the lines there. https://github.com/community-scripts/ProxmoxVE/blob/main/misc%2Finstall.func
Author
Owner

@MickLesk commented on GitHub (Jun 7, 2025):

I can make an addition to this if necessary: I have already changed a lot of core themes in the Dev Repo, I could just push the LXC script there for you to test and you can test it there.

@MickLesk commented on GitHub (Jun 7, 2025): I can make an addition to this if necessary: I have already changed a lot of core themes in the Dev Repo, I could just push the LXC script there for you to test and you can test it there.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1079