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.
 
 
 
 
 
 

7.6 KiB

Session Handover — Super Apps GIS Portal

Dibuat: 2026-07-01 Untuk: AI Agent / Developer yang melanjutkan pekerjaan Status terakhir: Feedback feature selesai, Zammad siap di-deploy


BACA INI DULU SEBELUM APAPUN

  1. Baca Workspace-Context.md → rules dan policy workspace
  2. Baca ARCHITECTURE.md → 7 diagram Mermaid arsitektur lengkap
  3. Baca backlog.md → roadmap semua fase + detail teknis tiap microservice
  4. Baca server-audit/host.md → daftar server, SSH command, catatan ops
  5. Baca server-audit/deploy-log.md → log semua deploy yang sudah dilakukan

Ringkasan Proyek

Super Apps GIS Portal adalah employee portal internal berbasis PWA untuk organisasi GIS.

Komponen URL Stack Status
Frontend PWA my.gisportal.id Next.js 16 + React 19 Live
Backend API console.gisportal.id Laravel 11 Live
Asset/Agent Service agent.gisportal.id FastAPI Live
Storage file.gisportal.id QNAP OSS S3 Live
Auth 10.100.1.40 Active Directory LDAP Live
Ticketing ticket.gisportal.id Zammad Belum deploy
Mail mail.gisportal.id Mailcow Belum deploy

Semua Docker di server 10.100.1.24.


Apa yang Sudah Selesai (sesi ini: 1 Jul 2026)

1. Feature Feedback (Bug Report & Saran)

  • FE: FeedbackButton + FeedbackDialog floating di semua halaman
  • Backend: POST/GET/PATCH /api/v1/feedback di geonet-console
  • DB: tabel feedback sudah ter-migrate di production
  • Docs: mysupperapps_FE_PWA/docs/features/feedback.md
  • Catatan deploy: container geonet-console tidak mount source dari host → wajib docker cp untuk update file tanpa rebuild

2. Disk Cleanup Server 10.100.1.24

  • Disk sebelumnya: 98% penuh (1.3 GB free)
  • Root cause: Docker build cache 45.29 GB
  • Tindakan: docker builder prune -af
  • Hasil: 50% (26 GB free) — cukup untuk deploy Zammad

3. SSH Key Setup

  • 10.100.1.51 (ArcGIS Base Dev) → passwordless via id_ed25519_geonet_proxmox
  • 10.100.1.52 (ArcGIS DS Object) → passwordless via id_ed25519_geonet_proxmox
  • 10.100.1.101 & 10.100.1.102 (Proxmox) → passwordless

4. USB Passthrough Proxmox

  • VM 103 di 10.100.1.102 → PCI controller 00:1a.0 (USB 2.0 bus 1) di-passthrough

5. GeoNetAgent v0.1.12

  • Tambah scheduled task shutdown (GeoNetAgent-Report-Shutdown)
  • Deploy ke agent.gisportal.id/install/

Yang Harus Dikerjakan Selanjutnya

PRIORITAS UTAMA: Deploy Zammad

Kenapa Zammad dulu?

  • Disk sudah cukup (26 GB free, Zammad butuh ~15 GB)
  • RAM cukup (9.4 GB available)
  • Feedback feature sudah live tapi belum ada yang handle tiket
  • Permission ticketing.* sudah ada di sistem, tinggal diaktifkan
  • Halaman /ticket di sidebar sudah ada, tinggal disambungkan

Langkah deploy Zammad:

  1. Hapus dangling images untuk tambah ruang: docker image prune -f (+7.9 GB)
  2. Buat Docker stack di /opt/stacks/zammad
  3. Setup domain ticket.gisportal.id di Nginx 10.100.1.24
  4. Konfigurasi Zammad: LDAP ke 10.100.1.40, group mapping, SLA
  5. Integrasi ke geonet-console: feedback → auto-create tiket Zammad
  6. Buat halaman /ticket di FE

Detail teknis Zammadbacklog.md section "Fase 3 — Ticketing"


Akses Server (SSH)

# App server (semua app Docker)
ssh -m hmac-sha1 root@10.100.1.24 -p 22

# Database
ssh -m hmac-sha1 root@10.100.1.25 -p 22

# Active Directory / LDAP
ssh -m hmac-sha1 Administrator@10.100.1.40 -p 22

# Dev Proxmox
ssh root@10.100.1.101

# Opr Proxmox
ssh root@10.100.1.102

# ArcGIS Base (Dev)
ssh dev51-base  # atau: ssh Administrator@10.100.1.51 -p 22

