# Context Index (AI Entry Point) — server-connection > **Versi Dokumen:** 1.0.0 > **Terakhir Diperbarui:** 2026-06-25 > **Status:** Aktif > **Pemilik:** Tim IT GIS Portal --- ## Tujuan Dokumen ini merupakan **titik masuk utama (Single Entry Point)** bagi seluruh AI Agent dan Developer untuk workspace **server-connection**. Setiap AI **WAJIB** membaca dokumen ini terlebih dahulu sebelum melakukan analisis, implementasi, perubahan kode, refactoring, penghapusan, deployment, maupun pembuatan dokumentasi. --- ## Filosofi - Dokumentasi adalah bagian dari source code. - Repository merupakan sumber kebenaran utama (Single Source of Truth). - AI tidak boleh mengandalkan riwayat percakapan. --- ## Proyek dalam Workspace Ini | Proyek | URL | Status | Context Index | |--------|-----|--------|---------------| | **geonet-console** | https://console.gisportal.id | ✅ Production | [`geonet-console/context-index.md`](./geonet-console/context-index.md) | | **databaselist** | https://databaselist.gisportal.id | ⚠️ Legacy (digantikan geonet-console) | — | > AI yang bekerja pada proyek spesifik **wajib membaca context-index proyek tersebut**, bukan file ini. --- ## Infrastruktur Server | Role | IP | OS | SSH Command | |------|----|----|-------------| | Reverse Proxy | 10.100.1.24 | Linux (Debian) | `ssh -m hmac-sha1 root@10.100.1.24 -p 22` | | Database (PostgreSQL + SQL Server) | 10.100.1.25 | Linux | `ssh -m hmac-sha1 root@10.100.1.25 -p 22` | | Active Directory / LDAP | 10.100.1.40 | Windows Server | `ssh -m hmac-sha1 Administrator@10.100.1.40 -p 22` | | NAS QNAP TS-932X | 10.100.1.10 | QTS | `ssh -i "$env:USERPROFILE\.ssh\id_ed25519" -o IdentitiesOnly=yes -m hmac-sha1 admin@10.100.1.10 -p 22` | | Ollama AI (VM) | 10.100.1.26 | Ubuntu 22.04 | `ssh -i "$env:USERPROFILE\.ssh\id_rsa_geonet_laptop" -o IdentitiesOnly=yes -m hmac-sha1 root@10.100.1.26 -p 22` | | Zabbix Monitor | 10.100.1.42 | Linux | `ssh -m hmac-sha1 root@10.100.1.42 -p 22` | > AI **wajib minta persetujuan user** sebelum menjalankan perintah SSH apapun. > NAS QNAP & Ollama: wajib PowerShell (bukan CMD) agar `$env:USERPROFILE` terbaca. --- ## Stack yang Berjalan di Reverse Proxy (10.100.1.24) | Stack | Path | Container | Port | |-------|------|-----------|------| | geonet-console | `/opt/stacks/geonet-console` | `geonet-console` | `8091` | | my-portal (Next.js PWA) | `/opt/stacks/my-portal` | `my-portal` | `8092` | | databaselist (legacy) | `/opt/stacks/databaselist` | `databaselist` | (legacy) | **Nginx configs:** `/etc/nginx/conf.d/production/` **OSS proxy:** `/etc/nginx/conf.d/nas.conf` --- ## Cara Transfer File ke Server (Windows → Linux) ```powershell # 1. Buat archive (tanpa vendor, .git) tar -czf "$env:TEMP\project.tar.gz" ` --exclude="vendor" --exclude=".git" --exclude="node_modules" ` -C "D:\Project\app on git\server-connection\geonet-console" . # 2. Upload — WAJIB pakai Start-Process di PowerShell Start-Process -FilePath "cmd.exe" -ArgumentList ` '/c ssh -m hmac-sha1 root@10.100.1.24 -p 22 "cat > /tmp/project.tar.gz" < "%TEMP%\project.tar.gz"' ` -Wait -NoNewWindow # 3. Extract di server ssh -m hmac-sha1 root@10.100.1.24 -p 22 "tar -xzf /tmp/project.tar.gz -C /opt/stacks/geonet-console && rm /tmp/project.tar.gz" ``` > ⚠️ **JANGAN overwrite `.env`** saat deploy — `.env` server berisi credentials production. --- ## Penutup Untuk detail implementasi setiap proyek, baca context-index masing-masing: - **geonet-console** → [`geonet-console/context-index.md`](./geonet-console/context-index.md)