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.
 
 
 
 
 
 

3.2 KiB

Deployment Guide

Terakhir Diperbarui: 2026-06-29


Deploy FastAPI Collector

Step 1 — Buat archive di lokal (Windows PowerShell)

tar -czf "$env:TEMP\collector.tar.gz" `
    --exclude=".venv" `
    --exclude="__pycache__" `
    --exclude=".pytest_cache" `
    --exclude="*.egg-info" `
    -C "D:\Project\app on git\GeoNetAgent\collector" .

Step 2 — Upload ke server

scp -o "MACs=hmac-sha1" "$env:TEMP\collector.tar.gz" "root@10.100.1.24:/opt/stacks/geonetagent-collector/collector.tar.gz"

Step 3 — Extract, rebuild, restart

ssh -m hmac-sha1 root@10.100.1.24 -p 22 "cd /opt/stacks/geonetagent-collector && tar -xzf collector.tar.gz -C collector-src && rm collector.tar.gz && docker compose build --no-cache && docker compose up -d"

Atau gunakan script:

.\infra\collector\push_collector.ps1

Step 4 — Verifikasi

ssh -m hmac-sha1 root@10.100.1.24 -p 22 "docker ps --filter name=geonet-collector && docker logs geonet-collector --tail 20"
curl https://collector.gisportal.id/health

Publish Agent ke Server

Setelah bump versi agent (update agent/VERSION + agent/install/manifest.json):

.\infra\collector\publish_agent_install.ps1

Script ini mengupload file agent ke agent.gisportal.id/install/ sehingga:

  • User baru mendapat versi terbaru saat install
  • Agent yang sudah terpasang auto-update saat kirim laporan berikutnya (cek manifest.json vs VERSION lokal)

Deploy Nginx Config

bash infra/collector/deploy_nginx.sh

Atau manual:

scp -o "MACs=hmac-sha1" "D:\Project\app on git\GeoNetAgent\infra\nginx\collector.conf" "root@10.100.1.24:/etc/nginx/conf.d/production/collector.conf"
ssh -m hmac-sha1 root@10.100.1.24 -p 22 "nginx -t && nginx -s reload"

Apply DB Migration

# Upload migration file
scp -o "MACs=hmac-sha1" "D:\Project\app on git\GeoNetAgent\infra\db\00X_migration.sql" "root@10.100.1.25:/tmp/migration.sql"

# Apply di server DB
ssh -m hmac-sha1 root@10.100.1.25 -p 22 "psql -U geonet_collector -d geonetagent_dev -f /tmp/migration.sql"

Install Agent ke Endpoint (User)

User menjalankan di PowerShell Admin:

Invoke-WebRequest -Uri 'https://agent.gisportal.id/install/GeoNetAgent-Install.ps1' -OutFile "$env:TEMP\GeoNetAgent-Install.ps1" -UseBasicParsing
& "$env:TEMP\GeoNetAgent-Install.ps1"

Atau dengan -SkipInitialRun (install task saja, tanpa kirim laporan langsung):

& "$env:TEMP\GeoNetAgent-Install.ps1" -SkipInitialRun

Rollout Massal via GPO

Lihat agent/gpo/README.md untuk panduan script startup GPO.


Checklist Deployment

  • Update agent/VERSION (jika bump versi agent)
  • Update agent/install/manifest.json (file list + versi)
  • publish_agent_install.ps1 — setelah bump versi agent
  • push_collector.ps1 — setelah perubahan collector/UI
  • Verifikasi docker ps — container running
  • Verifikasi https://collector.gisportal.id/health — 200 OK
  • Verifikasi https://agent.gisportal.id/install/ — accessible
  • Update Riwayat milestone di .cursor/progress.md
  • Update Sync terakhir di perintah.md