LLM: RAG ollama menggunakan open-webui dan postgresql docker

From OnnoWiki
Revision as of 03:58, 22 March 2025 by Onnowpurbo (talk | contribs) (Created page with "Berikut adalah **langkah lengkap untuk install dan konfigurasi Open WebUI agar bisa bicara dengan Ollama dan menyimpan data ke PostgreSQL**: --- ## 🧠 Apa Itu? - **Ollama*...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Berikut adalah **langkah lengkap untuk install dan konfigurasi Open WebUI agar bisa bicara dengan Ollama dan menyimpan data ke PostgreSQL**:

---

    1. 🧠 Apa Itu?

- **Ollama** = backend LLM yang jalan lokal (support model seperti LLaMA3, Mistral, dll) - **Open WebUI** = antarmuka web seperti ChatGPT, tapi open-source dan bisa pakai Ollama. - **PostgreSQL** = digunakan sebagai backend database (default-nya pakai SQLite, tapi bisa kita ganti ke PostgreSQL untuk skalabilitas & multi-user).

---

    1. 📦 Prasyarat

Pastikan kamu sudah install: - **Docker** & **Docker Compose** - **Ollama** (https://ollama.com) - **PostgreSQL** (lokal atau remote)

---

    1. ⚙️ Langkah-langkah
      1. 1. Install & Jalankan Ollama

```bash

  1. Install (Linux)

curl -fsSL https://ollama.com/install.sh | sh

  1. Jalankan model (misalnya llama3)

ollama run llama3 ```

Atau untuk download dulu tanpa run: ```bash ollama pull llama3 ```

> 📌 Jalankan `ollama serve` jika belum otomatis jalan di background.

---

      1. 2. Install Open WebUI via Docker Compose
        1. Buat file `docker-compose.yml`:

```yaml version: '3.8' services:

 webui:
   image: ghcr.io/open-webui/open-webui:main
   ports:
     - "3000:8080"
   volumes:
     - open-webui-data:/app/backend/data
   environment:
     - OLLAMA_BASE_URL=http://host.docker.internal:11434
     - DATABASE_URL=postgresql://postgres:password@postgresdb:5432/webui
   depends_on:
     - postgresdb
 postgresdb:
   image: postgres:14
   restart: always
   environment:
     POSTGRES_DB: webui
     POSTGRES_USER: postgres
     POSTGRES_PASSWORD: password
   volumes:
     - pgdata:/var/lib/postgresql/data

volumes:

 open-webui-data:
 pgdata:

```

> 🔐 Ubah username/password sesuai kebutuhan. `host.docker.internal` hanya untuk Windows/Mac. Di Linux, ganti ke IP lokal host atau `172.17.0.1`.

---

      1. 3. Jalankan dengan Docker Compose

```bash docker compose up -d ```

Tunggu beberapa detik. Lalu akses: ``` http://localhost:3000 ```

---

    1. 🧪 Tes

- Login/register di WebUI. - Pilih model `llama3` atau model lain dari Ollama. - Coba chat → Open WebUI akan mengirim prompt ke Ollama via REST API.

---

    1. 🧰 Tips Tambahan
      1. 🔄 Ganti model

```bash ollama run mistral ``` Lalu di WebUI, ganti ke `mistral`.

      1. 🔐 Expose PostgreSQL ke aplikasi lain (misalnya pgAdmin)

Tambahkan port: ```yaml ports:

 - "5432:5432"

``` di service `postgresdb`.

---

    1. 📌 Troubleshooting

| Masalah | Solusi | |--------|--------| | WebUI tidak connect ke Ollama | Cek `OLLAMA_BASE_URL` benar (localhost vs host.docker.internal vs IP) | | PostgreSQL gagal connect | Pastikan DB name, username, password cocok | | WebUI stuck loading | Cek log: `docker compose logs -f webui` |

---

Kalau kamu mau aku bantu generate semua file siap pakai (dengan template password dan setting), tinggal bilang aja ya.