> ## 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.

# تثبيت

> قم بتثبيت وتشغيل برنامج تشغيل الطابعة بالكمبيوتر.

# تثبيت

قطعة أثرية الإنتاج هي `drivers/pc-printer/plato-printer.zip`. يحتوي على الملف القابل للتنفيذ، والتكوين الافتراضي، وأصول/شهادات Caddy، وثنائيات Redis.

## تثبيت الإنتاج

1. انسخ `plato-printer.zip` إلى جهاز Windows الذي يمكنه الوصول إلى الطابعات.
2. قم باستخراج الملف المضغوط إلى مجلد ثابت، على سبيل المثال `C:\PlatoPrinter`.
3. تحرير `config.json`.
4. قم بتشغيل `plato-printer.exe`.
5. السماح بالوصول إلى جدار حماية Windows لمنفذ HTTP الذي تم تكوينه.
6. تأكيد إمكانية الوصول إلى الخدمة:

```sh theme={null}
curl http://localhost:8080/health
```

الرد المتوقع:

```json theme={null}
{
  "ok": true,
  "version": 66,
  "uptime": 12.345
}
```

## قائمة التحقق من تثبيت الشبكة

* يمكن لجهاز التشغيل الوصول إلى كل عنوان IP للطابعة ومنفذ الطابعة.
* يمكن لمتصفحات POS الوصول إلى جهاز التشغيل.
* المنفذ `8080` مفتوح لـ HTTP، ما لم يتم تغييره في `config.json`.
* يكون المنفذ `443` مفتوحًا إذا تم تمكين HTTPS.
* عناوين IP الخاصة بالطابعة ثابتة أو محجوزة في DHCP.
* تقبل الطابعات الحرارية ESC/POS الخام عبر TCP.

## HTTPS قائمة التحقق من التثبيت

عند تمكين HTTPS:

1. احتفظ بضبط `features.httpsEnabled` و`caddy.enabled` على `true`.
2. تأكد من وجود `assets/certs/ca.crt` و`server.crt` و`server.key`.
3. قم بتوجيه `caddy.domain` إلى جهاز التشغيل، عادةً من خلال DNS أو إدخال المضيفين.
4. قم بتثبيت شهادة CA من:

```txt theme={null}
http://<driver-ip>:8080/ca.crt
```

5. استخدم برنامج التشغيل HTTPS URL من وحدة التحكم، عادةً:

```txt theme={null}
https://plato-printer.local
```

## إطلاق تلقائي

عند بدء التشغيل، يقوم الملف القابل للتنفيذ بتسجيل التشغيل التلقائي باستخدام اسم التطبيق `Plato PC Printer`. المسار القابل للتنفيذ هو `process.execPath`، وتم تكوين الخدمة لبدء المخفية.

في حالة فشل التشغيل التلقائي، يقوم برنامج التشغيل بتسجيل الفشل ويستمر في التشغيل.

## تثبيت التطوير

من جذر المستودع:

```sh theme={null}
pnpm install
pnpm --filter @plato/pc-printer build
pnpm --filter @plato/pc-printer start
```

يقرأ خادم التطوير `config.json` من `drivers/pc-printer` عند البدء في هذا المجلد.

## فحص الصحة المحلية

```sh theme={null}
curl http://localhost:8080/health
curl http://localhost:8080/queue-status
```

إذا تم تمكين HTTPS وتكوينه:

```sh theme={null}
curl https://plato-printer.local/health
```
