Sul on juba korralik komplekt olemas – Ollama, Qwen 14B ja Qdrant. Nüüd lisame AnythingLLM-i, mis oskab kõiki neid komponente kenasti kokku siduda.

Allpool on täielik `docker-compose.yml`, mis arvestab sinu olemasoleva seadistusega.

```yaml
# docker-compose.yml
# Salvesta see kataloogi ~/anythingllm/ ja käivita: docker compose up -d

services:
  anythingllm:
    image: mintplexlabs/anythingllm:latest
    container_name: anythingllm
    restart: unless-stopped
    ports:
      - "3002:3001"
    volumes:
      - /data/docker/anythingllm/storage:/app/server/storage
      - /data/docker/anythingllm/logs:/app/server/logs
      - /backups/docker/anythingllm:/backups
      - /etc/localtime:/etc/localtime:ro
    environment:
      # Üldine
      - NODE_ENV=production
      - PORT=3001
      - STORAGE_DIR=/app/server/storage
      - SETUP=true
      
      # Autentimine (muuda kindlasti ära!)
      - AUTH_TOKEN=dwNs55RkiwSEC3TxQG0P
      - JWT_SECRET=muuda-see-samuti-turvaliseks
      
      # Andmebaas (AnythingLLM-i enda SQLite, mitte vektorbaas)
      - DATA_DIR=/app/server/storage
      
      # LLM – sinu juba töötav Ollama
      - LLM_PROVIDER=ollama
      - OLLAMA_BASE_PATH=http://host.docker.internal:11434
      - OLLAMA_MODEL_PREF=qwen2.5:14b-instruct
      - OLLAMA_MODEL_TOKEN_LIMIT=8192
      
      # Embedding-mudel (samuti Ollamast või eraldi)
      - EMBEDDING_ENGINE=ollama
      - EMBEDDING_BASE_PATH=http://host.docker.internal:11434
      - EMBEDDING_MODEL_PREF=nomic-embed-text:latest
      - EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192
      
      # Vektorbaas – sinu olemasolev Qdrant
      - VECTOR_DB=qdrant
      - QDRANT_ENDPOINT=http://host.docker.internal:6333
      #- QDRANT_URI=http://qdrant:6333
      # Kui Qdrant-il pole API võtit (vaikeseadistus), jäta tühjaks või kommenteeri välja
      # - QDRANT_API_KEY=sinu-api-võti-kui-on
      
      # Võimalik lisada ka transkriptsiooniks, aga pole kohustuslik
      # - WHISPER_PROVIDER=local
    extra_hosts:
      - "host.docker.internal:host-gateway"
    networks:
      - ai_network

networks:
  ai_network:
    external: true
    name: main_ai_network
```

#### API key
```text
API võti
ardok_anythingllm
AYKT87V-TYFMEYX-KG1411R-MYEYQ2Q
```

#### Seotud mõisted
[[AnythingLLM API]] - vaata API päringute näiteid
[[Qdrant]] - vektorbaas


---


Docker volume'i kustutamine

```bash
# Eemalda absoluutselt kõik storage kataloogist (ka peidetud failid)
sudo rm -rf /data/docker/anythingllm/storage/* /data/docker/anythingllm/storage/.* 2>/dev/null
sudo rm -rf /data/docker/anythingllm/logs/* /data/docker/anythingllm/logs/.* 2>/dev/null
```

### Enne käivitamist tee kolm asja:

#### 1. Tõmba embedding-mudel Ollamasse
Qdrant vajab tekstide vektoriseerimiseks embedding-mudelit. Kõige lihtsam on kasutada Ollamat:

```bash
ollama pull nomic-embed-text:latest
```

See on kerge (~274 MB), töötab kiiresti ja toetab paljusid keeli (sh eesti keelt mõistlikul tasemel).

#### 2. Loo kaustad
```bash
mkdir -p ~/anythingllm/storage ~/anythingllm/logs
```

#### 3. Käivita
```bash
cd ~/anythingllm
docker compose up -d
```

Seejärel ava brauseris `http://localhost:3001`. Esimesel käivitamisel palub AnythingLLM sul luua tööruumi (workspace) ja seadistada andmebaasi. Järgi viisardit – see peaks automaatselt tuvastama sinu compose-failis määratud seaded.

---

### Kui Qdrant jookseb hoopis Dockeris

Kui su Qdrant jookseb samuti Dockeri konteineris, siis lisa see samasse compose-faili, et nad jagaksid sama Dockeri võrku:

```yaml
  # Lisa olemasoleva anythingllm teenuse alla või eraldi faili:
  qdrant:
    image: qdrant/qdrant:latest
    container_name: qdrant
    restart: unless-stopped
    ports:
      - "6333"
    volumes:
      - ./qdrant_storage:/qdrant/storage
    networks:
      - anythingllm_network
```

Ja muuda `QDRANT_ENDPOINT` väärtuseks `http://qdrant:6333` (Dockeri sisene teenuse nimi).

---


```bash
docker exec -u 0 anythingllm npm install -g bcryptjs
docker exec -u 0 -it anythingllm bash
# Kontrolli onboarding lipu väärtust
sqlite3 /data/docker/anythingllm/storage/anythingllm.db "SELECT label, value FROM system_settings WHERE label = 'onboarding_complete';"
# Muuda seda väärtuseks False
sqlite3 /data/docker/anythingllm/storage/anythingllm.db "UPDATE system_settings SET value = 'false' WHERE label = 'onboarding_complete';"
# Users tabeli struktuur
sqlite3 /data/docker/anythingllm/storage/anythingllm.db ".schema users"
# Tabelite struktuur
sqlite3 /data/docker/anythingllm/storage/anythingllm.db ".tables"

```