mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-05-16 02:13:32 +00:00
Change After=network.target to After=network-online.target + Wants=network- online.target in both service templates and install_web_service.sh. network.target only means NetworkManager has started — it does NOT mean the device has an active internet connection. On boot, the LED matrix service was starting within seconds of the network interface appearing, before WiFi association and DHCP completed, causing all first-update API calls to fail with "Network is unreachable" or DNS resolution errors. network-online.target waits for a confirmed network route before the service starts. On Raspberry Pi OS this is provided by NetworkManager-wait-online. The tradeoff is a few extra seconds at boot, which is acceptable for a display device. Applied live to /etc/systemd/system/ledmatrix.service on devpi via systemctl daemon-reload (no restart required for the config change to take effect on next boot). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Installation Scripts
This directory contains scripts for installing and configuring the LEDMatrix system.
Scripts
one-shot-install.sh- Single-command installer; clones the repo, checks prerequisites, then runsfirst_time_install.sh. Invoked viacurl ... | bashfrom the project root README.install_service.sh- Installs the main LED Matrix display service (systemd)install_web_service.sh- Installs the web interface service (systemd)install_wifi_monitor.sh- Installs the WiFi monitor daemon servicesetup_cache.sh- Sets up persistent cache directory with proper permissionsconfigure_web_sudo.sh- Configures passwordless sudo access for web interface actionsconfigure_wifi_permissions.sh- Grants theledmatrixuser the WiFi management permissions needed by the web interface and the WiFi monitor servicemigrate_config.sh- Migrates configuration files to new formats (if needed)debug_install.sh- Diagnostic helper used when an install fails; collects environment info and recent logs
Usage
These scripts are typically called by first_time_install.sh in the
project root (which itself is invoked by one-shot-install.sh), but
can also be run individually if needed.
Note: Most installation scripts require sudo privileges to install systemd services and configure system settings.