Menginstall Ollama dan Open WebUI di Ubuntu 24.04 tanpa Docker

Menginstall Ollama dan Open WebUI di Ubuntu 24.04 tanpa Docker

Table of Contents

Dalam keadaan sangat mengantuk, saya mencoba untuk menginstall Ollama dan WebUI-nya.

Memang saat ini saya telah menginstall llama.cpp dan mencoba menjalankan beberapa model LLM dengan aplikasi llama-cli dan llama-server.

Namun, karena saya duga penggunaan API yang rencananya akan diterapkan pada bot Misskey ini lebih mudah di-setup dengan Ollama dan WebUI, maka akhirnya saya putuskan untuk menginstallnya.

Kali ini tanpa Docker.

Sengaja saya lakukan itu karena saya tidak ingin repot masuk ke dalam container untuk menjalankan Ollama dalam keperluan testing.

Langkah pertama yang saya lakukan adalah menginstall Ollama dulu, baru kemudian dilanjutkan dengan menginstall Python 3.11, kemudian Open WebUI.

Menginstall Ollama

Penginstallan Ollama mudah dilakukan meski tanpa Docker sekalipun.

Perintahnya adalah:

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

Selanjutnya saya tinggal menunggu prosesnya selesai.

Setelah selesai, saya langsung coba model gemma3:1b:

ollama run gemma3:1b

Karena model tersebut cukup ringan untuk Mini PC saya.

Menginstall Python dengan Version Manager-nya yang Bernama pyenv

Version manager Python yang bernama pyenv ini sengaja saya gunakan hanya untuk berjaga-jaga barangkali saya akan memerlukan coding Python dari versi yang berbeda dengan 3.11.

Caranya:

curl -fsSL https://pyenv.run | bash

Selanjutnya, saya copy script bash yang tampil di akhir penginstallan ke .bashrc dan .profile.

Itu saja belum cukup, karena saya masih harus menginstall build dependencies saat saya akan menginstall Python-nya dengan pyenv:

sudo apt update

sudo apt install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Setelah itu, baru saya bisa menginstall Python 3.11:

pyenv install 3.11

Dan menerapkannya secara global:

pyenv global 3.11.13

Di perintah barusan tertulis 3.11.13 karena saat menginstall 3.11, saya mendapatkan versi 3.11.13. Mungkin Anda akan mendapatkan versi lainnya.

Menginstall Open WebUI

Penginstallan Open WebUI saat ini cukup sederhana:

pip install open-webui

Yang setelah selesai saya pastikan dengan menjalankannya:

open-webui serve --host 127.0.0.1 --port 8080

Setelah output di terminal terlihat selesai saya buka browser saya ke http://127.0.0.1:8080 dan registrasi saya lakukan.

Untungnya, saya tidak harus memasukkan password yang kompleks karena saya juga malas melakukannya.

Dan inilah hasilnya:

Bonus! Membuat Systemd --user agar Open WebUI Jalan Otomatis

Saya ingin agar Open WebUI berjalan otomatis saat saya telah login ke Ubuntu.

Maka, saya memulainya dengan membuat script "run-open-webui.sh":

#!/bin/bash

/home/namauser/.pyenv/versions/3.11.13/bin/open-webui serve --host 127.0.0.1 --port 8080

Versi Python di script tadi tergantung apa yang kita dapatkan saat menginstall Python tadi.

Langkah selanjutnya, saya akan memberi permission pada "run-open-webui.sh" untuk bisa di-execute.

sudo chmod +x run-open-webui.sh

Kemudian memindahkannya ke folder "/usr/bin":

sudo mv ./run-open-webui.sh /usr/bin

Selanjutnya, saya akan membuat script systemd di level user dengan cara:

nano ~/.config/systemd/user/owebui.service

Kemudian mengisinya dengan:

[Unit]
Description=Start open web ui at login
After=graphical-session.target

[Service]
ExecStart=/usr/bin/run-open-webui.sh
Restart=always

[Install]
WantedBy=default.target

Kemudian menyelesaikannya dengan:

loginctl enable-linger $USER

sudo loginctl enable-linger $USER

systemctl --user daemon-reexec

systemctl --user daemon-reload

systemctl --user enable owebui.service

systemctl --user start owebui.service

Jika Anda ingin tahu apa itu loginctl enable-linger $USER, itu maksudnya owebui.service bisa jalan walaupun $USER tidak login.

Kita perlu itu karena systemctl menggunakan argument --user.

Kesimpulan

Menurut saya, Ollama dan Open WebUI saat ini mudah untuk diinstall.

Namun, yang lebih menjadi pertimbangan saya dalam menggunakannya bukan hanya karena itu, tapi juga karena alasan lain seperti dugaan saya tentang kemudahan setup untuk API-nya.