03376b3ea1
Rewrites dashboard and finder Dockerfiles to use a clean multi-stage build (deps → builder → runner) that installs npm packages inside Alpine Linux, avoiding the SWC musl binary issue when building from Windows host. Uses registry.npmmirror.com for reliable installs from restricted networks (Iran). - docker/api/Dockerfile: .NET 10 multi-stage build - docker/web/Dockerfile: Node 20-alpine multi-stage, npmmirror - docker/finder/Dockerfile: Node 20-alpine multi-stage, npmmirror - docker/website/Dockerfile: marketing website build - scripts/: PowerShell helper scripts for local dev Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
40 lines
1.2 KiB
PowerShell
40 lines
1.2 KiB
PowerShell
# Pull base images then start the full Meezi stack in Docker.
|
|
$ErrorActionPreference = "Stop"
|
|
$Root = Split-Path -Parent $PSScriptRoot
|
|
Push-Location $Root
|
|
|
|
$images = @(
|
|
"mcr.microsoft.com/dotnet/sdk:10.0",
|
|
"mcr.microsoft.com/dotnet/aspnet:10.0",
|
|
"postgres:16-alpine",
|
|
"redis:7-alpine",
|
|
"node:20-alpine"
|
|
)
|
|
|
|
Write-Host "Pulling base images (use VPN if pulls time out)..." -ForegroundColor Cyan
|
|
foreach ($img in $images) {
|
|
Write-Host " pull $img"
|
|
docker pull $img
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "Failed to pull $img. Enable VPN or configure a registry mirror (see docs/DOCKER.md)." -ForegroundColor Red
|
|
Pop-Location
|
|
exit 1
|
|
}
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "Building and starting all services..." -ForegroundColor Cyan
|
|
docker compose up -d --build
|
|
$code = $LASTEXITCODE
|
|
Pop-Location
|
|
if ($code -ne 0) { exit $code }
|
|
|
|
Write-Host ""
|
|
Write-Host "Meezi is starting:" -ForegroundColor Green
|
|
Write-Host " Dashboard http://localhost:3101/fa/login"
|
|
Write-Host " API http://localhost:5080/swagger"
|
|
Write-Host " Health http://localhost:5080/health"
|
|
Write-Host ""
|
|
Write-Host " docker compose ps"
|
|
Write-Host " docker compose logs -f api"
|