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.
2.6 KiB
2.6 KiB
Architecture — Deployment Architecture
Terakhir Diperbarui: 2026-06-29
Topology
Internet / LAN
│ HTTPS :443
▼
┌──────────────────────────────────────────────────┐
│ Nginx Reverse Proxy (10.100.1.24) │
│ /etc/nginx/conf.d/production/ │
│ - geonet-console.conf → console.gisportal.id │
│ - databaselist.conf → databaselist.gisportal.id│
│ /etc/nginx/conf.d/nas.conf │
│ - file.gisportal.id/super-apps/ → QNAP OSS │
└──────────────┬───────────────────────────────────┘
│ proxy_pass 127.0.0.1:8091
▼
┌──────────────────────────────┐
│ geonet-console Container │
│ PHP 8.3 + Laravel 12 │
│ PHP-FPM + Nginx (in-cont) │
│ supervisord │
│ Port: :8091 │
└──────────┬───────────────────┘
│
┌──────────┴──────────────────┐
│ audit-postgres Container │
│ PostgreSQL 15 │
│ - databaselist_app │
│ - databaselist_audit │
└─────────────────────────────┘
External:
QNAP OSS (10.100.1.10:8010) — avatar storage
LDAP AD (10.100.1.40) — authentication
SQL Server (10.100.1.25) — DB registry read
Docker Compose (geonet-console)
services:
geonet-console:
build: .
ports:
- "127.0.0.1:8091:80"
env_file: .env
depends_on: [audit-postgres]
restart: unless-stopped
volumes:
- app_storage:/var/www/html/storage
audit-postgres:
image: postgres:15
env_file: .env
restart: unless-stopped
volumes:
- audit_pg_data:/var/lib/postgresql/data
volumes:
app_storage:
audit_pg_data:
Stack Paths di Server
| Stack | Path |
|---|---|
| geonet-console | /opt/stacks/geonet-console/ |
| databaselist | /opt/stacks/databaselist/ |
| sqlservercheck | /opt/stacks/sqlservercheck/ |
| my-portal | /opt/stacks/my-portal/ |
SSL
HTTPS via Let's Encrypt (certbot) di Nginx 10.100.1.24. Semua domain *.gisportal.id di-terminate di Nginx.
Port 80 redirect → 443.