Request to look into LXC install script #1002

Closed
opened 2026-02-04 22:28:21 +03:00 by OVERLORD · 12 comments
Owner

Originally created by @JohnyBeGood on GitHub (May 23, 2025).

📌 Task summary

/dev/fd/63: line 74: SPINNER_PID: unbound variable - Possible solution

📋 Task details

I'm running the SearxNG Proxmox LXC install script using this command:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/searxng.sh)"
During execution I encountered this error:

/dev/fd/63: line 74: SPINNER_PID: unbound variable

After countless hours of research online, I found that this is caused by the script using set -u, which makes Bash treat any unset variable as an error. If SPINNER_PID is referenced (for example, with kill $SPINNER_PID) before it’s been assigned a value, it triggers this "unbound variable" error.

It seems the script tries to kill a spinner process even when one hasn’t been started, and SPINNER_PID hasn’t been initialized.

Even setting the DNS server manually to 8.8.8.8 I got the same error.

Please let me know if you need more info as I would be happy to provide it.

Originally created by @JohnyBeGood on GitHub (May 23, 2025). ### 📌 Task summary /dev/fd/63: line 74: SPINNER_PID: unbound variable - Possible solution ### 📋 Task details I'm running the SearxNG Proxmox LXC install script using this command: `bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/searxng.sh)" ` During execution I encountered this error: `/dev/fd/63: line 74: SPINNER_PID: unbound variable` After countless hours of research online, I found that this is caused by the script using `set -u`, which makes Bash treat any unset variable as an error. If `SPINNER_PID` is referenced (for example, with `kill $SPINNER_PID`) before it’s been assigned a value, it triggers this "`unbound variable`" error. It seems the script tries to kill a spinner process even when one hasn’t been started, and `SPINNER_PID` hasn’t been initialized. Even setting the DNS server manually to 8.8.8.8 I got the same error. Please let me know if you need more info as I would be happy to provide it.
Author
Owner

@omiinaya commented on GitHub (May 23, 2025):

The script worked fine for me just now.

Is it still breaking for you?

@omiinaya commented on GitHub (May 23, 2025): The script worked fine for me just now. Is it still breaking for you?
Author
Owner

@JohnyBeGood commented on GitHub (May 23, 2025):

Thanks for taking the time to reply!

Yes, the error occurs during the initial installation. The installation never completed.

@JohnyBeGood commented on GitHub (May 23, 2025): Thanks for taking the time to reply! Yes, the error occurs during the initial installation. The installation never completed.
Author
Owner

@omiinaya commented on GitHub (May 23, 2025):

Thanks for taking the time to reply!

Yes. The error comes up during the initial install. The installation was never completed.

I typically see these unbound variable errors when one of my $vars isnt set properly.

can you test if running "openssl rand -hex 32" gives you the expected result?

root@media:~# openssl rand -hex 32
53f367e2bb5ee4b498c969233ce9c6a82c53f29767422de82db1fae717a2053b

i think the above could be failing, causing the var to never be set and producing the unbound error.

@omiinaya commented on GitHub (May 23, 2025): > Thanks for taking the time to reply! > > Yes. The error comes up during the initial install. The installation was never completed. I typically see these unbound variable errors when one of my $vars isnt set properly. can you test if running "openssl rand -hex 32" gives you the expected result? ``` root@media:~# openssl rand -hex 32 53f367e2bb5ee4b498c969233ce9c6a82c53f29767422de82db1fae717a2053b ``` i think the above could be failing, causing the var to never be set and producing the unbound error.
Author
Owner

@MickLesk commented on GitHub (May 23, 2025):

This only happens if a script fails for some reason, for example during a curl. The only thing you then see is the spinner message. In general, however, it doesn't have much to do with this.

@MickLesk commented on GitHub (May 23, 2025): This only happens if a script fails for some reason, for example during a curl. The only thing you then see is the spinner message. In general, however, it doesn't have much to do with this.
Author
Owner

@JohnyBeGood commented on GitHub (May 23, 2025):

Thanks for taking the time to reply. Just in case it helps, here are the logs:

