36 lines
957 B
PowerShell
36 lines
957 B
PowerShell
param(
|
|
[string]$Filter = "coolify|cloudflared|nextcloud|postgres|redis|openclaw|codimd|n8n|qdrant|baserow",
|
|
|
|
[switch]$All
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
$repoRoot = Resolve-Path (Join-Path $PSScriptRoot "..\..")
|
|
$invokeSsh = Join-Path $repoRoot "scripts\Invoke-ProxmoxSsh.ps1"
|
|
$agentScript = Join-Path $repoRoot "scripts\ProxmoxAgent.ps1"
|
|
|
|
if (-not (Test-Path -LiteralPath $invokeSsh)) {
|
|
throw "Missing Proxmox SSH wrapper: $invokeSsh"
|
|
}
|
|
|
|
if (-not (Test-Path -LiteralPath $agentScript)) {
|
|
throw "Missing Proxmox agent script: $agentScript"
|
|
}
|
|
|
|
. $agentScript
|
|
$config = Get-ProxmoxConfig
|
|
$format = "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
$command = "pct exec $($config.CoolifyLxc) -- docker ps -a --format '$format'"
|
|
$lines = @(& $invokeSsh -Command $command)
|
|
|
|
if ($All) {
|
|
$lines
|
|
return
|
|
}
|
|
|
|
if ($lines.Count -gt 0) {
|
|
$lines | Select-Object -First 1
|
|
$lines | Select-Object -Skip 1 | Where-Object { $_ -match $Filter }
|
|
}
|