# DigiPOS — instalacija iz paketa (Windows / Linux)

**Za koga:** prodavnica ili restoran **bez IT službe** — samodovoljan paket sa ugrađenim Node.js-om i SQLite bazom. Nije potrebno instalirati Node, MySQL ni npm.

> **ESIR instalacija na daljinu (bez dolaska u objekat):**  
> [https://digi-knjigovodstvo.rs/esir-setup/](https://digi-knjigovodstvo.rs/esir-setup/) — preuzmi `DigiPOS-ESIR-Setup.cmd` → start → odmah konfiguracija (firma → PFR → štampač).

> **Početnici:** detaljno uputstvo korak-po-korak (miš, ZIP, prvi start, standalone) — **[INSTALACIJA-STANDALONE.md](INSTALACIJA-STANDALONE.md)**.

**Proizvođač:** S.O.K. doo, Kraljevo · jul 2026.

---

## Sadržaj

1. [Šta dobijate u paketu](#1-šta-dobijate-u-paketu)
2. [Preduslovi (hardver)](#2-preduslovi-hardver)
3. [Windows — ZIP](#3-windows--zip)
4. [Linux — tar.gz](#4-linux--targz)
5. [Prvi dan](#5-prvi-dan)
6. [Deinstalacija](#6-deinstalacija)
7. [Napredno (MySQL, HTTPS)](#7-napredno-mysql-https)
8. [Pravljenje paketa (za developera)](#8-pravljenje-paketa-za-developera)

---

## 1. Šta dobijate u paketu

| Komponenta | Opis |
|------------|------|
| `node/` | Ugrađeni Node.js (npr. 22 LTS) — ne instalirati posebno |
| `app/` | DigiPOS program + `node_modules` |
| `app/digipos.db` | Kreira se **pri prvom startu** (SQLite) |
| `config.json.example` | Primer za standalone SQLite |
| `instaliraj.bat` / `install.sh` | Autostart + prvi start |
| `docs/` | Uputstva (u `app/docs/` nakon raspakivanja) |

**Nije u paketu:** LPFR uređaj, fiskalni štampač, MySQL server (opciono za knjigovodstvo).

---

## 2. Preduslovi (hardver)

| # | Zahtev |
|---|--------|
| 1 | **Windows 10/11 x64** ili **Linux x64** (Ubuntu/Debian preporučeno) |
| 2 | Mini PC ili kasa: min. 2 GB RAM, 1 GB slobodnog diska (preporuka 4 GB, SSD) |
| 3 | Termalni štampač ESC/POS, 57–80 mm, ćirilica |
| 4 | LPFR u mreži (`http://...:8888/api/v3/`) ili `DEMO` za probu |
| 5 | LAN/Wi‑Fi za telefone konobara (isti segment kao server) |

---

## 3. Windows — ZIP

### 3.1 Preuzimanje i raspakivanje

1. Preuzmite `digipos-windows-x64.zip` (ili `DigiPOS-<ver>-win-x64.zip`).
2. Raspakujte **ceo** folder `DigiPOS` npr. u `C:\DigiPOS`.
3. **Ne** premestite samo `app` — struktura mora biti:

```
C:\DigiPOS\
  node\node.exe
  app\server.js
  instaliraj.bat
  DigiPOS.bat
  deinstaliraj.bat
  PROCITAJ-ME.txt
```

### 3.2 Instalacija (jedan korak)

1. Desni klik → **Pokreni kao administrator** na `instaliraj.bat` (preporučeno zbog Task Scheduler-a).
2. Skripta:
   - kreira **autostart** pri prijavi (Task Scheduler `DigiPOS`; rezerva: Startup folder),
   - stavlja precicu **DigiPOS.url** na radnu površinu (`http://localhost:3000`),
   - pokreće server u pozadini,
   - čeka do 30 s da `http://localhost:3000` odgovori,
   - otvara pregledač.

### 3.3 Ručno pokretanje

- Dvostruki klik: `DigiPOS.bat` (vidljiva konzola)
- Ili tiho: `DigiPOS-tihi.vbs`

### 3.4 Adrese

| Uloga | URL |
|-------|-----|
| Kasa | http://localhost:3000 |
| Admin | http://localhost:3000/admin |
| Telefoni u mreži | http://**IP-računara**:3000 (IP se ispisuje u konzoli pri startu) |

**Početni PIN:** `1234` — promenite odmah u Admin → Korisnici.

---

## 4. Linux — tar.gz

### 4.1 Raspakivanje

```bash
tar -xzf digipos-linux-x64.tar.gz
cd digipos
```

### 4.2 Instalacija — sistemski servis (preporučeno za kasu)

Zahteva root; instalira u `/opt/digipos`, systemd servis `digipos`:

```bash
sudo ./install.sh
# ili eksplicitno:
sudo ./install.sh --system
```

Provera:

```bash
sudo systemctl status digipos
curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:3000
```

### 4.3 Instalacija — korisnički servis (bez root)

Za test ili korisnika bez sudo:

```bash
./install.sh --user
```

- Fajlovi: `~/.local/share/digipos/`
- Servis: `systemctl --user status digipos`
- Omogućava `loginctl enable-linger` da servis radi i bez prijave (ako je podržano).

### 4.4 Adrese

Isto kao Windows; za mrežu koristite IP servera umesto `localhost`.

---

## 5. Prvi dan

Checklist nakon `instaliraj.bat` / `install.sh`:

| # | Korak | Gde |
|---|-------|-----|
| 1 | Promeniti PIN **1234** | Admin → Korisnici |
| 2 | Režim `restoran` ili `prodavnica` | Admin → Podešavanja |
| 3 | LPFR adresa ili `DEMO` | Admin → Podešavanja |
| 4 | Fiskalni štampač (ime / `FILE` / `NONE`) | Admin → Podešavanja |
| 5 | Test račun u DEMO režimu | Kasa → NAPLATI |
| 6 | Migracija sa digiesir (ako postoji) | Admin → Uvoz iz digiesir (DBF) |

Detaljno: [UPUTSTVO-ZA-UPOTREBU.md](UPUTSTVO-ZA-UPOTREBU.md), [UPUTSTVO.md](UPUTSTVO.md).

---

## 6. Deinstalacija

### Windows

Pokrenite `deinstaliraj.bat` — uklanja autostart i desktop precicu.  
Folder `C:\DigiPOS` i bazu `app\digipos.db` obrišite ručno.

### Linux

```bash
sudo ./uninstall.sh          # sistemski
./uninstall.sh --user        # korisnički
```

---

## 7. Napredno (MySQL, HTTPS)

### SQLite (podrazumevano)

Ništa ne podešavate — `digipos.db` u `app/` se pravi automatski.

Opciono kopirajte primer:

```bash
copy app\config.sqlite.example.json app\config.json   # Windows
cp app/config.sqlite.example.json app/config.json     # Linux
```

### MySQL (postojeće knjigovodstvo)

U `app/config.json`:

```json
{
  "port": 3000,
  "db": {
    "host": "localhost",
    "user": "root",
    "password": "",
    "database": "sokdooco_knjige"
  }
}
```

Potreban je MySQL server na mreži ili lokalno — **nije** uključen u paket.

### HTTPS (PWA na telefonima)

Vidi [README.md](../README.md) — sekcija PWA (`https_port`, sertifikat u `app/cert/`).

---

## 8. Pravljenje paketa (za developera)

Iz korena repozitorijuma (potreban internet za preuzimanje Node-a):

```bash
npm run package
```

Ili:

```bash
node scripts/build-package.js
node scripts/build-package.js --windows-only
node scripts/build-package.js --linux-only
```

**Node verzija u paketu:** podrazumevano `22.16.0` — promena:

```bash
set NODE_PACKAGE_VERSION=22.17.0
npm run package
```

**Izlaz:**

| Fajl | Opis |
|------|------|
| `dist/digipos-windows-x64.zip` | Windows paket |
| `dist/digipos-linux-x64.tar.gz` | Linux paket |
| `dist/DigiPOS-<ver>-win-x64.zip` | Verzionisana kopija |
| `dist/DigiPOS-<ver>-linux-x64.tar.gz` | Verzionisana kopija |
| `dist/cache/` | Keš Node arhiva (ponovno korišćenje) |

**Ograničenja:**

- Samo **x64** (Windows i Linux).
- Paket ne uključuje LPFR, štampač drajvere ni MySQL.
- ESIR DigiPOS UI mora biti odobren od PU pre produkcijske fiskalizacije na novom interfejsu.
- Linux `--user` servis zahteva systemd; stariji init sistemi — ručno pokretanje `node server.js`.

---

## Povezani dokumenti

| Dokument | Sadržaj |
|----------|---------|
| [UPUTSTVO-ZA-INSTALACIJU.md](UPUTSTVO-ZA-INSTALACIJU.md) | Puna instalacija (uključujući ručni npm) |
| [UPUTSTVO-ZA-UPOTREBU.md](UPUTSTVO-ZA-UPOTREBU.md) | Upotreba posle instalacije |
| [newupgrade.md](newupgrade.md) | Plan nadogradnje |
