$ErrorActionPreference = "Stop" $VPS = "deploy@204.168.156.179" $MVN = "C:\Users\Anwender\IdeaProjects\Claude\bot-service-index\apix-mvp" Set-Location $MVN Write-Host "Copying web content into portal..." Copy-Item "$MVN\..\web\api-index.org\index.html" ` "$MVN\apix-portal\src\main\resources\META-INF\resources\index.html" -Force Write-Host "Building all modules..." mvn clean package -DskipTests -q Write-Host "Transferring infra config..." scp "$MVN\infra\Caddyfile" "${VPS}:/opt/apix/infra/Caddyfile" scp "$MVN\infra\docker-compose.yml" "${VPS}:/opt/apix/infra/docker-compose.yml" scp "$MVN\infra\Dockerfile.registry" "${VPS}:/opt/apix/infra/Dockerfile.registry" scp "$MVN\infra\Dockerfile.portal" "${VPS}:/opt/apix/infra/Dockerfile.portal" scp "$MVN\infra\Dockerfile.spider" "${VPS}:/opt/apix/infra/Dockerfile.spider" scp "$MVN\infra\Dockerfile.demo" "${VPS}:/opt/apix/infra/Dockerfile.demo" Write-Host "Transferring registry..." scp "$MVN\apix-registry\target\quarkus-app\app\apix-registry-1.0-SNAPSHOT.jar" ` "${VPS}:/opt/apix/apix-registry/target/quarkus-app/app/apix-registry-1.0-SNAPSHOT.jar" scp "$MVN\apix-registry\target\quarkus-app\quarkus\quarkus-application.dat" ` "${VPS}:/opt/apix/apix-registry/target/quarkus-app/quarkus/quarkus-application.dat" Write-Host "Transferring portal..." scp "$MVN\apix-portal\target\quarkus-app\app\apix-portal-1.0-SNAPSHOT.jar" ` "${VPS}:/opt/apix/apix-portal/target/quarkus-app/app/apix-portal-1.0-SNAPSHOT.jar" scp "$MVN\apix-portal\target\quarkus-app\quarkus\quarkus-application.dat" ` "${VPS}:/opt/apix/apix-portal/target/quarkus-app/quarkus/quarkus-application.dat" # Spider + Demo are small — full copy every time so lib/ is always current Write-Host "Transferring spider (full copy)..." ssh $VPS "mkdir -p /opt/apix/apix-spider/target" scp -r "$MVN\apix-spider\target\quarkus-app" ` "${VPS}:/opt/apix/apix-spider/target/quarkus-app" Write-Host "Transferring demo (full copy)..." ssh $VPS "mkdir -p /opt/apix/apix-demo/target" scp -r "$MVN\apix-demo\target\quarkus-app" ` "${VPS}:/opt/apix/apix-demo/target/quarkus-app" Write-Host "Rebuilding images and restarting stack..." ssh $VPS @" cd /opt/apix && \ docker build -f infra/Dockerfile.registry -t apix-registry:latest . -q && \ docker build -f infra/Dockerfile.portal -t apix-portal:latest . -q && \ docker build -f infra/Dockerfile.spider -t apix-spider:latest . -q && \ docker build -f infra/Dockerfile.demo -t apix-demo:latest . -q && \ docker compose -f infra/docker-compose.yml --env-file .env up -d registry portal spider demo && \ docker exec infra-caddy-1 caddy reload --config /etc/caddy/Caddyfile "@ Write-Host "Done." Write-Host " Registry: https://api-index.org/" Write-Host " Portal: https://www.api-index.org/" Write-Host " Demo: https://demo.api-index.org/" Write-Host " Spider: internal (no public port)"