Proxmox shell:

 _____                _  __ _   ________
  / ___/___  ____ _____| |/ // | / / ____/
  \__ \/ _ \/ __ `/ ___/   //  |/ / / __  
 ___/ /  __/ /_/ / /  /   |/ /|  / /_/ /  
/____/\___/\__,_/_/  /_/|_/_/ |_/\____/   
                                          
  🧩  Using Advanced Settings on node pve-main
  🖥️  Operating System: debian
  🌟  Version: 12
  📦  Container Type: Unprivileged
  🔐  Root Password: ********
  🆔  Container ID: 126
  🏠  Hostname: searxng
  💾  Disk Size: 7 GB
  🧠  CPU Cores: 2
  🛠️  RAM Size: 2048 MiB
  🌉  Bridge: vmbr0
  📡  IP Address: dhcp
  🌐  Gateway IP Address: Default
  📡  APT-Cacher IP Address: Default
  🚫  Disable IPv6: yes
  ⚙️  Interface MTU Size: Default
  🔍  DNS Search Domain: Host
  📡  DNS Server IP Address: 8.8.8.8
  🏷️  Vlan: Default
  📡  Tags: community-script;search
  🔑  Root SSH Access: yes
  🗂️  Enable FUSE Support: no
  🔍  Verbose Mode: yes
  🚀  Creating a SearXNG LXC using the above advanced settings
  💡  Configuration file already exists at /opt/community-scripts/searxng.conf
  💡  Writing configuration to /opt/community-scripts/searxng.conf
  ✔️  Using local for Template Storage.
  ✔️  Using local-zfs for Container Storage.
  ✔️  Updated LXC Template List
  ✔️  LXC Template is ready to use.
  ✔️  LXC Container 126 was successfully created.
  ✔️   Started LXC Container
net.ipv6.conf.all.disable_ipv6 = 1
 ⠙  ✖️   No Network! ner OS 
  ✖️   No Network After 10 Tries
  📡  Check Network Settings
/dev/fd/63: line 74: SPINNER_PID: unbound variable
root@pve-main:~ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.248 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.230 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.238 ms
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2068ms
rtt min/avg/max/mdev = 0.230/0.238/0.248/0.007 ms
root@pve-main: ping google.com
PING google.com (142.251.215.238) 56(84) bytes of data.
64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=1 ttl=115 time=17.9 ms
64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=2 ttl=115 time=17.4 ms
64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=3 ttl=115 time=18.1 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 17.435/17.804/18.100/0.276 ms
root@pve-main:~ 

LXC shell:

Debian GNU/Linux 12 searxng tty1

searxng login: root
Password: 
Linux searxng 6.8.12-10-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-10 (2025-04-18T07:39Z) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@searxng:~ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.532 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.260 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.218 ms
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2078ms
rtt min/avg/max/mdev = 0.218/0.336/0.532/0.139 ms
root@searxng: ping google.com
PING google.com (142.251.215.238) 56(84) bytes of data.
64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=1 ttl=115 time=11.2 ms
64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=2 ttl=115 time=12.1 ms
64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=3 ttl=115 time=6.36 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 6.360/9.905/12.114/2.532 ms
root@searxng:~ 
@JohnyBeGood commented on GitHub (May 23, 2025): Thanks for taking the time to reply. Just in case it helps, here are the logs: Proxmox shell: ``` _____ _ __ _ ________ / ___/___ ____ _____| |/ // | / / ____/ \__ \/ _ \/ __ `/ ___/ // |/ / / __ ___/ / __/ /_/ / / / |/ /| / /_/ / /____/\___/\__,_/_/ /_/|_/_/ |_/\____/ 🧩 Using Advanced Settings on node pve-main 🖥️ Operating System: debian 🌟 Version: 12 📦 Container Type: Unprivileged 🔐 Root Password: ******** 🆔 Container ID: 126 🏠 Hostname: searxng 💾 Disk Size: 7 GB 🧠 CPU Cores: 2 🛠️ RAM Size: 2048 MiB 🌉 Bridge: vmbr0 📡 IP Address: dhcp 🌐 Gateway IP Address: Default 📡 APT-Cacher IP Address: Default 🚫 Disable IPv6: yes ⚙️ Interface MTU Size: Default 🔍 DNS Search Domain: Host 📡 DNS Server IP Address: 8.8.8.8 🏷️ Vlan: Default 📡 Tags: community-script;search 🔑 Root SSH Access: yes 🗂️ Enable FUSE Support: no 🔍 Verbose Mode: yes 🚀 Creating a SearXNG LXC using the above advanced settings 💡 Configuration file already exists at /opt/community-scripts/searxng.conf 💡 Writing configuration to /opt/community-scripts/searxng.conf ✔️ Using local for Template Storage. ✔️ Using local-zfs for Container Storage. ✔️ Updated LXC Template List ✔️ LXC Template is ready to use. ✔️ LXC Container 126 was successfully created. ✔️ Started LXC Container net.ipv6.conf.all.disable_ipv6 = 1 ⠙ ✖️ No Network! ner OS ✖️ No Network After 10 Tries 📡 Check Network Settings /dev/fd/63: line 74: SPINNER_PID: unbound variable root@pve-main:~ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.248 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.230 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.238 ms ^C --- 192.168.1.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2068ms rtt min/avg/max/mdev = 0.230/0.238/0.248/0.007 ms root@pve-main: ping google.com PING google.com (142.251.215.238) 56(84) bytes of data. 64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=1 ttl=115 time=17.9 ms 64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=2 ttl=115 time=17.4 ms 64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=3 ttl=115 time=18.1 ms ^C --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 17.435/17.804/18.100/0.276 ms root@pve-main:~ ``` LXC shell: ``` Debian GNU/Linux 12 searxng tty1 searxng login: root Password: Linux searxng 6.8.12-10-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-10 (2025-04-18T07:39Z) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@searxng:~ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.532 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.260 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.218 ms ^C --- 192.168.1.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2078ms rtt min/avg/max/mdev = 0.218/0.336/0.532/0.139 ms root@searxng: ping google.com PING google.com (142.251.215.238) 56(84) bytes of data. 64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=1 ttl=115 time=11.2 ms 64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=2 ttl=115 time=12.1 ms 64 bytes from sea09s35-in-f14.1e100.net (142.251.215.238): icmp_seq=3 ttl=115 time=6.36 ms ^C --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 6.360/9.905/12.114/2.532 ms root@searxng:~ ```
Author
Owner

