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>
35 lines
1.3 KiB
Bash
Executable File
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 ""
|
|
}
|