# Architecture — System Overview > **Terakhir Diperbarui:** 2026-06-29 --- ## Diagram Sistem ```mermaid graph TB subgraph CLIENTS["Clients"] BROWSER["Browser\n(IT Admin, User)"] NEXTJS["Next.js PWA\nmy.gisportal.id"] AGENT["PowerShell Agent\n(Endpoint Windows)"] end subgraph SERVER24["10.100.1.24 — App Server (CentOS 8)"] NGX["Nginx\nSSL termination\nReverse Proxy"] GC["geonet-console\nLaravel 12 + PHP 8.3\n:8091"] PGCON["audit-postgres\nPostgreSQL\n(container)"] end subgraph SERVER25["10.100.1.25 — Database Server"] MSSQL["SQL Server 2019\n:1433"] PGSEARCH["PostgreSQL\ngeonet_project_search\n(pgvector - Fase 4)"] end subgraph INFRA["Infrastruktur Existing"] AD["AD / LDAP\n10.100.1.40"] QNAP["QNAP NAS\n10.100.1.10\nOSS + SMB"] OLLAMA["Ollama VM\n10.100.1.26\n(Fase 4)"] ZABBIX["Zabbix\n10.100.1.42"] MIKROTIK["MikroTik CCR2004\n10.100.1.1"] end BROWSER -->|HTTPS| NGX NEXTJS -->|HTTPS API| NGX AGENT -->|HTTPS POST| NGX NGX -->|:8091| GC GC --> PGCON GC -->|LDAP bind| AD GC -->|read registry| MSSQL GC -->|OSS S3 avatar| QNAP GC -.->|Fase 4| PGSEARCH GC -.->|Fase 4| OLLAMA NGX -->|/super-apps/| QNAP style GC fill:#2196F3,color:#fff style PGCON fill:#FF9800,color:#fff style NGX fill:#607D8B,color:#fff ``` --- ## Komponen | Komponen | Role | Host | |----------|------|------| | **Nginx** | SSL termination + reverse proxy | 10.100.1.24 | | **geonet-console** | IT portal — auth, LDAP mgmt, DB registry, API | 10.100.1.24:8091 | | **audit-postgres** | PostgreSQL app + audit DB | container di 10.100.1.24 | | **Active Directory** | Auth source (LDAP bind) | 10.100.1.40 | | **SQL Server** | Database registry (read-only) | 10.100.1.25:1433 | | **QNAP OSS** | Avatar + file storage (S3-compatible) | 10.100.1.10:8010 | | **Zabbix** | Server/VM monitoring real-time | 10.100.1.42 | | **MikroTik** | Gateway, firewall, routing | 10.100.1.1 | | **Ollama VM** | AI inference (Fase 4) | 10.100.1.26:11434 | --- ## Prinsip Arsitektur - **Geonet-console** = unified IT portal, bukan tool tunggal - **Jangan duplikasi Zabbix** — monitoring real-time tetap di Zabbix - **LDAP sebagai auth source** — tidak ada local user di geonet-console - **PostgreSQL untuk app baru** — SQL Server hanya untuk legacy/GIS - **QNAP OSS untuk file** — bukan filesystem lokal server