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.
1.7 KiB
1.7 KiB
Decisions — Technology Stack
Terakhir Diperbarui: 2026-06-29
Backend — Laravel 12 (PHP 8.3)
Dipilih karena:
- Tim familiar dengan PHP/Laravel
- Eloquent ORM + migration system matang
- Built-in: auth, queue, mail, broadcast
- Komunitas besar, LTS roadmap jelas
Ditolak:
- FastAPI (Python): Dipakai di GeoNetAgent — pilihan valid, tapi tim lebih familiar Laravel untuk portal
- Node.js/Express: Less familiar, lebih cocok untuk real-time
Database — PostgreSQL
Dipilih karena:
- Open source, tidak ada biaya lisensi
- Support pgvector untuk Fase 4 (Ollama AI search)
- JSON/JSONB support
- Docker official image reliable
Ditolak:
- MySQL: Tidak support pgvector
- SQL Server: Berlisensi, sudah ada hanya untuk GIS legacy
Auth — LDAP Active Directory
Dipilih karena:
- Semua user IT sudah di AD
- Single source of truth identity
- Tidak perlu manage password terpisah
File Storage — QNAP QuObjects (OSS)
Dipilih karena:
- Hardware sudah ada (QNAP TS-932X)
- S3-compatible → Laravel
s3driver standar - File persist lintas container rebuild
AI Search — Ollama + pgvector (Fase 4)
Dipilih karena:
- Self-hosted, data tidak keluar jaringan internal
- Ollama: mudah deploy + model management
- pgvector: tetap di PostgreSQL yang sudah ada
Ditolak:
- OpenAI API: Data sensitif tidak boleh keluar, biaya berulang
- Elasticsearch: Overkill untuk skala ini
Monitoring — Zabbix
Dipilih karena:
- Sudah berjalan di 10.100.1.42
- Manage semua server + network
Prinsip: Jangan duplikasi fungsi Zabbix di aplikasi custom.
Infrastruktur Jaringan — MikroTik CCR2004
Sudah ada, dikelola via RouterOS scripts (server/*.rsc).