# A.R.K.A. v0.2.0 diegimas lokaliai

A.R.K.A. yra atskira vietiniam naudojimui skirta programa. Laikyk ją localhost
arba segmentuotame, patikimame LAN: ši versija neturi integruotos autentifikacijos.

## Reikalavimai

- Linux, macOS arba Windows su WSL2;
- Node.js 22.22 ar naujesnis, arba Docker 24+;
- mažiausiai 2 GB RAM; vietiniam kalbos modeliui rekomenduojama 8 GB;
- 2 GB laisvos vietos ir papildoma vieta ZIM bei PMTiles turiniui.

## A variantas — Node.js

Atsisiųsk `arka-0.2.0.zip` iš A.R.K.A. puslapio ir paleisk:

```bash
unzip arka-0.2.0.zip -d arka-0.2.0
cd arka-0.2.0
npm ci
npm run build
npm start
```

Atverk <http://127.0.0.1:8080>. Serverį sustabdysi `Ctrl+C`.

Kūrimo režimas:

```bash
npm run dev
```

- UI: <http://127.0.0.1:5173>
- API: <http://127.0.0.1:8080>
- būklė: <http://127.0.0.1:8080/api/health>

## B variantas — Docker

Pagrindinis mazgas be kalbos modelio:

```bash
docker compose -f docker/docker-compose.yml up -d --build arka
docker compose -f docker/docker-compose.yml ps
```

Atverk <http://127.0.0.1:8080>.

Pasirinktinis vietinis DI su „Ollama“:

```bash
docker compose -f docker/docker-compose.yml --profile ai up -d --build
docker exec arka_ollama ollama pull llama3.2
```

Kol modelis neįdiegtas, asistentas naudoja integruotą autonominės žinių bazės
atsakymą.

## Prieiga patikimame LAN

Natyvus serveris ir Docker prievadas pagal nutylėjimą susiejami tik su localhost.
Norėdamas leisti kitą įrenginį patikimame LAN, naudok:

```bash
ARKA_BIND_IP=0.0.0.0 docker compose -f docker/docker-compose.yml up -d --build arka
```

Atverk `http://ĮRENGINIO_IP:8080` ir ugniasiene ribok prieigą. Niekada
nepersiųsk 8080 prievado į viešą internetą ir nekurk viešo DNS A.R.K.A. mazgui.

## Konfigūracija

| Kintamasis | Numatyta | Paskirtis |
|---|---|---|
| `PORT` | `8080` | HTTP prievadas |
| `HOST` | `127.0.0.1` | Natyvaus proceso adresas |
| `ARKA_STORAGE_PATH` | `storage/` | Turinys ir indeksai |
| `ARKA_AI_BASE_URL` | `http://localhost:11434/v1` | Vietinis OpenAI suderinamas endpointas |
| `ARKA_AI_MODEL` | `llama3.2` | Vietinio modelio pavadinimas |
| `ARKA_ZIM_MAX_DOCS` | `1000000` | Didžiausias indeksuojamų ZIM dokumentų skaičius |

## Veikimo patikra

```bash
curl -fsS http://127.0.0.1:8080/api/health
curl -fsS http://127.0.0.1:8080/api/system/status
curl -fsS 'http://127.0.0.1:8080/api/knowledge?q=vanduo'
curl -fsS http://127.0.0.1:8080/api/catalog
```

Naršyklėje patikrink:

1. Komandų centras rodo gyvą atminties, disko ir veikimo laiko informaciją.
2. EN/LT pakeičia visą matomą navigaciją ir puslapių tekstą.
3. Žinių paieška randa rezultatą pagal `vanduo`.
4. DI asistentas be „Ollama“ pateikia atsarginį atsakymą.
5. Atsisiųstas PMTiles regionas atsidaro vietoje.
6. Mobilus meniu veikia be horizontalaus slinkimo.

## Duomenys ir kopijos

Natyviu režimu duomenys laikomi `storage/`, o Docker naudoja `arka-storage`
volume. Prieš atnaujinimą sukurk kopiją. Docker sustabdymas išlaikant duomenis:

```bash
docker compose -f docker/docker-compose.yml down
```

Nenaudok `down -v`, nebent sąmoningai nori pašalinti vietinį turinį ir indeksus.
