استكشف الواجهة الكاملة على [demo.snapotter.com](https://demo.snapotter.com) - دون الحاجة إلى تسجيل أو تثبيت.
:::
## بداية سريعة {#quick-start}
```bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
```
تشغّل هذه الحاوية الواحدة كل ما تحتاجه: مع عدم تعيين `DATABASE_URL`، تبدأ PostgreSQL و Redis الخاصين بها على واجهة الاسترجاع (الوضع المدمج) وتحتفظ بجميع البيانات في وحدة التخزين `SnapOtter-data`. إنها أسرع طريقة لتجربة SnapOtter أو الاستضافة الذاتية على مختبر منزلي. لبيئة الإنتاج، شغّل حزمة [Docker Compose](#docker-compose) أدناه، التي تبقي PostgreSQL و Redis في حاوياتهما الخاصة. يعمل الوضع المدمج كـ root (الافتراضي) ويتوقف تلقائيًا بمجرد تعيينك لـ `DATABASE_URL`.
هل تثبّت على Raspberry Pi أو حاسوب محمول قديم أو VPS صغير؟ راجع [التشغيل على موارد محدودة](/ar/guide/low-resource) للاطلاع على شرح تطبيقي مضبوط وما يمكن توقعه من العتاد المحدود.
أضف `--gpus all` لإزالة الخلفية المتسارعة بواسطة NVIDIA CUDA، ورفع مستوى الصوت، وتحسين الوجه، واستعادته. يظل OCR قائمًا على وحدة المعالجة المركزية (CPU) ويعمل بنفس الصورة مع أو بدون الوصول إلى GPU:
docker run -d --name SnapOtter -p 1349:1349 --gpus all -v SnapOtter-data:/data snapotter/snapotter:latest
```
يتطلب [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). يرجع إلى المعالج المركزي تلقائيًا عندما يكون CUDA غير متاح. تسريع iGPU من Intel/AMD عبر VA-API أو Quick Sync أو OpenCL غير مدعوم لاستدلال الذكاء الاصطناعي حاليًا. راجع [وسوم Docker](/ar/guide/docker-tags) لاختبارات الأداء.
:::
::: details متوفر أيضًا على GHCR
```bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest
```
ينشر كلا السجلين نفس الصورة عند كل إصدار.
:::
## Docker Compose {#docker-compose}
```yaml
services:
SnapOtter:
image:snapotter/snapotter:latest # or ghcr.io/snapotter-hq/snapotter:latest
| **PDF / المستندات** | 42 | الدمج، والتقسيم، والضغط، و OCR، والعلامة المائية، والتنقيح، و Word إلى PDF، و Excel إلى PDF، والتدوير، والحماية، والإصلاح |
| **الملفات** | 10 | CSV إلى JSON، و JSON إلى XML، ودمج ملفات CSV، وتقسيم CSV، وإنشاء ZIP، واستخراج ZIP، وصانع المخططات، و YAML/JSON |
### خطوط الأنابيب {#pipelines}
اربط الأدوات في سير عمل متعدد الخطوات وطبّقها على صورة واحدة أو دفعة كاملة:
1. افتح **Pipelines** في الشريط الجانبي.
2. أضف خطوات (أي أداة، وأي إعدادات).
3. شغّل على ملف واحد - أو دفعة كاملة دفعة واحدة.
4. احفظ خط الأنابيب لإعادة استخدامه لاحقًا.
تسمح خطوط الأنابيب بـ 20 خطوة افتراضيًا. عيّن `MAX_PIPELINE_STEPS=0` لجعل الحد غير محدود.
### مكتبة الملفات {#file-library}
يمكن حفظ كل ملف تعالجه في مكتبة **Files** الخاصة بك. يتتبع SnapOtter سجل الإصدارات الكامل حتى تتمكن من تتبع كل خطوة معالجة من عملية الرفع الأصلية إلى الإخراج النهائي.
الحفظ صريح: تُحفظ النتائج التي تحفظها في المكتبة حتى تحذفها، بينما تُمحى النتائج التي تعالجها وتتركها غير محفوظة تلقائيًا بعد 72 ساعة (قابلة للتهيئة عبر `FILE_MAX_AGE_HOURS`).
### REST API ومفاتيح API {#rest-api-api-keys}
كل أداة قابلة للوصول عبر HTTP:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
أنشئ مفاتيح API ضمن **Settings → API Keys**. راجع [مرجع REST API](/ar/api/rest) لجميع النقاط الطرفية، أو زُر [http://localhost:1349/api/docs](http://localhost:1349/api/docs) للمرجع التفاعلي.
### متعدد المستخدمين والفِرق {#multi-user-teams}
فعّل عدة مستخدمين مع التحكم في الوصول المستند إلى الأدوار:
- **المسؤول**: وصول كامل - إدارة المستخدمين، والفِرق، والإعدادات، وجميع الملفات/خطوط الأنابيب/مفاتيح API
- **المستخدم**: استخدام الأدوات، وإدارة ملفاته/خطوط أنابيبه/مفاتيح API الخاصة به
أنشئ فِرقًا ضمن **Settings → Teams** لتجميع المستخدمين.
عيّن `AUTH_ENABLED=true` (أو `false` للمستخدم الواحد/الاستخدام الذاتي دون تسجيل دخول).