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>
42 lines
1.1 KiB
Bash
Executable File
42 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# App Status Function
|
|
# Shows status for a specific LibrePortal application
|
|
|
|
appStatus()
|
|
{
|
|
local app_name="$1"
|
|
|
|
if [[ -z "$app_name" ]]; then
|
|
isError " Please provide an app name"
|
|
echo "Usage: libreportal app status [app_name]"
|
|
return 1
|
|
fi
|
|
|
|
local app_dir="$containers_dir/$app_name"
|
|
local compose_file="$app_dir/docker-compose.yml"
|
|
|
|
if [[ ! -f "$compose_file" ]]; then
|
|
isError "App '$app_name' not found or no docker-compose.yml exists"
|
|
return 1
|
|
fi
|
|
|
|
isHeader "App Status: $app_name"
|
|
|
|
# Check if container is running
|
|
if docker ps --format '{{.Names}}' | grep -q "^${app_name}$"; then
|
|
isSuccessful "Container: RUNNING"
|
|
else
|
|
isNotice "Container: STOPPED"
|
|
fi
|
|
|
|
# Show basic container info if running
|
|
if docker ps --format '{{.Names}}' | grep -q "^${app_name}$"; then
|
|
echo ""
|
|
echo "Container Information:"
|
|
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep "$app_name" || echo "No port information available"
|
|
fi
|
|
|
|
echo ""
|
|
}
|