Closes the gap behind the vpn-recreate bug: when the shared network is recreated with a different /24, every app's stored static IP is left outside it and adoptDockerSubnet only realigns CFG, not the apps. - networkScanConflicts (network_conflicts.sh): read-only scan diffing each active network_resources IP against docker's real subnet (via ipInSubnet). Per-service routing-aware — skips gateway-routed services whose ipv4 is commented out in the deployed compose, so gluetun apps don't false-positive. Distinguishes 'daemon down' (benign) from 'network missing' (real). - webuiSystemNetworkCheck (webui_system_network.sh): self-throttled generator that writes frontend/data/system/network_status.json (modelled on verify_status.json). Wired into webuiSystemUpdate AND run unconditionally every ~60s from the task-processor poll (regen webui is mtime-gated and would never fire on drift, which touches no source file). - networkHealConflicts (network_heal.sh) + 'libreportal system network check|heal [app]': the heal adopts docker's subnet in-process, then re-IPs stranded apps with reset_network=ip (ports preserved), gluetun first. Mutating path runs only through the task system (dual-mode, like update apply); read-only check runs inline. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
50 lines
2.0 KiB
Bash
Executable File
50 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This file is auto-generated by generate_arrays.sh
|
|
# Do not edit manually - run './scripts/source/files/generate_arrays.sh run' to regenerate
|
|
|
|
network_scripts=(
|
|
"network/display/show_all_network_services_detailed.sh"
|
|
"network/display/show_all_network_services.sh"
|
|
"network/display/show_ip_allocations.sh"
|
|
"network/display/show_network_conflicts.sh"
|
|
"network/display/show_network_health_detailed.sh"
|
|
"network/display/show_network_services_by_app.sh"
|
|
"network/display/show_network_services_by_category.sh"
|
|
"network/display/show_network_service.sh"
|
|
"network/display/show_network_statistics.sh"
|
|
"network/display/show_traefik_services.sh"
|
|
"network/dns/setup_dns_ip.sh"
|
|
"network/dns/setup_dns.sh"
|
|
"network/dns/setup_local_dns.sh"
|
|
"network/firewall/firewall_initial_setup.sh"
|
|
"network/firewall/rules/firewall_clear_rules.sh"
|
|
"network/firewall/rules/firewall_rebuild_from_db.sh"
|
|
"network/firewall/rules/firewall_refresh_all.sh"
|
|
"network/ip/ip_allocation.sh"
|
|
"network/ip/ip_find_available.sh"
|
|
"network/ip/ip_in_subnet.sh"
|
|
"network/ip/ip_is_available.sh"
|
|
"network/ip/ip_remove_from_db.sh"
|
|
"network/ip/ip_replace_tags.sh"
|
|
"network/monitoring/monitoring.sh"
|
|
"network/ports/allocation/port_allocate.sh"
|
|
"network/ports/allocation/port_store_mapping.sh"
|
|
"network/ports/allocation/port_update_compose_tags.sh"
|
|
"network/ports/core/port_find_next_available.sh"
|
|
"network/ports/core/port_get_public_ports.sh"
|
|
"network/ports/core/port_get_service_ports_only.sh"
|
|
"network/ports/core/port_get_service_ports.sh"
|
|
"network/ports/core/port_remove_from_db.sh"
|
|
"network/ssh/ssh.sh"
|
|
"network/traefik/traefik_login_credentials.sh"
|
|
"network/traefik/traefik_middlewares.sh"
|
|
"network/traefik/traefik_port_middlewares.sh"
|
|
"network/traefik/traefik_port_subdomains.sh"
|
|
"network/traefik/traefik_whitelist.sh"
|
|
"network/variables/basic_scan.sh"
|
|
"network/variables/headscale_variables.sh"
|
|
"network/variables/variables_init_app.sh"
|
|
|
|
)
|