[GH-ISSUE #9400] WatchYourLAN LXC: Service fails to start on boot (IP not yet assigned) #2062

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

Originally created by @HannesMC on GitHub (Nov 24, 2025).
Original GitHub issue: https://github.com/community-scripts/ProxmoxVE/issues/9400

Have you read and understood the above guidelines?

yes

🔎 Did you run the script with verbose mode enabled?

Yes, verbose mode was enabled and the output is included below

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

WatchYourLAN

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

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

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 13

📈 Which Proxmox version are you on?

9.1.1

📝 Provide a clear and concise description of the issue.

Problem Description

When deploying the WatchYourLAN LXC container via the Community-Scripts template, the service consistently fails on container boot with the following error:

ERROR listen tcp 10.10.10.94:8840: bind: cannot assign requested address watchyourlan.service: Deactivated successfully.

This occurs because the watchyourlan systemd service is started before the LXC network interface has received its IP address.
WatchYourLAN binds to a specific IP (e.g., 10.10.10.94) inside the container, but at boot time this address does not yet exist, causing the service to exit immediately.

Impact
WatchYourLAN does not start automatically after a reboot.
A manual restart works fine once the IP is assigned.

Proposed Improvement (Start only after IP becomes available)

🔄 Steps to reproduce the issue.

Reproducibility

  1. Deploy the WatchYourLAN container via the script
  2. Reboot the container
  3. Check logs via journalctl -u watchyourlan
    → The error appears on every reboot

Paste the full error output (if available).

ERROR listen tcp 10.10.10.94:8840: bind: cannot assign requested address watchyourlan.service: Deactivated successfully.

🖼️ Additional context (optional).

Proposed Improvement (Start only after IP becomes available)

A robust solution would be to modify the systemd unit so that WatchYourLAN only starts after the container’s IP address is actually present.

Alternative / Additional Consideration

Binding to 0.0.0.0 instead of a fixed IP would also avoid the issue, but this changes existing behavior.
The IP-waiting approach is stricter and preserves the intended binding configuration.

Request to Maintainers

Would it be possible to incorporate this IP-wait logic (or a similar mechanism) into the WatchYourLAN deployment script or the default systemd service template, so the service starts reliably in Proxmox LXC environments?

Originally created by @HannesMC on GitHub (Nov 24, 2025). Original GitHub issue: https://github.com/community-scripts/ProxmoxVE/issues/9400 ### ✅ Have you read and understood the above guidelines? yes ### 🔎 Did you run the script with verbose mode enabled? Yes, verbose mode was enabled and the output is included below ### 📜 What is the name of the script you are using? WatchYourLAN ### 📂 What was the exact command used to execute the script? bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/watchyourlan.sh)" ### ⚙️ What settings are you using? - [ ] Default Settings - [x] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 13 ### 📈 Which Proxmox version are you on? 9.1.1 ### 📝 Provide a clear and concise description of the issue. ### Problem Description When deploying the WatchYourLAN LXC container via the Community-Scripts template, the service consistently fails on container boot with the following error: `ERROR listen tcp 10.10.10.94:8840: bind: cannot assign requested address watchyourlan.service: Deactivated successfully. ` This occurs because the watchyourlan systemd service is started **before the LXC network interface has received its IP address.** WatchYourLAN binds to a specific IP (e.g., 10.10.10.94) inside the container, but at boot time this address does not yet exist, causing the service to exit immediately. **Impact** WatchYourLAN does not start automatically after a reboot. A manual restart works fine once the IP is assigned. Proposed Improvement (Start only after IP becomes available) ### 🔄 Steps to reproduce the issue. ### Reproducibility 1. Deploy the WatchYourLAN container via the script 2. Reboot the container 3. Check logs via journalctl -u watchyourlan → The error appears on every reboot ### ❌ Paste the full error output (if available). `ERROR listen tcp 10.10.10.94:8840: bind: cannot assign requested address watchyourlan.service: Deactivated successfully. ` ### 🖼️ Additional context (optional). ### Proposed Improvement (Start only after IP becomes available) A robust solution would be to modify the systemd unit so that WatchYourLAN only starts **after the container’s IP address is actually present.** ### Alternative / Additional Consideration Binding to 0.0.0.0 instead of a fixed IP would also avoid the issue, but this changes existing behavior. The IP-waiting approach is stricter and preserves the intended binding configuration. ### Request to Maintainers Would it be possible to incorporate this IP-wait logic (or a similar mechanism) into the WatchYourLAN deployment script or the default systemd service template, so the service starts reliably in Proxmox LXC environments?
kerem 2026-02-26 12:51:11 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@MickLesk commented on GitHub (Nov 24, 2025):

I think, you should report this in there Repo.

1.) we use there binayry
2.) we dont create the service in this case
3.) we dont patch any external created services.

If you need to improve it, you can do f.e. following;

if ! grep -q "After=network-online.target" /lib/systemd/system/watchyourlan.service; then
  sed -i '/\[Unit\]/a After=network-online.target\nWants=network-online.target' /lib/systemd/system/watchyourlan.service
fi

but its not an topic or issue for us. Should be reported in Upstream-Repo.
https://github.com/aceberg/WatchYourLAN

<!-- gh-comment-id:3569559166 --> @MickLesk commented on GitHub (Nov 24, 2025): I think, you should report this in there Repo. 1.) we use there binayry 2.) we dont create the service in this case 3.) we dont patch any external created services. If you need to improve it, you can do f.e. following; ```bash if ! grep -q "After=network-online.target" /lib/systemd/system/watchyourlan.service; then sed -i '/\[Unit\]/a After=network-online.target\nWants=network-online.target' /lib/systemd/system/watchyourlan.service fi ``` but its not an topic or issue for us. Should be reported in Upstream-Repo. https://github.com/aceberg/WatchYourLAN
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#2062
No description provided.