Instalasi On-Premise

Deploy Lokawatch di infrastruktur Anda sendiri dengan satu skrip. Sebelum memulai, pastikan Anda sudah menyelesaikan checklist Persiapan Server dan sudah memiliki username serta password registry (dikirim terpisah oleh account manager Anda).

Metode deployment ini bisa Anda lakukan sendiri — tidak perlu menunggu sesi remote terjadwal. Hubungi account manager Anda kapan saja jika membutuhkan bantuan.

1. Klon Repository Deployment

Account manager Anda akan memberikan URL repository Git — ini adalah repository deployment yang kecil dan khusus, bukan source code aplikasi kami. Klon repository tersebut di server:

git clone REPO_URL_DARI_ACCOUNT_MANAGER lokawatch-deploy
cd lokawatch-deploy

2. Jalankan Installer

Satu perintah ini menangani semuanya:

./lokawatch.sh install

Anda akan dipandu langkah demi langkah, hanya ditanya hal-hal yang memang perlu Anda tentukan sendiri:

  • Docker terpasang otomatis jika belum ada — tidak perlu instalasi manual.
  • Anda akan ditanya bagaimana server ini akan diakses, lalu HTTPS dikonfigurasi sesuai pilihan:
Pilihan Kapan digunakan Yang terjadi
Domain publik Server dapat diakses dari internet, DNS sudah mengarah ke server ini Sertifikat Let's Encrypt otomatis, diperbarui sendiri
IP / hostname internal Server hanya berada di jaringan internal Anda, mis. https://192.168.1.50 Sertifikat self-signed dibuatkan otomatis. Browser akan menampilkan peringatan satu kali — tambahkan pengecualian keamanan, sama seperti aplikasi internal perusahaan lainnya
HTTP biasa Anda sudah menangani HTTPS sendiri (mis. Cloudflare Tunnel, reverse proxy sendiri) Tidak ada sertifikat yang dibuat — atur akses sesuai kebutuhan Anda

Setelah itu, password database dan signing key dibuatkan otomatis (tidak perlu menjalankan perintah openssl sendiri), login ke registry image (akan meminta username dan password yang Anda terima jika belum login), menarik (pull) image, menjalankan semua layanan, dan menyiapkan database.

Sudah pernah menjalankan Lokawatch dengan instalasi sebelumnya? Jalankan perintah yang sama. Instalasi lama akan terdeteksi otomatis, database dan gambar bukti kamera akan dibackup, lalu dimigrasikan ke metode instalasi ini secara otomatis — tidak perlu membersihkan apa pun secara manual.

3. Akses Dashboard

Installer akan menampilkan URL dashboard setelah selesai — domain Anda melalui HTTPS, IP server Anda melalui HTTPS (mode internal), atau IP-nya melalui HTTP biasa, tergantung pilihan Anda di langkah 2.

Login dengan admin@lokawatch.com / admin123 untuk instalasi baru (juga ditampilkan di akhir proses) — segera ganti password ini.

Perintah Sehari-hari

Semua kebutuhan setelah instalasi awal menggunakan skrip yang sama, dijalankan dari infrastructure/on-premise/:

Perintah Fungsinya
./lokawatch.sh update [versi] Menarik versi terbaru dan deploy ulang. Database dibackup otomatis terlebih dahulu. Data Anda tetap aman. Tanpa argumen versi, akan menarik ulang versi yang sedang terpasang.
./lokawatch.sh redeploy Membuat ulang semua container dari konfigurasi saat ini (mis. setelah mengubah .env). Data tetap aman, tidak ada image baru yang ditarik.
./lokawatch.sh restart <layanan> Restart satu layanan saja, mis. ./lokawatch.sh restart backend-api.
./lokawatch.sh status Status kesehatan container dan pengecekan API singkat.
./lokawatch.sh logs [layanan] Menampilkan log — semua layanan, atau satu layanan tertentu.
./lokawatch.sh reset Destruktif. Menghapus seluruh data dan memulai dari awal. Wajib mengetik RESET untuk konfirmasi; tetap dibackup terlebih dahulu.

Untuk mendapatkan file deployment terbaru (bukan hanya versi aplikasi baru), tarik dulu repository-nya:

git pull
./lokawatch.sh update

Dukungan GPU

Jika server Anda memiliki GPU NVIDIA dengan Container Toolkit terpasang, tambahkan GPU=1 di depan perintah apa pun:

GPU=1 ./lokawatch.sh install

CPU saja sudah cukup untuk jumlah kamera skala pilot — GPU membantu saat skala lebih besar dan mempercepat ringkasan LLM.

Butuh dashboard dan backend terpisah di dua server? Installer standar menjalankan semuanya dalam satu server. Hubungi account manager Anda untuk mendiskusikan deployment terpisah.

Pemecahan Masalah

Cek log layanan

./lokawatch.sh logs
./lokawatch.sh logs backend-api

Restart satu layanan

./lokawatch.sh restart backend-api

Cek kesehatan sistem

./lokawatch.sh status

Browser memperingatkan soal sertifikat (instalasi jaringan internal)

Ini wajar jika Anda memilih opsi IP/hostname internal — sertifikatnya self-signed, bukan diterbitkan oleh certificate authority publik, karena memang tidak ada domain publik untuk diterbitkan sertifikatnya. Klik "Advanced" / "Proceed" pada peringatan tersebut satu kali dan tambahkan pengecualian keamanan, sama seperti aplikasi internal perusahaan lainnya.

Sertifikat Let's Encrypt gagal

Jika Anda memilih opsi domain publik dan sertifikatnya gagal terbit:

  1. Pastikan DNS domain Anda sudah mengarah ke IP server ini sebelum menjalankan installer — Let's Encrypt memverifikasi ini lewat internet.
  2. Pastikan port 80 dan 443 terbuka baik di UFW maupun panel firewall provider VPS Anda (banyak provider memblokir traffic sebelum sampai ke server Anda).
  3. Jika Anda berada di belakang proxy Cloudflare (orange cloud) alih-alih A record langsung, gunakan opsi internal/self-signed sebagai gantinya — Cloudflare menangani TLS di edge-nya, jadi origin Anda tidak perlu sertifikat yang diterbitkan publik.

Timeout Cloudflare (522)

Jika menggunakan Cloudflare Tunnel dan Cloudflare menampilkan "522 Connection Timed Out":

  1. Pastikan tunnel berjalan dan terhubung di server.
  2. Cek ./lokawatch.sh status — container dashboard/backend harus dalam keadaan sehat.

Container terus-menerus restart

Cek ./lokawatch.sh logs untuk pesan error spesifik. Penyebab umum:

  • PostgreSQL belum siap — layanan lain akan mencoba ulang secara otomatis.
  • Health check gagal — periksa apakah layanan yang menjadi dependensinya benar-benar berjalan.
  • Kehabisan memori — pastikan server Anda memenuhi kebutuhan minimum (RAM 8 GB).

Ada yang terlihat aneh setelah migrasi atau update

Setiap update, reset, dan migrasi otomatis membuat backup terlebih dahulu, tersimpan di infrastructure/on-premise/backups/ pada server (dump database ditambah salinan gambar bukti kamera). Tidak ada yang dihapus otomatis — jika ada yang terlihat tidak beres, kondisi sebelumnya masih tersimpan di disk.

Hubungi Tim Kami

Ceritakan operasi Anda — kami akan merespons dalam 1 hari kerja.