> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plato.ae/llms.txt
> Use this file to discover all available pages before exploring further.

# Yapılandırma

> Sunucuyu, HTTPS, Redis'yi ve kuyruk davranışını yapılandırın.

# Yapılandırma

Sürücü uygulama kökünden `config.json` okur:

* Paketlenmiş yürütülebilir dosya: `plato-printer.exe`'nin yanında.
* Geliştirme: mevcut çalışma dizini.

`config.json` eksikse sürücü, arındırılmış varsayılanlara sahip bir tane oluşturur.

## Örnek Yapılandırma

```json theme={null}
{
  "server": {
    "port": 8080
  },
  "features": {
    "meshEnabled": true,
    "httpsEnabled": true
  },
  "caddy": {
    "enabled": true,
    "domain": "plato-printer.local",
    "httpsPort": 443,
    "version": "2.6.4"
  },
  "redis": {
    "mode": "embedded",
    "version": "6.2.14",
    "host": "127.0.0.1",
    "port": 6379,
    "db": 0,
    "username": "",
    "password": "",
    "diskSync": true,
    "snapshotIntervalSec": 30
  },
  "queue": {
    "retryDelayMs": 5000,
    "maxAttempts": 2147483647
  }
}
```

## Sunucu

| Alan          | Varsayılan | Notlar                                           |
| ------------- | ---------- | ------------------------------------------------ |
| `server.port` | `8080`     | Tüm API uç noktaları için HTTP bağlantı noktası. |

Express uygulaması, izin verilen CORS ve `Access-Control-Allow-Private-Network: true`'yi etkinleştirir, böylece tarayıcı POS istemcileri sürücüyü yerel/özel ağlardan arayabilir.

## Özellikler

| Alan                    | Varsayılan | Notlar                                                     |
| ----------------------- | ---------- | ---------------------------------------------------------- |
| `features.meshEnabled`  | `true`     | `/mesh` üzerinde PeerJS sinyalleşmesini etkinleştirir.     |
| `features.httpsEnabled` | `true`     | Caddy de etkinleştirildiğinde HTTPS kurulumuna izin verir. |

HTTPS yalnızca `features.httpsEnabled` ve `caddy.enabled` doğru olduğunda başlar.

## Caddy

| Alan              | Varsayılan            | Notlar                                    |
| ----------------- | --------------------- | ----------------------------------------- |
| `caddy.enabled`   | `true`                | Caddy ters proxy yolunu etkinleştirir.    |
| `caddy.domain`    | `plato-printer.local` | HTTPS için kullanılan ana bilgisayar adı. |
| `caddy.httpsPort` | `443`                 | HTTPS dinleyici bağlantı noktası.         |
| `caddy.version`   | `2.6.4`               | Windows 7 uyumluluğu için sabitlendi.     |

Windows 7 veya daha eski sürümlerde sürücü, `2.6.4` dışında bir Caddy sürümü kullanan HTTPS yapılandırmalarını reddeder.

## Redis

| Alan                        | Varsayılan                            | Notlar                                                                                                                          |
| --------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `redis.mode`                | `embedded`                            | `embedded`, Redis'yi sürücüden başlatır; `external` mevcut bir Redis sunucusunu kullanır.                                       |
| `redis.version`             | `6.2.14`                              | Gerekli yerleşik Redis sürümü.                                                                                                  |
| `redis.host`                | `127.0.0.1`                           | Redis ana bilgisayarı bağlar/bağlar.                                                                                            |
| `redis.port`                | `6379`                                | Redis bağlantı noktası.                                                                                                         |
| `redis.db`                  | `0`                                   | Redis veritabanı numarası.                                                                                                      |
| `redis.username`            | boş                                   | Ayarlandığında harici Redis kimlik doğrulaması için kullanılır.                                                                 |
| `redis.password`            | boş                                   | Ayarlandığında harici Redis kimlik doğrulaması için kullanılır.                                                                 |
| `redis.diskSync`            | `false` varsayılan olarak oluşturuldu | Doğru olduğunda Redis anlık görüntülerini `dump.rdb`'ye yazar. Taahhüt edilen üretim yapılandırması bunu `true` olarak ayarlar. |
| `redis.snapshotIntervalSec` | `30`                                  | Disk senkronizasyonu etkinleştirildiğinde kullanılan anlık görüntü aralığı.                                                     |

Katıştırılmış Redis başlatma, Redis başlatılamazsa veya gerçek Redis sürümü `redis.version` ile eşleşmiyorsa tüm sürücüyü iptal eder.

## Sıra

| Alan                 | Varsayılan   | Notlar                                                                                                 |
| -------------------- | ------------ | ------------------------------------------------------------------------------------------------------ |
| `queue.retryDelayMs` | `5000`       | Başarısız yazdırma işleri için yeniden denemenin geri alınması düzeltildi.                             |
| `queue.maxAttempts`  | `2147483647` | İş başına maksimum deneme sayısı. Geçerli yapılandırma sonsuza kadar etkili bir şekilde yeniden dener. |

## Sterilizasyon

Yapılandırma okuyucusu değerleri temizler:

* Bağlantı noktaları ve sayısal ayarlar pozitif tam sayılar olmalıdır.
* Boole'lar boole'ler veya `"true"` / `"false"` dizeleri olabilir.
* `redis.mode`, `embedded` veya `external` olmalıdır.
* Boş dizeler, etki alanı/sürüm/ana bilgisayar benzeri alanlar için varsayılanlara geri döner.
