feat(docker): multi-stage Dockerfiles with npmmirror registry
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>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 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"
|
||||
Reference in New Issue
Block a user