LibrePortal/scripts/network/display/show_traefik_services.sh
librelad 875a60f90f LibrePortal v0.1.0 — initial release
A free, open, self-hosted app platform (GNU AGPLv3): one-click app deploys,
Traefik reverse proxy with automatic SSL, rootless Docker support, gluetun
VPN routing, and a web dashboard to manage it all.

Free & open forever to self-host; optional paid hosted services fund it.
See PROMISE.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-21 20:37:54 +01:00

35 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Scan Traefik services
ip_scan_traefik_services()
{
echo "🌍 Scanning Traefik Services..."
echo ""
local sql="SELECT app_name, service_name, domain_name, ip_address, external_port, traefik_router, ssl_enabled, status FROM network_services WHERE service_type = 'traefik' ORDER BY domain_name;"
echo "🌍 Domain | 📦 App/Service | 🌐 IP | 🔌 Port | 🛣️ Router | 🔒 SSL | 📊 Status"
echo "---------|---------------|------|--------|-----------|------|----------"
while IFS='|' read -r app_name service_name domain_name ip_address external_port traefik_router ssl_enabled status; do
local ssl_icon="🔓"
if [[ "$ssl_enabled" == "1" ]]; then
ssl_icon="🔒"
fi
local status_icon="🟢"
case "$status" in
"inactive") status_icon="🔴" ;;
"conflict") status_icon="🟡" ;;
"migrating") status_icon="🔄" ;;
esac
local port_display="${external_port:-"int"}"
printf "%-9s | %-13s | %-4s | %-6s | %s | %-4s | %s\n" \
"$domain_name" "$app_name/$service_name" "${ip_address##*.}" "$port_display" "$traefik_router" "$ssl_icon" "$status_icon"
done < <(sqlite3 "$docker_dir/$db_file" "$sql" 2>/dev/null)
echo ""
}