Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

مرجع الإعداد

يُهيَّأ OpenPR من خلال متغيرات البيئة. تقرأ جميع الخدمات من نفس ملف .env عند استخدام Docker Compose، أو متغيرات البيئة الفردية عند التشغيل المباشر.

خادم API

المتغيرالافتراضيالوصف
APP_NAMEapiمعرف التطبيق للسجل
BIND_ADDR0.0.0.0:8080العنوان والمنفذ الذي يستمع إليه API
DATABASE_URL--سلسلة اتصال PostgreSQL
JWT_SECRETchange-me-in-productionالمفتاح السري لتوقيع رموز JWT
JWT_ACCESS_TTL_SECONDS2592000 (30 يوم)مدة حياة رمز الوصول بالثواني
JWT_REFRESH_TTL_SECONDS604800 (7 أيام)مدة حياة رمز التحديث بالثواني
RUST_LOGinfoمستوى السجل (trace, debug, info, warn, error)
UPLOAD_DIR/app/uploadsدليل رفع الملفات

أمان

غيِّر دائماً JWT_SECRET إلى قيمة قوية وعشوائية في الإنتاج. استخدم على الأقل 32 حرفاً من البيانات العشوائية:

bash
openssl rand -hex 32

قاعدة البيانات

المتغيرالافتراضيالوصف
DATABASE_URL--سلسلة اتصال PostgreSQL الكاملة
POSTGRES_DBopenprاسم قاعدة البيانات
POSTGRES_USERopenprمستخدم قاعدة البيانات
POSTGRES_PASSWORDopenprكلمة مرور قاعدة البيانات

تنسيق سلسلة الاتصال:

postgres://user:password@host:port/database

Docker Compose

عند استخدام Docker Compose، تُسمى خدمة قاعدة البيانات postgres، لذا سلسلة الاتصال هي:

postgres://openpr:openpr@postgres:5432/openpr

العامل

المتغيرالافتراضيالوصف
APP_NAMEworkerمعرف التطبيق
DATABASE_URL--سلسلة اتصال PostgreSQL
JWT_SECRET--يجب أن يطابق قيمة خادم API
RUST_LOGinfoمستوى السجل

يعالج العامل مهام الخلفية من جدولي job_queue وscheduled_jobs.

خادم MCP

المتغيرالافتراضيالوصف
APP_NAMEmcp-serverمعرف التطبيق
OPENPR_API_URL--رابط خادم API (بما فيه الوكيل إن وجد)
OPENPR_BOT_TOKEN--رمز البوت بادئة opr_
OPENPR_WORKSPACE_ID--UUID مساحة العمل الافتراضية
DATABASE_URL--سلسلة اتصال PostgreSQL
JWT_SECRET--يجب أن يطابق قيمة خادم API
DEFAULT_AUTHOR_ID--UUID المؤلف الاحتياطي لعمليات MCP
RUST_LOGinfoمستوى السجل

خيارات نقل MCP

يقبل ثنائي خادم MCP وسيطات سطر الأوامر:

bash
# HTTP mode (default)
mcp-server --transport http --bind-addr 0.0.0.0:8090

# stdio mode (for Claude Desktop, Codex)
mcp-server --transport stdio

# Subcommand form
mcp-server serve --transport http --bind-addr 0.0.0.0:8090

الواجهة الأمامية

المتغيرالافتراضيالوصف
VITE_API_URLhttp://localhost:8080رابط خادم API لاتصال الواجهة الأمامية

الوكيل العكسي

في الإنتاج مع وكيل عكسي (Caddy/Nginx)، يجب أن يشير VITE_API_URL إلى رابط الوكيل الذي يوجه إلى خادم API.

منافذ Docker Compose

الخدمةالمنفذ الداخليالمنفذ الخارجيالغرض
PostgreSQL54325432قاعدة البيانات
API80808081REST API
Worker----مهام الخلفية (بلا منفذ)
خادم MCP80908090أدوات MCP
الواجهة الأمامية803000واجهة الويب

مثال ملف .env

bash
# Database
DATABASE_URL=postgres://openpr:openpr@localhost:5432/openpr
POSTGRES_DB=openpr
POSTGRES_USER=openpr
POSTGRES_PASSWORD=openpr

# JWT (CHANGE IN PRODUCTION)
JWT_SECRET=change-me-in-production
JWT_ACCESS_TTL_SECONDS=2592000
JWT_REFRESH_TTL_SECONDS=604800

# API Server
APP_NAME=api
BIND_ADDR=0.0.0.0:8080
RUST_LOG=info

# Frontend
VITE_API_URL=http://localhost:8080

# MCP Server
MCP_SERVER_PORT=8090

مستويات السجل

يستخدم OpenPR حزمة tracing للتسجيل المهيكل. اضبط RUST_LOG للتحكم في التفصيل:

المستوىالوصف
errorالأخطاء فقط
warnالأخطاء والتحذيرات
infoرسائل التشغيل العادية (الافتراضي)
debugمعلومات تصحيح مفصلة
traceتفصيلي جداً، يشمل جميع العمليات الداخلية

التصفية لكل وحدة مدعومة:

bash
RUST_LOG=info,api=debug,mcp_server=trace

الخطوات التالية

Released under the Apache-2.0 License.