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.
 
 
 
 
 
 

4.1 KiB

Database Documentation

Terakhir Diperbarui: 2026-06-29


Koneksi Database

Connection Name Driver Host Database Dipakai Untuk
pgsql (default) PostgreSQL audit-postgres (container) databaselist_app App metadata, user meta, tokens, settings
audit PostgreSQL audit-postgres (container) databaselist_audit Audit log aktivitas
project_search PostgreSQL 10.100.1.25 (external) geonet_project_search Indeks AI project search (Fase Ollama)
mssql SQL Server 10.100.1.25:1433 master Database registry (read-only)

DB_CONNECTION=pgsql di compose.yaml override nilai di .env. Jangan ubah ke sqlite.


Database: databaselist_app (PostgreSQL App)

Tabel Utama

Tabel Model Keterangan
ldap_user_meta LdapUserMeta Metadata user LDAP (avatar, settings, last login)
ldap_group_meta LdapGroupMeta Metadata group LDAP
database_connections DatabaseConnection Registry database (SQL Server, PostgreSQL, dll.)
service_tokens ServiceToken Token antar-service (sync ke GeoNetAgent)
api_tokens ApiToken Personal API token per user
oauth_access_tokens Laravel Passport/Sanctum tokens
oauth_personal_access_clients OAuth clients

ldap_user_meta

Kolom Tipe Keterangan
id bigint PK
username varchar UNIQUE LDAP username
avatar varchar nullable Path relatif di OSS: avatars/<filename>
display_name varchar nullable
email varchar nullable
department varchar nullable
last_login_at timestamp nullable Terakhir login
created_at timestamp
updated_at timestamp

service_tokens

Kolom Tipe Keterangan
id bigint PK
name varchar Nama token
service varchar Nama service pemilik
token varchar UNIQUE Token value (hashed)
abilities json Scopes/abilities
expires_at timestamp nullable
last_used_at timestamp nullable
revoked_at timestamp nullable
created_at timestamp

Database: databaselist_audit (Audit Log)

audit_logs

Kolom Tipe Keterangan
id bigint PK
actor varchar Username atau service yang melakukan aksi
actor_type varchar user, api_token, service_token
action varchar Nama aksi (mis. ldap.user.update)
target_type varchar nullable Resource yang diubah
target_id varchar nullable ID resource
payload json nullable Data sebelum/sesudah perubahan
ip_address varchar nullable
created_at timestamp

Migration

Cara Menjalankan Migration

Migration berjalan otomatis saat container start via docker/entrypoint.sh.

Untuk manual:

docker exec geonet-console php artisan migrate --force

Catatan Penting

  • Migration project_search DB membutuhkan koneksi ke 10.100.1.25 — jika tidak reachable, container tetap start tapi log warning muncul.
  • Jangan jalankan migrate:fresh di production.
  • OAuth keys di-generate otomatis dan disimpan di Docker volume app_storage.

Akses Database (Lokal)

# Masuk ke container PostgreSQL
docker exec -it audit-postgres psql -U geonet_app -d databaselist_app

# Dari server 10.100.1.24
ssh -m hmac-sha1 root@10.100.1.24 -p 22
docker exec -it audit-postgres psql -U geonet_app -d databaselist_app

SQL Server (Registry Read-Only)

SQL Server di 10.100.1.25:1433 digunakan oleh geonet-console hanya untuk membaca daftar database (database registry). Tidak ada write ke SQL Server dari geonet-console.

Driver: pdo_sqlsrv (terinstall di container via Dockerfile)


Lihat Juga

  • geonet-console/database/migrations/ — semua migration files
  • geonet-console/config/database.php — konfigurasi koneksi
  • geonet-console/.env.example — env vars database