Nodeflux Central

Install Dependencies

Pasang dependensi sistem yang dibutuhkan FREMIS-N — Docker, NVIDIA driver, NVIDIA Container Toolkit, dan dependensi runtime lainnya.

Sebelum menjalankan FREMIS-N, mesin host Anda perlu memiliki beberapa komponen sistem yang terpasang: Docker Engine, NVIDIA driver (untuk runtime GPU), dan NVIDIA Container Toolkit. Panduan ini memasang masing-masing komponen secara berurutan. Ikuti dari atas ke bawah pada mesin Ubuntu yang bersih, dan host Anda akan siap untuk langkah Pre-requisite Installation.

Asumsi panduan ini:

  • OS: Ubuntu 22.04 atau lebih baru
  • Akses: hak sudo
  • Jaringan: mesin dapat mengakses internet publik untuk mengunduh paket
  • GPU: kartu NVIDIA terpasang secara fisik (lewati bagian NVIDIA jika Anda menjalankan runtime CPU saja)

1. Update Sistem

Mulai dengan memperbarui indeks paket:

sudo apt update && sudo apt upgrade -y

Reboot jika upgrade menginstal kernel baru:

sudo reboot

2. NVIDIA Driver

Lewati bagian ini jika Anda menjalankan FREMIS-N dengan runtime CPU saja.

Cek deteksi GPU

lspci | grep -i nvidia

Anda harus melihat kartu NVIDIA terdaftar. Jika tidak ada yang muncul, pastikan kartu terpasang dengan benar sebelum melanjutkan.

Hapus paket NVIDIA yang ada

Mencampur versi driver menyebabkan masalah yang sulit di-debug. Mulai bersih:

sudo apt-get purge -y 'nvidia-*' 'libnvidia-*'
sudo apt-get autoremove -y

Pasang driver yang direkomendasikan

Ubuntu dapat memilih driver yang tepat untuk kartu Anda secara otomatis:

sudo ubuntu-drivers install

Atau, jika Anda ingin menentukan versi tertentu (FREMIS-N membutuhkan 525 atau lebih baru):

sudo apt install -y nvidia-driver-535

Reboot

Driver hanya dimuat setelah boot ulang:

sudo reboot

Verifikasi

Setelah mesin kembali aktif, jalankan:

nvidia-smi

Anda harus melihat tabel yang mencantumkan GPU, versi driver, dan versi CUDA. Jika terjadi error, periksa dmesg | grep -i nvidia untuk petunjuk.


3. Docker Engine

FREMIS-N dikirimkan sebagai Docker image, sehingga Docker Engine wajib ada.

Hapus paket Docker lama

sudo apt-get remove -y docker docker-engine docker.io containerd runc

Tambahkan repositori resmi Docker

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

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

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Pasang Docker Engine, CLI, dan plugin Compose

sudo apt-get update
sudo apt-get install -y \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

Paket docker-compose-plugin memberikan perintah docker compose (Compose v2) — ini yang dibutuhkan untuk langkah selanjutnya.

Jalankan Docker tanpa sudo

Tambahkan user Anda ke grup docker agar tidak perlu menyertakan sudo di setiap perintah:

sudo groupadd docker 2>/dev/null || true
sudo usermod -aG docker $USER

Logout dan login kembali (atau jalankan newgrp docker) agar perubahan grup berlaku.

Verifikasi

docker run --rm hello-world
docker compose version

Perintah pertama menarik image kecil dan mencetak pesan "Hello from Docker!". Perintah kedua mencetak versi Compose v2.


4. NVIDIA Container Toolkit

Komponen ini yang membuat flag --gpus all berfungsi — ia mengizinkan container Docker melihat GPU Anda. Lewati bagian ini jika Anda menjalankan runtime CPU saja.

Tambahkan repositori NVIDIA

distribution=$(. /etc/os-release; echo $ID$VERSION_ID)

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
  sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null

Pasang toolkit

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

Konfigurasi Docker untuk menggunakannya

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Verifikasi

Jalankan container CUDA dan pastikan dapat melihat GPU Anda:

docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi

Anda harus melihat tabel GPU yang sama seperti saat menjalankan nvidia-smi langsung di host. Jika berhasil, toolkit sudah bekerja dengan benar.


Siap Lanjut

Jika semua langkah verifikasi di atas berhasil, host Anda sudah siap. Anda sekarang memiliki:

  • NVIDIA driver yang berfungsi (nvidia-smi berjalan)
  • Docker Engine dan Docker Compose v2 (docker run hello-world berjalan)
  • NVIDIA Container Toolkit (docker run --gpus all ... nvidia-smi berjalan)

Lanjutkan ke panduan berikut untuk merencanakan topologi dan runtime FREMIS-N:

On this page