Checklist Persiapan Server

Selesaikan langkah-langkah berikut sebelum sesi deployment yang dijadwalkan. Tim Lokawatch akan terhubung secara remote untuk menyelesaikan instalasi setelah server siap.

Anda hanya perlu menyelesaikan langkah 1–7. Semua proses setelahnya — instalasi perangkat lunak, konfigurasi, dan go-live — akan ditangani oleh tim Lokawatch saat sesi deployment berlangsung.

Klik tombol salin di sebelah setiap perintah, lalu tempel dan jalankan di terminal — satu baris per satu.

1
Verifikasi Spesifikasi Server

Siapkan server yang memenuhi persyaratan berikut. VPS cloud (DigitalOcean, Hetzner, AWS, atau sejenisnya) maupun server fisik di jaringan Anda sama-sama dapat digunakan.

Sistem Operasi Ubuntu 24.04 LTS (64-bit)
CPU Minimum 4 core  ·  Rekomendasi 8 core
RAM Minimum 8 GB  ·  Rekomendasi 16 GB
Disk Minimum 100 GB SSD  ·  Rekomendasi 200 GB
Jaringan IP statis atau nama domain yang terdaftar
Port Terbuka 22 (SSH)  ·  80 (HTTP)  ·  443 (HTTPS)

Menggunakan Cloudflare Tunnel? Anda hanya perlu membuka port 22 (SSH). Port 80 dan 443 tetap tertutup secara lokal — Cloudflare menangani lalu lintas masuk melalui tunnel. Bagian firewall di bawah menjelaskan ini.

2
Update Awal Sistem

Jalankan sebagai root

Login ke server sebagai root dan perbarui sistem ke versi terbaru.

# Perbarui daftar paket
apt update
# Upgrade semua paket yang terinstal
apt upgrade -y
# Atur nama host server (ganti dengan nama yang Anda pilih)
hostnamectl set-hostname nama-server-anda
# Atur zona waktu
timedatectl set-timezone Asia/Jakarta
3
Buat User Deployment

Jalankan sebagai root

Buat user khusus bernama deploy. Akun ini akan memiliki aplikasi dan digunakan oleh tim Lokawatch untuk akses remote. Jangan gunakan root untuk deployment.

# Buat user tanpa password (login hanya dengan SSH key)
adduser --disabled-password --gecos "" deploy
# Izinkan deploy menjalankan semua perintah dengan sudo tanpa password
echo "deploy ALL=(ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/deploy
# Kunci izin file sudoers
chmod 440 /etc/sudoers.d/deploy
# Beralih ke user deploy untuk langkah selanjutnya
su - deploy

Setelah menjalankan su - deploy, prompt terminal Anda akan berubah. Langkah 4–7 dijalankan sebagai user deploy.

4
Instal Tools Pendukung

Jalankan sebagai deploy

Utilitas ini dibutuhkan selama proses deployment dan pengelolaan server secara umum.

# Instal semua tools yang diperlukan dalam satu perintah
sudo apt install -y vim git curl wget unzip make htop net-tools ufw fail2ban ca-certificates gnupg lsb-release
5
Instal Docker

Jalankan sebagai deploy

Gunakan repository resmi Docker — bukan paket bawaan Ubuntu yang sudah usang.

Tambahkan GPG key Docker

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Tambahkan repository Docker

# Ini satu perintah panjang — salin seluruh barisnya
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instal Docker Engine

sudo apt update
# Ini satu perintah panjang — salin seluruh barisnya
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Aktifkan layanan Docker dan tambahkan deploy ke grup docker

sudo systemctl enable docker
sudo systemctl start docker
# Grup docker sudah ada — tambahkan deploy ke dalamnya
sudo usermod -aG docker deploy

Aktifkan perintah docker-compose

# Buat symlink agar docker-compose bisa dipakai sebagai perintah mandiri
sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose

Verifikasi dengan: docker --version dan docker-compose version

Jalankan exit && su - deploy sekarang — logout dan login kembali sebagai deploy akan mengaktifkan keanggotaan grup Docker sehingga Anda bisa menggunakan docker tanpa sudo di langkah selanjutnya.

6
Konfigurasi Firewall

Jalankan sebagai deploy

Buka hanya port yang diperlukan untuk setup Anda. Jalankan perintah ini secara berurutan.

Jangan jalankan sudo ufw enable sebelum mengizinkan port SSH 22, atau Anda akan terkunci dari server.

Firewall penyedia VPS: Banyak penyedia (DigitalOcean, Hetzner, Vultr, Linode) memiliki panel firewall sendiri yang memblokir lalu lintas sebelum mencapai server Anda. Aturan UFW tidak akan membantu jika firewall penyedia memblokir port. Selalu periksa UFW dan pengaturan firewall penyedia VPS Anda.

Menggunakan Cloudflare Tunnel? Lewati port 80 dan 443 — Anda hanya perlu SSH. Tunnel terhubung secara outbound, jadi tidak ada port inbound (selain 22) yang diperlukan.

Atur kebijakan default

sudo ufw default deny incoming
sudo ufw default allow outgoing

Buka port yang diperlukan

sudo ufw allow 22/tcp← SSH — selalu buka port ini
sudo ufw allow 80/tcp← HTTP
sudo ufw allow 443/tcp← HTTPS

Aktifkan dan verifikasi

sudo ufw enable
sudo ufw status verbose
7
Buat SSH Key & Bagikan

Jalankan sebagai deploy

Tim Lokawatch membutuhkan public key ini untuk mengakses server selama proses deployment.

# Buat pasangan SSH key (tekan Enter jika diminta passphrase)
ssh-keygen -t ed25519 -C "deploy@server-anda" -f ~/.ssh/id_ed25519 -N ""
# Tampilkan public key — salin hasilnya dan kirim ke account manager Anda
cat ~/.ssh/id_ed25519.pub

Kirimkan seluruh output dari cat ~/.ssh/id_ed25519.pub ke account manager Lokawatch Anda. Private key (id_ed25519) tetap di server — jangan pernah dibagikan.

Server Anda siap

Setelah semua 7 langkah selesai, beri tahu account manager Lokawatch Anda. Kami akan menjadwalkan sesi remote untuk menyelesaikan instalasi, mengkonfigurasi kamera, dan menyerahkan sistem kepada Anda.

Checklist Cepat

  • Ubuntu 24.04 LTS terinstal, minimal 8 GB RAM, 100 GB SSD
  • Sistem diperbarui (apt update lalu apt upgrade)
  • User deploy dibuat dan ditambahkan ke grup docker
  • Tools pendukung terinstal (git, curl, vim, dll.)
  • Docker Engine dan docker-compose terinstal dan berjalan
  • Firewall aktif — port 22, 80, 443 terbuka
  • SSH key dibuat — public key sudah dikirim ke account manager

Hubungi Tim Kami

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