# Deploy Log --- ## 2026-07-03 — Feedback → Zammad ticket sync ### Backend (geonet-console) - `ZammadTicketService` — auto-create tiket setelah `POST /api/v1/feedback` - Migration `zammad_ticket_id`, `zammad_ticket_number`, `zammad_synced_at`, `zammad_sync_error` - Env: `ZAMMAD_*` di `.env` + token dari `/opt/stacks/zammad/.fe-ticketing-token` - Fix DNS Docker di `compose.yaml` (sama issue seperti stack Zammad) - Deploy: `docker cp` + `compose up -d` — **verified** feedback #5 → Zammad ticket **#40002** ### FE (my.gisportal.id) — belum di-update di repo ini - Response API sekarang include `zammad_ticket_number`, `zammad_ticket_url` - Lihat `docapi/services/feedback/store.md` --- ### Frontend (my.gisportal.id) - Buat `src/components/feedback/feedback-dialog.tsx` — dialog form laporan bug/saran - Buat `src/components/feedback/feedback-button.tsx` — floating button di semua halaman - Update `src/app/(app)/layout.tsx` — tambah `` - Deploy: `docker compose up -d --build` di `/opt/stacks/my-portal` ### Backend (console.gisportal.id) - Buat `app/Models/Feedback.php` - Buat `app/Http/Controllers/Api/V1/FeedbackController.php` - Buat `database/migrations/2026_07_01_000001_create_feedback_table.php` - Update `routes/api.php` — tambah 3 route: `POST/GET /feedback`, `PATCH /feedback/{id}` - Deploy: `docker cp` ke container `geonet-console` + `php artisan migrate --force` - Hasil: migration `create_feedback_table` ✅ Ran, route terdaftar ✅ ### Catatan - Container geonet-console tidak mount source dari host (pakai image) → wajib `docker cp` untuk perubahan tanpa rebuild - Untuk permanen: rebuild image --- ## 2026-07-01 — SSH Key Setup ArcGIS Servers ### Server 10.100.1.52 (DEV13 — ArcGIS Data Store Object) - Install OpenSSH key via `ssh -t` dengan password sekali - Public key: `id_ed25519_geonet_proxmox` → `C:\ProgramData\ssh\administrators_authorized_keys` - SSH config alias: `dev13-object` - Hasil: `ssh dev13-object` ✅ tanpa password ### Server 10.100.1.51 (DEV11 — ArcGIS Base Development) - Install OpenSSH key via `ssh -t` dengan password sekali - Public key: `id_ed25519_geonet_proxmox` → `C:\ProgramData\ssh\administrators_authorized_keys` - SSH config alias: `dev51-base` - Hasil: `ssh dev51-base` ✅ tanpa password --- ## 2026-07-01 — Disk Cleanup Server 10.100.1.24 - Kondisi sebelum: disk 98% (1.3 GB free / 50 GB) - Root cause: Docker build cache 45.29 GB menumpuk - Tindakan: `docker builder prune -af` - Freed: 45.29 GB - Kondisi sesudah: disk 50% (26 GB free) - Dangling images: ~7.9 GB masih ada (aman untuk dibersihkan kapan saja) --- ## 2026-06-30 — USB Passthrough VM 103 (Opr Proxmox 10.100.1.102) - Flashdisk Cruzer Blade terdeteksi di `usb 1-1.4` (idVendor=0781, idProduct=5567) - Controller PCI: `0000:00:1a.0` (EHCI USB 2.0) - Hapus passthrough per-device: `qm set 103 --delete usb1` - Tambah passthrough controller: `qm set 103 -hostpci0 00:1a.0` - VM 103 restart → `hostpci0: 00:1a.0` aktif - Hasil: semua device USB yang dicolok ke bus 1 auto terdeteksi di VM 103 --- ## 2026-06-30 — SSH Key Proxmox ### Server 10.100.1.101 & 10.100.1.102 - Key: `~/.ssh/id_ed25519_geonet_proxmox` - SSH config alias: `proxmox` (10.100.1.101), `proxmox-opr` (10.100.1.102) - Hasil: `ssh root@10.100.1.101` dan `ssh root@10.100.1.102` ✅ tanpa password --- ## 2026-06-29 — GeoNetAgent v0.1.12-phase0 ### Perubahan - Tambah scheduled task `GeoNetAgent-Report-Shutdown` (Event ID 1074) - Buat `GeoNetAgent-GPO-Shutdown.cmd` dan `GeoNetAgent-GPO-Shutdown.ps1` - Update `GeoNetAgent-GPO-Startup.ps1` — cek task shutdown saat startup - Bump VERSION → `0.1.12-phase0` - Update `manifest.json` dan `index.html` (version badge dinamis) - Deploy ke `https://agent.gisportal.id/install/`