# Deployment Guide > **Terakhir Diperbarui:** 2026-06-29 --- ## Deploy geonet-console ### Via Script (Direkomendasikan) ```powershell .\scripts\deploy-geonet-console.ps1 ``` ### Manual Step-by-Step **Step 1 — Buat archive (dari Windows)** ```powershell tar -czf "$env:TEMP\geonet-console.tar.gz" ` --exclude="vendor" --exclude=".git" --exclude="node_modules" ` -C "D:\Project\app on git\server-connection\geonet-console" . ``` **Step 2 — Upload ke server** ```powershell Start-Process -FilePath "cmd.exe" -ArgumentList ` '/c ssh -m hmac-sha1 root@10.100.1.24 -p 22 "cat > /tmp/geonet-console.tar.gz" < "%TEMP%\geonet-console.tar.gz"' ` -Wait -NoNewWindow ``` **Step 3 — Extract & deploy di server** ```bash ssh -m hmac-sha1 root@10.100.1.24 -p 22 cd /opt/stacks/geonet-console tar -xzf /tmp/geonet-console.tar.gz -C . && rm /tmp/geonet-console.tar.gz docker compose up -d --build --force-recreate ``` **Step 4 — Verifikasi** ```bash docker ps --filter name=geonet-console docker logs geonet-console --tail 30 curl -s https://console.gisportal.id/health || curl -s http://127.0.0.1:8091/health ``` --- ## Deploy Nginx Config ```powershell .\scripts\deploy-geonet-console-nginx.ps1 ``` Atau manual: ```bash ssh -m hmac-sha1 root@10.100.1.24 -p 22 nginx -t && nginx -s reload ``` --- ## Deploy databaselist (Legacy) ```powershell .\scripts\deploy-databaselist.ps1 # build + deploy .\scripts\deploy-databaselist.ps1 -NoBuild # restart saja ``` --- ## Deploy sqlservercheck ```powershell .\scripts\deploy-sqlservercheck.ps1 ``` --- ## Apply DB Migration Migration berjalan otomatis saat container start. Untuk manual: ```bash ssh -m hmac-sha1 root@10.100.1.24 -p 22 docker exec geonet-console php artisan migrate --force ``` --- ## Setup Pertama Kali (Fresh Deploy) ```bash ssh -m hmac-sha1 root@10.100.1.24 -p 22 mkdir -p /opt/stacks/geonet-console # Upload file dari laptop (lihat step manual di atas) cd /opt/stacks/geonet-console cp .env.example .env nano .env # isi semua credentials docker compose up -d --build ``` --- ## Rollback ```bash ssh -m hmac-sha1 root@10.100.1.24 -p 22 cd /opt/stacks/geonet-console docker compose down # Upload versi sebelumnya docker compose up -d --build ``` --- ## Checklist Deployment - [ ] Kode terbaru di-commit ke repo lokal - [ ] Tidak ada file `.env` yang ikut ter-archive - [ ] Script atau manual upload berhasil - [ ] `docker compose up -d --build` sukses - [ ] Container status `Up` (`docker ps`) - [ ] `https://console.gisportal.id` accessible - [ ] Login LDAP berhasil - [ ] Avatar endpoint berfungsi (`GET /me` punya `avatar_url`) - [ ] Update `perintah.md` (Sync terakhir) --- ## Penting > ⚠️ **JANGAN overwrite `.env`** saat deploy — `.env` server berisi credentials production yang tidak ada di repo. > ⚠️ Extract **tanpa** `--strip-components` agar struktur folder tetap benar.