@MickLesk commented on GitHub (May 23, 2025):

No Network say, you dont get an hostname for the LXC. Try Default, your DHCP Server fuck up

@MickLesk commented on GitHub (May 23, 2025): No Network say, you dont get an hostname for the LXC. Try Default, your DHCP Server fuck up
Author
Owner

@Rhiz3K commented on GitHub (May 25, 2025):

Exactly same issue on all scripts past 2 weeks, tried to fix it by myself, with chatGPT but nothing helped

✔️ Started LXC Container
✖️ No Network! ner OS
✖️ No Network After 10 Tries
📡 Check Network Settings
/dev/fd/63: line 74: SPINNER_PID: unbound variable

I am using piHole on one of LXC but even if I turn it off or set another DNS on modem it is not working

@Rhiz3K commented on GitHub (May 25, 2025): Exactly same issue on all scripts past 2 weeks, tried to fix it by myself, with chatGPT but nothing helped ✔️ Started LXC Container ⠋ ✖️ No Network! ner OS ✖️ No Network After 10 Tries 📡 Check Network Settings /dev/fd/63: line 74: SPINNER_PID: unbound variable I am using piHole on one of LXC but even if I turn it off or set another DNS on modem it is not working
Author
Owner

@tremor021 commented on GitHub (May 25, 2025):

Your LXC's are not getting a network connection out. Is your DHCP working at all?

@tremor021 commented on GitHub (May 25, 2025): Your LXC's are not getting a network connection out. Is your DHCP working at all?
Author
Owner

@MickLesk commented on GitHub (May 25, 2025):

Try as secnd DNS 8.8.8.8 or something. Its not an Script related issue

@MickLesk commented on GitHub (May 25, 2025): Try as secnd DNS 8.8.8.8 or something. Its not an Script related issue
Author
Owner

@Rhiz3K commented on GitHub (May 25, 2025):

Your LXC's are not getting a network connection out. Is your DHCP working at all?

root@proxmox:/# nmap --script broadcast-dhcp-discover -e vmbr0
Starting Nmap 7.93 ( https://nmap.org ) at 2025-05-25 11:03 CEST
Pre-scan script results:
| broadcast-dhcp-discover:
| Response 1 of 1:
| Interface: vmbr0
| IP Offered: 10.0.0.30
| DHCP Message Type: DHCPOFFER
| Server Identifier: 10.0.0.138
| IP Address Lease Time: 1h00m00s
| Renewal Time Value: 30m00s
| Rebinding Time Value: 52m30s
| Subnet Mask: 255.255.255.0
| Broadcast Address: 10.0.0.255
| Router: 10.0.0.138
| Domain Name: home
| WPAD:
|
|_ Domain Name Server: 10.0.0.128, 1.1.1.1
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 10.73 seconds

@Rhiz3K commented on GitHub (May 25, 2025): > Your LXC's are not getting a network connection out. Is your DHCP working at all? root@proxmox:/# nmap --script broadcast-dhcp-discover -e vmbr0 Starting Nmap 7.93 ( https://nmap.org ) at 2025-05-25 11:03 CEST Pre-scan script results: | broadcast-dhcp-discover: | Response 1 of 1: | Interface: vmbr0 | IP Offered: 10.0.0.30 | DHCP Message Type: DHCPOFFER | Server Identifier: 10.0.0.138 | IP Address Lease Time: 1h00m00s | Renewal Time Value: 30m00s | Rebinding Time Value: 52m30s | Subnet Mask: 255.255.255.0 | Broadcast Address: 10.0.0.255 | Router: 10.0.0.138 | Domain Name: home | WPAD: | |_ Domain Name Server: 10.0.0.128, 1.1.1.1 WARNING: No targets were specified, so 0 hosts scanned. Nmap done: 0 IP addresses (0 hosts up) scanned in 10.73 seconds
Author
Owner

@Rhiz3K commented on GitHub (May 25, 2025):

Try as secnd DNS 8.8.8.8 or something. Its not an Script related issue

Image

@Rhiz3K commented on GitHub (May 25, 2025): > Try as secnd DNS 8.8.8.8 or something. Its not an Script related issue ![Image](https://github.com/user-attachments/assets/ac5290b0-be46-4bcf-abe6-8a19afd5508e)
Author
Owner

@Rhiz3K commented on GitHub (May 25, 2025):

OK solved, sorry and thank you for hints

I was out of IP range

I set it up from 1-27 to below and it started working

Image

@Rhiz3K commented on GitHub (May 25, 2025): OK solved, sorry and thank you for hints I was out of IP range I set it up from 1-27 to below and it started working ![Image](https://github.com/user-attachments/assets/cbbe13f7-724b-4cd1-a6ea-460907f53f81)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1002