GeoNetAgent, LDAPWeb, server-audit, server-connection
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 lines
1.9 KiB

# Deploy sqlservercheck ke reverse proxy (10.100.1.24)
# Usage: .\scripts\deploy-sqlservercheck.ps1
# .\scripts\deploy-sqlservercheck.ps1 -NoBuild
param(
[switch]$NoBuild
)
$ErrorActionPreference = "Stop"
$HostAddr = "10.100.1.24"
$SshPort = 22
$SshMac = "hmac-sha1"
$SshUser = "root"
$RemoteStack = "/opt/stacks/sqlservercheck"
$ProjectRoot = Split-Path $PSScriptRoot -Parent
$StackDir = Join-Path $ProjectRoot "sqlservercheck"
$Tarball = Join-Path $ProjectRoot "sqlservercheck-deploy.tar.gz"
if (-not (Test-Path $StackDir)) {
throw "Folder tidak ditemukan: $StackDir"
}
Write-Host "==> Pack sqlservercheck (tanpa .env)..."
Push-Location $StackDir
tar -czf $Tarball --exclude=".env" .
Pop-Location
Write-Host "==> Upload ke $HostAddr..."
scp -o BatchMode=yes -o MACs=$SshMac -P $SshPort $Tarball "${SshUser}@${HostAddr}:/tmp/sqlservercheck-deploy.tar.gz"
Write-Host "==> Extract..."
$extract = @"
set -e
cd $RemoteStack
cp .env /tmp/sqlservercheck.env.bak 2>/dev/null || true
tar -xzf /tmp/sqlservercheck-deploy.tar.gz
"@
ssh -o BatchMode=yes -m $SshMac "${SshUser}@${HostAddr}" -p $SshPort $extract
if ($NoBuild) {
Write-Host "==> Restart container (tanpa rebuild)..."
ssh -o BatchMode=yes -m $SshMac "${SshUser}@${HostAddr}" -p $SshPort "cd $RemoteStack && docker compose up -d"
} else {
Write-Host "==> Docker compose build + up..."
ssh -o BatchMode=yes -m $SshMac "${SshUser}@${HostAddr}" -p $SshPort "cd $RemoteStack && docker compose up -d --build"
}
Write-Host "==> Health check..."
Start-Sleep -Seconds 6
ssh -o BatchMode=yes -m $SshMac "${SshUser}@${HostAddr}" -p $SshPort @"
docker ps --filter name=sqlservercheck --format 'table {{.Names}}\t{{.Status}}'
curl -sf -o /dev/null -w 'localhost /ts: %{http_code}\n' http://127.0.0.1:8090/ts
"@
Write-Host ""
Write-Host "Deploy selesai."
Write-Host " https://sqlservercheck.gisportal.id/ts"
Write-Host " https://sqlservercheck.gisportal.id/nts"