# ArcGIS DS Object
ssh dev13-object  # atau: ssh Administrator@10.100.1.52 -p 22

# NAS QNAP
ssh -i "$env:USERPROFILE\.ssh\id_ed25519" -o IdentitiesOnly=yes admin@10.100.1.10 -p 22

Deploy ke Server (cara yang benar)

Container geonet-console dan my-portal tidak mount source dari host. Ada 2 cara update:

Cara A — docker cp (cepat, tidak permanen)

# Copy file ke container
scp -o "MACs hmac-sha1" -P 22 <file-lokal> root@10.100.1.24:/opt/stacks/<service>/path/
ssh -m hmac-sha1 root@10.100.1.24 -p 22 "docker cp /opt/stacks/<service>/path/<file> <container>:/var/www/html/path/<file>"
ssh -m hmac-sha1 root@10.100.1.24 -p 22 "docker exec <container> php artisan route:clear"

Perubahan hilang jika container di-recreate/rebuild

Cara B — rebuild image (permanen)

scp -o "MACs hmac-sha1" -P 22 <file> root@10.100.1.24:/opt/stacks/<service>/path/
ssh -m hmac-sha1 root@10.100.1.24 -p 22 "cd /opt/stacks/<service> && docker compose up -d --build"

Struktur Repo Penting

app on git/
├── ARCHITECTURE.md          ← 7 diagram Mermaid (BACA INI)
├── backlog.md               ← Roadmap + detail teknis semua fase
├── Workspace-Context.md     ← Rules & policy untuk AI agent
├── SESSION-HANDOVER.md      ← File ini
│
├── server-audit/
│   ├── host.md              ← Daftar server + SSH commands
│   └── deploy-log.md        ← Log semua deploy
│
├── mysupperapps_FE_PWA/     ← Frontend Next.js (repo terpisah, .gitignored di root)
│   ├── context-index.md     ← Entry point AI untuk FE
│   ├── CHANGELOG.md         ← Changelog FE (terbaru: v1.4.0 feedback)
│   └── docs/                ← Dokumentasi lengkap FE
│       ├── features/feedback.md  ← Docs feature feedback
│       └── ...
│
└── server-connection/
    └── geonet-console/      ← Source code Laravel backend
        ├── context-index.md ← Entry point AI untuk backend
        ├── routes/api.php   ← Semua API routes
        ├── app/Models/Feedback.php
        ├── app/Http/Controllers/Api/V1/FeedbackController.php
        └── database/migrations/2026_07_01_000001_create_feedback_table.php

Permission System (Ringkas)

Permission dari LDAP group mapping di tabel group_permissions:

Group Contoh Permission
Domain Admins Semua 17 permission
IT-Admin 13 permission
IT-Staff 11 permission
Management 9 permission
Staff/HR 6 permission

Cara pakai di FE:

import { usePermission } from '@/lib/permissions'
const canManage = usePermission('ticketing.manage')

Permission tersedia: profile.view, profile.edit, dashboard.view, cmdb.*, monitoring.view, ticketing.*, mail.view, asset_mgmt.*, geonet_agent.view, admin.*


Catatan Teknis Penting

geonet-console

  • Container name: geonet-console
  • Path di server: /opt/stacks/geonet-console/
  • Path di container: /var/www/html/
  • Build cache sudah dibersihkan — rebuild pertama akan lebih lambat
  • Migration terbaru: 2026_07_01_000001_create_feedback_table (sudah run)

my-portal (Frontend)

  • Container name: my-portal
  • Path di server: /opt/stacks/my-portal/
  • Port: 8092 → 3000
  • Build: Next.js standalone output di dalam Docker

QNAP OSS Storage

  • Endpoint internal: http://10.100.1.10:8010
  • Bucket: super-apps
  • Public URL: https://file.gisportal.id/super-apps/
  • Driver Laravel: s3 dengan use_path_style_endpoint=true

Nginx Reverse Proxy

  • Config path: /etc/nginx/conf.d/
  • Reload: nginx -s reload

Roadmap Ringkas

✅ Auth + Profile + Asset Mgmt + Admin Permission
✅ GeoNet Agent v0.1.12
✅ Feedback System (bug/saran)
⏳ Zammad (ticketing)          ← NEXT
⏳ Content/Feed                ← Bisa paralel
⏳ Mailcow (email server)
⏳ Push Notification
⏳ Mail UI
⏳ KPI Dashboard

Detail lengkap → backlog.md