Cara Men-deploy Open WebUI dan Ollama di Server
13 mins read

Cara Men-deploy Open WebUI dan Ollama di Server


Model bahasa lokal diam-diam beralih dari mainan hobi menjadi alat kerja bagi bisnis dan pengembang. Alasannya jelas: percakapan tetap berada di infrastruktur Anda sendiri, biaya terikat pada server dan bukan pada jumlah token, dan akses ke chatbot tidak bergantung pada batas kecepatan API eksternal. Ollama dan Open WebUI merupakan salah satu pasangan yang paling nyaman untuk jenis pengaturan ini: satu menangani pemuatan dan menjalankan model, yang lain menyediakan antarmuka yang jelas di atasnya.

Mari kita telusuri cara menyiapkan pasangan ini di server reguler: sumber daya apa yang Anda perlukan, langkah apa yang harus diikuti, dan kesalahan mana yang sebaiknya dihindari. Panduan ini mengasumsikan Anda telah mengonfigurasi server sebelumnya, namun belum tentu bekerja dengan model lokal — kami akan membahas dasar-dasarnya sepanjang proses.

Apa Sebenarnya Ollama dan Open WebUI

Menjadi adalah runtime untuk model bahasa besar: ia mengunduh, menjalankan, dan menyajikannya melalui REST API sederhana. Ia berfungsi sebagai layanan latar belakang — ia menerima permintaan, memuat model yang diperlukan ke dalam memori, dan mengembalikan respons. Pustaka model Ollama mencakup lusinan model terbuka, mulai dari versi ringkas dengan parameter 2–3 miliar hingga versi besar dengan 70 miliar lebih, jika memori memungkinkan.

Buka WebUSaya adalah antarmuka web untuk berbicara dengan model, secara visual mirip dengan chatbot yang sudah dikenal. Ini terhubung ke Ollama melalui jaringan dan menambahkan akses multi-pengguna, riwayat percakapan, pengunggahan dokumen untuk pencarian berbasis pengambilan, dan konfigurasi prompt sistem. Proyek ini awalnya bernama Ollama WebUI, kemudian memperluas dukungan ke backend lain dengan API yang kompatibel dengan OpenAI. Sederhananya, Ollama adalah mesin yang menjalankan model, dan Open WebUI adalah etalase tempat orang berinteraksi.

Dalam pengaturan ini, server hanyalah VPS biasa: ia menyimpan model pada disk, mengalokasikan RAM dan CPU untuk model tersebut, dan menyajikan antarmuka web kepada pengguna melalui browser.

Cara Kerja: Arsitektur dan Penerapan Langkah-demi-Langkah

Arsitekturnya sederhana: Ollama berjalan sebagai layanan terpisah pada port 11434, Open WebUI berjalan pada portnya sendiri dan berkomunikasi dengan Ollama melalui jaringan internal, dan pengguna terhubung melalui alamat HTTPS biasa di browser mereka. Untuk isolasi dan pengelolaan yang lebih mudah, kedua komponen biasanya dijalankan di container Docker, dengan proxy terbalik — nginx atau Caddy — yang menangani lalu lintas masuk.

Langkah 1: Mempersiapkan Server

Sebelum menginstal apa pun, ada baiknya memutuskan model mana yang ingin Anda jalankan, karena model tersebut menentukan berapa banyak memori yang Anda perlukan. Model ringkas dengan 7–8 miliar parameter dalam bentuk terkuantisasi biasanya memerlukan sekitar 6–10 GB RAM bergantung pada tingkat kuantisasi dan panjang konteks; Model dengan 13 miliar parameter dimulai lebih tinggi, dan versi 30 miliar lebih tanpa GPU tidak realistis di sebagian besar server. Berikan ruang tambahan pada disk Anda juga: masing-masing model berkisar dari 2 GB hingga 40+ GB, dan ruang disk akan hilang dengan cepat jika Anda bereksperimen dengan beberapa model.

Untuk sebagian besar kasus penggunaan — chatbot internal, pengujian model, asisten tim — server dengan 4–8 inti, RAM 16 GB, dan SSD berukuran 60 GB atau lebih merupakan dasar yang masuk akal. Karena penggunaan memori sebenarnya sangat bergantung pada kuantisasi dan panjang konteks, bukan pada satu angka tetap, ada baiknya memeriksa penggunaan sebenarnya dengan ollama ps setelah memuat model daripada hanya mengandalkan tabel. Di sinilah server VPS Serverspace berguna — merencanakan skala RAM dan disk dengan mudah jika suatu model ternyata lebih menuntut dari yang diharapkan.

