Files
2025-11-12 13:31:49 +08:00

34 lines
1.4 KiB
PowerShell

param()
$ErrorActionPreference = "Stop"
Write-Host "🚀 启动独立前端 Docker 服务..."
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$WebUiRoot = (Resolve-Path (Join-Path $ScriptDir "..")).Path
try { docker info | Out-Null } catch { Write-Host "❌ Docker 未运行,请先启动 Docker"; exit 1 }
$useDockerCompose = $false
try { docker compose version | Out-Null; $useDockerCompose = $true } catch { try { docker-compose version | Out-Null } catch { Write-Host "❌ Docker Compose 不可用,请检查安装"; exit 1 } }
if (-not (Test-Path (Join-Path $ScriptDir ".env"))) { if (Test-Path (Join-Path $ScriptDir "env.example")) { Copy-Item (Join-Path $ScriptDir "env.example") (Join-Path $ScriptDir ".env") -Force } }
if (-not (Test-Path (Join-Path $WebUiRoot "dist"))) {
Write-Host "🔨 前端未构建,开始执行 NPM 构建..."
Push-Location $WebUiRoot
& npm ci
& npm run build
Pop-Location
}
Write-Host "🔧 构建镜像并启动服务..."
Push-Location $ScriptDir
if ($useDockerCompose) { docker compose up -d --build } else { docker-compose up -d --build }
Pop-Location
$port = if ($env:FRONTEND_PORT) { $env:FRONTEND_PORT } else { 80 }
Write-Host "✅ 前端已启动: http://localhost:$port"
Write-Host "📊 查看状态: (cd cn-universal-web-ui/docker && docker compose ps) 或 docker-compose ps"
Write-Host "🔍 查看日志: (cd cn-universal-web-ui/docker && docker compose logs -f) 或 docker-compose logs -f"