# OpenWebUI

# Installation & Setup of OIKB

## 1. Prerequisites

- Python 3.10 or newer
- OpenWebUI 0.9.6 or newer
- Bookstack v25 or newer

## 2. Installation

### 2.1. Create Service User

```console
sudo useradd --system --no-create-home --shell /usr/sbin/nologin oikb
sudo mkdir -p /opt/oikb /etc/oikb
sudo chown oikb:oikb /etc/oikb

```

### 2.2. Python Environment

```console
sudo apt update
sudo apt install -y python3 python3-venv python3-pip ca-certificates
sudo python3 -m venv /opt/oikb/venv
sudo /opt/oikb/venv/bin/pip install --upgrade pip oikb
sudo chown -R oikb:oikb /opt/oikb

```

### 2.3 Environment Filee

Create new File in `/opt/oikb/oikb.env` and paste the following Content in

```console
OPEN_WEBUI_URL=https://openwebui.company.com
OPEN_WEBUI_API_KEY=sk-...
BOOKSTACK_URL=https://bookstack.company.com
BOOKSTACK_TOKEN_ID=...
BOOKSTACK_TOKEN_SECRET=...
KB_ID_PUBLIC=...
OIKB_API_KEY=...
LOG_FORMAT=json

```

You need to paste in your actual URLs (`OPEN_WEBUI_URI` and `BOOKSTACK_URL`) and your actual API Tokens (`OPEN_WEBUI_API_KEY` and both `BOOKSTACK_TOKEN_ID` and `BOOKSTACK_TOKEN_SECRET`)

Then finish by ensuring correct Permissions

```console
sudo chmod 600 /etc/oikb/oikb.env
sudo chown oikb:oikb /etc/oikb/oikb.env

```

### 2.4 First Init

Load Shell before

```console
set -a
source /etc/oikb/oikb.env
set +a

```

then initialize oikb interactivly

```console
cd /etc/oikb
sudo -u oikb -E env "PATH=/opt/oikb/venv/bin:$PATH" oikb init

```