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
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.jsonvsVERSIONlokal)
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 agentpush_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 milestonedi.cursor/progress.md - Update
Sync terakhirdiperintah.md