Langkah 2: Menginstal Docker dan Docker Compose

Berikutnya adalah pengaturan lingkungan standar. Di server Ubuntu yang bersih, ini memerlukan beberapa perintah:

sudo apt update && sudo apt upgrade -y
curl -fsSL  | sh
sudo usermod -aG docker $USER
sudo apt install docker-compose-plugin -y

Setelah menambahkan pengguna Anda ke grup buruh pelabuhan, masuk kembali melalui SSH agar perubahan diterapkan tanpa memerlukan sudo.

Langkah 3: Luncurkan Ollama dan Buka WebUI

Kedua layanan dapat dijelaskan dalam satu docker-compose.yml:

version: "3.8"
services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    restart: unless-stopped
    volumes:
      - ollama_data:/root/.ollama
    ports:
      - "11434:11434"

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    depends_on:
      - ollama
    environment:
      - OLLAMA_BASE_URL=
    volumes:
      - webui_data:/app/backend/data
    ports:
      - "3000:8080"

volumes:
  ollama_data:
  webui_data:

File ini mendefinisikan dua layanan. Ollama menyimpan model dalam volume terpisah sehingga model tersebut dapat bertahan dalam pembangunan kembali kontainer, dan Open WebUI mendapatkan alamat Ollama melalui variabel lingkungan dan mendengarkan pada port 3000 secara eksternal. Semuanya dimulai dengan satu perintah:

docker compose up -d

Setelah sekitar tiga puluh detik Anda dapat memeriksa apakah kedua container sedang berjalan:

docker ps

Langkah 4: Mengunduh Model

Model ditarik dengan perintah di dalam wadah Ollama. Misalnya, untuk Llama 3 8B:

docker exec -it ollama ollama pull llama3

Prosesnya memakan waktu mulai dari beberapa menit hingga setengah jam, bergantung pada ukuran model dan kecepatan jaringan. Untuk melihat model mana yang sudah diunduh:

docker exec -it ollama ollama list

Model Mana yang Harus Dipilih

Perlu diperhatikan bahwa pilihan model secara langsung memengaruhi kecepatan respons dan persyaratan server. Di bawah ini adalah beberapa opsi populer dari perpustakaan Ollama, bersama dengan perkiraan kasarnya memori — penggunaan sebenarnya bergantung pada tingkat kuantisasi dan panjang konteks, jadi perlakukan ini sebagai titik awal dan bukan angka pasti.

Model Parameter Memori (rata-rata) Cocok untuk
Lama 3 8B kira-kira RAM 8–10 GB percakapan umum dan pembuatan draf teks
Mistral 7B kira-kira RAM 6–8 GB tanggapan cepat pada sumber daya yang terbatas
Permata 2 9B kira-kira 10–13 GB RAM pada CPU jawaban singkat dan terstruktur dengan baik
Qwen 2.5 7B–14B kira-kira RAM 8 hingga 16 GB tugas pengkodean dan pekerjaan multibahasa
Fi-3 3.8B kira-kira RAM 4–6 GB server yang lebih lemah dan pengaturan pengujian

Angka-angka ini mengasumsikan inferensi khusus CPU dengan jendela konteks moderat. Percakapan yang lebih panjang dan kuantisasi dengan presisi lebih tinggi meningkatkan penggunaan aktual — selalu konfirmasikan dengan ollama ps setelah memuat daripada mempercayai meja sendirian.

Langkah 5: Menyiapkan Domain dan HTTPS

Mengekspos antarmuka melalui HTTP biasa adalah ide yang buruk — kata sandi dan percakapan akan berjalan tanpa terenkripsi. Letakkan nginx di depan layanan:

