This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

البدء

جرّب قبل التثبيت

استكشف الواجهة الكاملة على demo.snapotter.com - دون الحاجة إلى تسجيل أو تثبيت.

بداية سريعة

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 أدناه، التي تبقي PostgreSQL و Redis في حاوياتهما الخاصة. يعمل الوضع المدمج كـ root (الافتراضي) ويتوقف تلقائيًا بمجرد تعيينك لـ DATABASE_URL.

سيُطلب منك تغيير كلمة مرورك عند أول تسجيل دخول.

تحليلات المنتج المجهولة

يتضمن SnapOtter تحليلات منتج مجهولة افتراضيًا. لإيقافها، افتح Settings → System → Privacy وأطفئ Anonymous Product Analytics. تتوقف فورًا للنسخة بأكملها.

يمكنك أيضًا تعيين متغير البيئة SNAPOTTER_TELEMETRY=0 (يعمل false و off أيضًا) لتعطيل كل القياس عن بُعد للنسخة دون إعادة بناء.

مراقبة الأخطاء مدعومة بـ Sentry، الذي يرعى SnapOtter عبر برنامجه مفتوح المصدر.

للاطلاع على تفاصيل ما يُجمع، راجع ما يجمعه SnapOtter.

تسريع NVIDIA CUDA

أضف --gpus all لإزالة الخلفية، وتكبير الدقة، و OCR، وتحسين الوجوه، والاستعادة المُسرَّعة بـ NVIDIA CUDA:

bash
docker run -d --name SnapOtter -p 1349:1349 --gpus all -v SnapOtter-data:/data snapotter/snapotter:latest

يتطلب NVIDIA Container Toolkit. يرجع إلى المعالج المركزي تلقائيًا عندما يكون CUDA غير متاح. تسريع iGPU من Intel/AMD عبر VA-API أو Quick Sync أو OpenCL غير مدعوم لاستدلال الذكاء الاصطناعي حاليًا. راجع وسوم Docker لاختبارات الأداء.

متوفر أيضًا على GHCR
bash
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data ghcr.io/snapotter-hq/snapotter:latest

ينشر كلا السجلين نفس الصورة عند كل إصدار.

Docker Compose

yaml
services:
  SnapOtter:
    image: snapotter/snapotter:latest  # or ghcr.io/snapotter-hq/snapotter:latest
    ports:
      - "1349:1349"
    volumes:
      - SnapOtter-data:/data
    environment:
      - AUTH_ENABLED=true
      - DEFAULT_USERNAME=admin
      - DEFAULT_PASSWORD=admin
      - DATABASE_URL=postgres://snapotter:snapotter@postgres:5432/snapotter
      - REDIS_URL=redis://redis:6379
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy
    restart: unless-stopped

  postgres:
    image: postgres:17-alpine
    environment:
      POSTGRES_USER: snapotter
      POSTGRES_PASSWORD: snapotter
      POSTGRES_DB: snapotter
    volumes:
      - SnapOtter-pgdata:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U snapotter"]
      interval: 10s
      timeout: 5s
      retries: 12

  redis:
    image: redis:8-alpine
    command: ["redis-server", "--maxmemory-policy", "noeviction", "--appendonly", "yes"]
    volumes:
      - SnapOtter-redisdata:/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 12

volumes:
  SnapOtter-data:
  SnapOtter-pgdata:
  SnapOtter-redisdata:

راجع التهيئة لجميع متغيرات البيئة.

البناء من المصدر

المتطلبات المسبقة: Node.js 22+، و pnpm 9+، و Docker (لـ Postgres + Redis)، و Python 3.10+ (لميزات الذكاء الاصطناعي)، و Git.

bash
git clone https://github.com/snapotter-hq/SnapOtter.git
cd SnapOtter
docker compose -f docker-compose.dev.yml up -d   # start Postgres + Redis
pnpm install
pnpm dev

ما يمكنك فعله

معالجة الملفات (200+ أداة)

الوسيطالعددأمثلة على الأدوات
الصور105تغيير الحجم، والاقتصاص، والضغط، والتحويل، وإزالة الخلفية، وتكبير الدقة، و OCR، والعلامة المائية، والملصقة، والتلوين، وأدوات GIF، وإعدادات التنسيق المسبقة
الفيديو57القص، والاقتصاص، والضغط، والتحويل، والدمج، واستخراج الصوت، والترجمات التلقائية، والفيديو إلى GIF، وتغيير الحجم، والتثبيت، وإعدادات التنسيق المسبقة
الصوت27القص، والدمج، والتحويل، والتسوية، وتقليل الضوضاء، والنسخ النصي، وتحويل درجة النغمة، والتلاشي، وصانع نغمات الرنين، وإعدادات التنسيق المسبقة
PDF / المستندات42الدمج، والتقسيم، والضغط، و OCR، والعلامة المائية، والتنقيح، و Word إلى PDF، و Excel إلى PDF، والتدوير، والحماية، والإصلاح
الملفات10CSV إلى JSON، و JSON إلى XML، ودمج ملفات CSV، وتقسيم CSV، وإنشاء ZIP، واستخراج ZIP، وصانع المخططات، و YAML/JSON

خطوط الأنابيب

اربط الأدوات في سير عمل متعدد الخطوات وطبّقها على صورة واحدة أو دفعة كاملة:

  1. افتح Pipelines في الشريط الجانبي.
  2. أضف خطوات (أي أداة، وأي إعدادات).
  3. شغّل على ملف واحد - أو دفعة كاملة دفعة واحدة.
  4. احفظ خط الأنابيب لإعادة استخدامه لاحقًا.

تسمح خطوط الأنابيب بـ 20 خطوة افتراضيًا. عيّن MAX_PIPELINE_STEPS=0 لجعل الحد غير محدود.

مكتبة الملفات

يمكن حفظ كل ملف تعالجه في مكتبة Files الخاصة بك. يتتبع SnapOtter سجل الإصدارات الكامل حتى تتمكن من تتبع كل خطوة معالجة من عملية الرفع الأصلية إلى الإخراج النهائي.

الحفظ صريح: تُحفظ النتائج التي تحفظها في المكتبة حتى تحذفها، بينما تُمحى النتائج التي تعالجها وتتركها غير محفوظة تلقائيًا بعد 72 ساعة (قابلة للتهيئة عبر FILE_MAX_AGE_HOURS).

REST API ومفاتيح API

كل أداة قابلة للوصول عبر HTTP:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
  -H "Authorization: Bearer si_<your-api-key>" \
  -F "[email protected]" \
  -F 'settings={"width":800,"height":600,"fit":"cover"}'

أنشئ مفاتيح API ضمن Settings → API Keys. راجع مرجع REST API لجميع النقاط الطرفية، أو زُر http://localhost:1349/api/docs للمرجع التفاعلي.

متعدد المستخدمين والفِرق

فعّل عدة مستخدمين مع التحكم في الوصول المستند إلى الأدوار:

  • المسؤول: وصول كامل - إدارة المستخدمين، والفِرق، والإعدادات، وجميع الملفات/خطوط الأنابيب/مفاتيح API
  • المستخدم: استخدام الأدوات، وإدارة ملفاته/خطوط أنابيبه/مفاتيح API الخاصة به

أنشئ فِرقًا ضمن Settings → Teams لتجميع المستخدمين.

عيّن AUTH_ENABLED=true (أو false للمستخدم الواحد/الاستخدام الذاتي دون تسجيل دخول).