LLM: RAG ollama menggunakan open-webui dan postgresql docker
Untuk menginstal Ollama, Node.js, Open WebUI, dan PostgreSQL tanpa Docker di Ubuntu 24.04, serta menyimpan dokumen Retrieval-Augmented Generation (RAG) di basis data vektor, Anda dapat mengikuti langkah-langkah berikut:
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. Instalasi Ollama dan Model LLM:
Ollama adalah alat untuk mengelola dan menjalankan model bahasa besar (LLM) secara lokal.
- Unduh dan Instal Ollama:
sudo apt install curl net-tools sudo curl -fsSL https://ollama.com/install.sh | sh
- Buat file layanan systemd untuk Ollama:
sudo nano /etc/systemd/system/ollama.service
Isi dengan:
[Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 [Install] WantedBy=default.target
Kemudian, aktifkan dan mulai layanan:
sudo systemctl daemon-reload sudo systemctl enable ollama sudo systemctl start ollama
- Unduh Model LLM:
Misalnya, untuk mengunduh model DeepSeek Coder V2 16b:
ollama pull llama3 ollama pull bge-m3:latest
Optional,
ollama pull gemma3:4b ollama pull deepseek-r1:7b ollama pull llama3.2:1b ollama pull qwen2.5-coder:7b # untuk coding ollama pull adijayainc/bhsa-deepseek-r1-1.5b ollama pull adijayainc/bhsa-llama3.2 ollama pull rizkiagungid/deeprasx ollama pull fyandono/chatbot-id ollama pull rexyb10/codeai ollama pull fahlevi20/DeepSeek-R1-TechSchole-Indonesia
2. Install Open WebUI via Docker Compose
Install docker & docker compose
sudo apt install -y docker.io sudo apt update sudo apt install -y ca-certificates curl gnupg 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 \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update sudo apt install docker-compose-plugin
docker compose version
Buat file `docker-compose.yml`:
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`.
3. Jalankan dengan Docker Compose
sudo docker compose up -d
Tunggu beberapa detik. Lalu akses:
http://localhost:3000
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.
Tips Tambahan
Ganti model
ollama run mistral
Lalu di WebUI, ganti ke `mistral`.
Expose PostgreSQL ke aplikasi lain (misalnya pgAdmin) Tambahkan port:
ports: - "5432:5432"
di service `postgresdb`.
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` |
Untuk model lainnya, sesuaikan perintah di atas.
2. Instalasi Node.js:
Node.js diperlukan untuk menjalankan aplikasi JavaScript di sisi server.
- Menggunakan Node Version Manager (NVM):
Instal NVM:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Muat ulang shell:
source ~/.bashrc
Instal Node.js versi terbaru:
nvm install node
3. Instalasi Open WebUI:
Open WebUI adalah antarmuka pengguna web untuk berinteraksi dengan model AI.
- Clone Repository dan Instal Dependensi:
Directly (Non-Docker): If not using Docker, you can set the DATABASE_URL environment variable when running Open WebUI. Code
DATABASE_URL="postgresql://<username>:<password>@<host>:<port>/<database_name>" python -m open_webu
i
git clone https://github.com/open-webui/open-webui.git cd open-webui npm install
- Jalankan Open WebUI:
npm start
4. Instalasi PostgreSQL tanpa Docker:
PostgreSQL adalah sistem manajemen basis data relasional open-source.
- Tambahkan Repository Resmi PostgreSQL dan Instal:
sudo apt update sudo apt install -y postgresql
- Verifikasi Instalasi:
sudo systemctl status postgresql
5. Penyimpanan Dokumen RAG di Basis Data Vektor:
Untuk menyimpan dokumen RAG di basis data vektor, Anda dapat menggunakan ekstensi seperti pgvector untuk PostgreSQL.
- Instal pgvector:
psql -d nama_database -c "CREATE EXTENSION vector;"
- Buat Tabel dengan Kolom Vektor:
CREATE TABLE items ( id bigserial PRIMARY KEY, embedding vector(1536) );
- Masukkan Data dengan Vektor:
INSERT INTO items (embedding) VALUES ('[0.1, 0.2, ..., 0.1536]');
Dengan mengikuti langkah-langkah di atas, Anda dapat mengatur lingkungan yang mendukung Ollama, Node.js, Open WebUI, dan PostgreSQL tanpa Docker di Ubuntu 24.04, serta menyimpan dokumen RAG di basis data vektor.
Kalau kamu mau aku bantu generate semua file siap pakai (dengan template password dan setting), tinggal bilang aja ya.