server {
    listen 80;
    server_name chat.example.com;

    location / {
        proxy_pass 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Kemudian terbitkan sertifikat dengan satu perintah certbot:

sudo certbot --nginx -d chat.example.com

Setelah itu, Open WebUI tersedia melalui https, dan certbot akan memperbarui sertifikat secara otomatis.

Langkah 6: Firewall dan Jalankan Pertama

Port Ollama tidak boleh menghadap ke internet secara langsung — port tersebut hanya perlu dijangkau oleh Open WebUI di dalam jaringan container. Secara eksternal, buka hanya 22, 80, dan 443:

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

Dari sini Anda dapat mengunjungi pembuatan pengguna pertama — yang secara otomatis mendapatkan hak admin — dan memilih model dari model yang telah Anda unduh.

Keuntungan dan Kerugian

Apakah layak menerapkan model di server Anda sendiri ketika API cloud sudah tersedia? Jika pengendalian data dan perkiraan biaya penting bagi Anda, ya — inilah alasannya.

  • Kontrol penuh atas data: percakapan dan dokumen yang diunggah tidak pernah meninggalkan infrastruktur Anda.
  • Biaya yang dapat diprediksi: Anda membayar untuk server, bukan per token permintaan.
  • Bekerja tanpa akses ke API eksternal — cocok untuk jaringan terisolasi.
  • Kebebasan memilih model, dengan opsi untuk menyediakan beberapa model sekaligus.
  • Kontrol fleksibel atas antarmuka, perintah, dan izin pengguna.

Ada sisi buruknya juga, dan ada baiknya mempertimbangkannya sejak dini.

  • Model terbuka masih tertinggal dibandingkan API komersial teratas dalam tugas-tugas kompleks.
  • Anda memerlukan server dengan ruang memori dan CPU — model yang lebih besar kesulitan dengan konfigurasi yang lemah.
  • Menjaga versi Ollama dan Open WebUI tetap kompatibel adalah sesuatu yang harus Anda lacak sendiri.
  • Keamanan dan pencadangan sepenuhnya menjadi tanggung jawab Anda.

Keterbatasan dan Resiko

Pada CPU tanpa GPU, model dengan parameter di atas 13 miliar merespons jauh lebih lambat — jawaban yang panjang bisa memerlukan waktu puluhan detik. Jika kecepatan penting, ada baiknya melihat konfigurasi yang dilengkapi GPU atau tetap menggunakan model ringkas.

Port Ollama yang terbuka tanpa autentikasi adalah sumber masalah yang umum: jika API akhirnya dapat dijangkau dari luar, siapa pun dapat memuat server dan membakar sumber dayanya. Proksi terbalik yang dikombinasikan dengan pembatasan akses tingkat firewall menutup kesenjangan ini.

Pemberian lisensi juga patut untuk diperiksa: beberapa model hanya mengizinkan penggunaan untuk penelitian, model lainnya membatasi penggunaan komersial melebihi jumlah audiens tertentu. Sebelum penggunaan produksi, ada baiknya memeriksa kartu model di perpustakaan Ollama secara terpisah.

Terakhir, hosting mandiri berarti dukungan mandiri: jika layanan tidak berfungsi, tim Anda harus mengembalikannya — tidak seperti API cloud dengan SLA yang terjamin.

Kasus Penggunaan Praktis

Asisten Tim Internal

Sebuah perusahaan menerapkan Open WebUI di servernya sendiri dan menghubungkan karyawan melalui domain bersama. Setiap orang mendapat akun terpisah, riwayat percakapan tetap terpisah per pengguna, dan materi sensitif — kode, data keuangan, draf kontrak — tidak pernah keluar dari infrastruktur.

Kotak Pasir untuk Memilih Model

Sebelum menyematkan LLM ke dalam suatu produk, pengembang membuat beberapa model di satu server dan membandingkan kualitas jawaban pada contoh nyata. Ollama memungkinkan Anda menyimpan 3–4 model sekaligus dan beralih di antara model tersebut tanpa menginstal ulang apa pun.

Basis Pengetahuan dengan Pencarian Dokumen

Open WebUI dapat mengindeks kebijakan internal, dokumentasi teknis, atau arsip tiket dukungan, lalu menelusuri kebijakan tersebut pada setiap kueri. Ini menangani dukungan lini pertama tanpa mengirimkan dokumen ke layanan eksternal.

Pembelajaran dan Eksperimen

Siswa dan pengembang junior menggunakan pasangan ini untuk latihan: penyesuaian cepat, membandingkan arsitektur model, mengeksplorasi perilaku API — seluruh tumpukan dapat disiapkan di server anggaran dalam satu malam, tanpa menabrak batas layanan eksternal tingkat gratis.

Saluran Cadangan untuk Pemadaman API Eksternal

Jika proses bisnis bergantung pada API cloud dan terkadang mengalami batas kecepatan atau waktu henti, server lokal yang menjalankan Ollama dan Open WebUI berfungsi sebagai saluran cadangan: permintaan sederhana dapat dialihkan ke sana tanpa menghentikan seluruh proses.

Kesalahan Umum

Gejala Menyebabkan Memperbaiki
Kontainer Ollama mogok saat memuat model besar RAM tidak cukup untuk ukuran model yang dipilih Beralih ke model yang lebih kecil atau tingkatkan RAM server
Semua model hilang setelah server dimulai ulang Ollama menyimpan data di dalam wadah tanpa volume Lampirkan volume persisten di docker-compose dan buat ulang containernya
Respons membutuhkan waktu puluhan detik Inferensi berjalan pada CPU tanpa akselerasi Gunakan model yang lebih kecil atau pindah ke server dengan GPU
Open WebUI tidak dapat dijangkau melalui HTTPS dari luar Proksi terbalik dan sertifikat tidak dikonfigurasi Siapkan nginx dengan proxy_pass ke port container dan terbitkan sertifikat melalui certbot
Port 11434 merespons siapa pun dari internet Pelabuhan Ollama terbuka secara eksternal tanpa batasan Tutup port di tingkat firewall, pertahankan akses terbatas pada jaringan kontainer
Ruang disk tiba-tiba habis Terlalu banyak model yang diunduh “hanya untuk mencoba” Hapus model yang tidak digunakan dengan ollama rm dan awasi penggunaan disk

Kesimpulan

Pasangan Ollama dan Open WebUI menangani penerapan chatbot lokal dengan cepat tanpa bergantung pada API pihak ketiga. Keuntungannya adalah pengendalian data dan biaya yang dapat diprediksi; sisi negatifnya adalah harus melacak sendiri sumber daya server dan pembaruan komponen.

Memulai hanya membutuhkan Docker, satu docker-compose.yml, dan server dengan ruang memori yang cukup untuk model pilihan Anda — dari sana, penyiapannya berskala: menambahkan model, menghubungkan pencarian pada dokumen Anda sendiri, menghubungkan banyak pengguna. Seiring bertambahnya beban, sumber daya server dapat dengan mudah ditingkatkan tanpa harus bermigrasi ke infrastruktur baru — misalnya, melalui panel kontrol VPS Serverspace, di mana memori dan disk berubah tanpa menginstal ulang sistem. Untuk penjelasan lebih mendalam tentang server, lihat blog Serverspace.

Pertanyaan Umum

Apakah saya memerlukan GPU untuk menjalankan Ollama?

Tidak, Ollama berjalan dengan baik di CPU — model yang lebih besar hanya akan menghasilkan respons lebih lambat. Untuk model ringkas dengan parameter 3–8 miliar, CPU biasanya cukup.

Berapa banyak ruang disk yang dibutuhkan beberapa model?

Hal ini bergantung pada campurannya: satu model dengan parameter 7–8 miliar berbobot 4–5 GB, versi yang lebih besar menjalankan 20–40 GB atau lebih. Jika Anda bereksperimen dengan 3–4 model, rencanakan ruang kosong minimal 50 GB.

Bisakah saya menghubungkan Open WebUI ke API eksternal, bukan Ollama?

Ya, antarmukanya mendukung API yang kompatibel dengan OpenAI — Anda dapat menggunakan model lokal dan cloud secara berdampingan, beralih di antara keduanya dalam obrolan yang sama.

Bagaimana cara memperbarui model ke versi yang lebih baru?

Jalankan docker exec -it ollama ollama pull dengan nama model — Ollama akan mengunduh versi saat ini dan mengganti versi sebelumnya di penyimpanan.

Apakah aman untuk mengekspos Open WebUI ke internet?

Aman selama Anda menguasai dasar-dasarnya: akses HTTPS, port Ollama tertutup, kata sandi pengguna yang kuat, dan gambar container yang diperbarui secara berkala.

Berapa banyak pengguna yang dapat didukung oleh satu server?

Dalam praktiknya, VPS kelas menengah dengan RAM 16 GB biasanya cukup untuk tim yang terdiri dari 5–10 orang dengan beban sedang. Panggilan penggunaan yang lebih berat untuk meningkatkan konfigurasi.

News
Berita Teknologi
Berita Olahraga
Sports news
sports
Motivation
football prediction
technology
Berita Technologi
Berita Terkini
Tempat Wisata
News Flash
Football
Gaming
Game News
Gamers
Jasa Artikel
Jasa Backlink
Agen234
Agen234
Agen234
Resep
Cek Ongkir Cargo
Download Film

Leave a Reply

Your email address will not be published. Required fields are marked *