انتقل إلى المحتوى

متغيرات البيئة ​

يُضبط Arkvory بمتغيرات بيئة تبدأ أسماؤها بـ ARKVORY_. تسرد هذه الصفحة كل متغير تقرؤه عمليات الخادم وعميل سطر الأوامر ونصوص التثبيت البرمجية.

من أين تأتي القيم ​

تكتب برامج التثبيت إعدادات الخادم في ملف واحد، هو config/runtime.json، في جذر التثبيت. ويقرأ مشغّل (launcher) كل خدمة هذا الملف ويمرّر قيمه إلى API والعامل ووكيل النسخ الاحتياطي. يجب أن يبدأ كل مفتاح بـ ARKVORY_، وأن تكون كل قيمة نصًا.

json
{
  "ARKVORY_HOST": "127.0.0.1",
  "ARKVORY_PORT": "8080",
  "ARKVORY_CAPACITY_BYTES": "10995116277760",
  "ARKVORY_DATABASE_URL": "postgresql://arkvory:PASSWORD@127.0.0.1:54329/arkvory",
  "ARKVORY_DATA_DIR": "/opt/proanima-arkvory/data",
  "ARKVORY_KEYS_FILE": "/opt/proanima-arkvory/config/keys.json",
  "ARKVORY_MAX_DOWNLOADS": "32"
}

يحتوي الملف على كلمة مرور قاعدة البيانات. أبقِ صلاحيات الوصول إليه كما ضبطها برنامج التثبيت.

لتغيير إعداد، حرّر config/runtime.json وأعد تشغيل الخدمات. ويُفضَّل الأمر arkvory configure حيث يغطي الإعداد (HTTPS ومخزن النسخ الاحتياطية والمرايا والتحديثات). فهو يتحقق من التغيير ويستعيد الملف القديم إذا لم تبدأ الخدمات. راجع الإعداد.

bash
sudo systemctl restart arkvory-api arkvory-worker arkvory-backup
powershell
Restart-Service Arkvoryapi, Arkvoryworker, Arkvorybackup

القيمة خارج نطاقها المسموح توقف العملية عند البدء برسالة تسمّي المتغير. ولا يعود Arkvory إلى القيمة الافتراضية في هذه الحالة.

يستخدم العمود «يقرؤه» هذه الأسماء: API هو خادم HTTP (وبوابة القراءة أيضًا)، والعامل هو عامل الخلفية، والوكيل هو وكيل النسخ الاحتياطي، وCLI هو arkvoryctl.

الأساسيات ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_DATABASE_URLAPI، العامل، الوكيل، الترحيلمطلوبعنوان اتصال PostgreSQL (postgres:// أو postgresql://). استخدم قاعدة بيانات منفصلة لكل تثبيت.
ARKVORY_DATA_DIRAPI، العامل، الوكيلمطلوبدليل التخزين المحلي: منطقة التجهيز (staging) والمحتوى وملف storage-id. لا تستخدم مشاركة شبكية.
ARKVORY_HOSTAPI127.0.0.1العنوان الذي يُستمع إليه. تكتب برامج التثبيت 127.0.0.1؛ وفي Docker Compose يكون 0.0.0.0 داخل الحاوية، وينشر المنفذ على الحلقة المحلية للمضيف فقط.
ARKVORY_PORTAPI8080منفذ TCP، من 1 إلى 65535.
ARKVORY_WEB_DIRAPIapps/web/publicدليل ملفات وحدة التحكم على الويب. يضبطه المشغّل على الإصدار الحالي عند كل بدء.
ARKVORY_DATABASE_POOL_SIZEAPI20حجم مجمّع استعلامات واجهة API، من 4 إلى 200. تستخدم الجلسات الطويلة مجمّعًا منفصلًا من 3 اتصالات.

التخزين والحدود ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_CAPACITY_BYTESAPI، العامل10 TiBالحد الأعلى، بالبايت، لكل المحتوى المحجوز: المنشور وعمليات الرفع غير المكتملة والمحتوى الذي ينتظر التنظيف. وهو ليس فحصًا للقرص. ولا يقرؤه العامل إلا لنسخ المرايا.
ARKVORY_STORAGE_RESERVE_BYTESAPI، العامل، الوكيل1073741824المساحة الحرة، بالبايت، التي لا تستخدمها عمليات الرفع أبدًا. وتُحفظ لقاعدة البيانات والسجلات والنظام. و0 توقف الاحتياطي.
ARKVORY_MAX_OBJECT_BYTESAPIنحو 10 TiBأكبر كائن، بالبايت. أعلى قيمة مسموحة هي 10 000 جزء بحجم 1 GiB. اضبط قيمة أقل لتحديد حجم الملف.

عمليات النقل وعرض النطاق ​

تنتمي هذه الحدود إلى عملية API واحدة. المعدلات بالبايت في الثانية: 0 تعني بلا حد، وأي قيمة أخرى يجب أن تكون من 65 536 إلى 1 TiB.

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_MAX_UPLOADSAPI8عمليات الرفع التي تعمل في الوقت نفسه، من 1 إلى 32.
ARKVORY_MAX_DOWNLOADSAPI16عمليات التنزيل التي تعمل في الوقت نفسه، من 1 إلى 256.
ARKVORY_MAX_UPLOADS_PER_PRINCIPALAPI4عمليات رفع حساب أو مفتاح واحد في الوقت نفسه، حتى حد الرفع الإجمالي.
ARKVORY_MAX_DOWNLOADS_PER_PRINCIPALAPI4عمليات تنزيل حساب أو مفتاح واحد في الوقت نفسه، حتى حد التنزيل الإجمالي.
ARKVORY_DOWNLOAD_STRATEGYAPIorderedكيف يرتّب طابور التنزيل عمليات التنزيل الكاملة للكائنات الأكبر من ARKVORY_DOWNLOAD_SESSION_MIN_BYTES: ordered (فئات أولوية، والحسابات والمفاتيح بالتناوب)، أو smallest-first (الكائنات الصغيرة أولًا)، أو shared (بلا طابور: يُقبل كل طلب وحده). الافتراضي في بوابات القراءة shared.
ARKVORY_MAX_DOWNLOAD_SESSIONSAPIARKVORY_MAX_DOWNLOADSعمليات التنزيل التي تشغل مكانًا في الوقت نفسه، من 1 إلى 1024.
ARKVORY_DOWNLOAD_RESERVEAPI1أماكن محجوزة للأشخاص (جلسات وحدة التحكم والرموز الشخصية) أثناء التحديث الجماعي. الافتراضي 0 إذا كانت الأماكن أقل من أربعة.
ARKVORY_DOWNLOAD_WEIGHTSAPIinteractive=8,release=4,bulk=2,background=1حصة الأماكن الشاغرة لكل فئة. اذكر الفئات التي تغيّرها فقط.
ARKVORY_DOWNLOAD_SESSION_MIN_BYTESAPI16777216الكائنات حتى هذا الحجم لا تدخل الطابور وتُقبل لكل طلب.
ARKVORY_DOWNLOAD_IDLE_SECONDSAPI30التوقف بين النطاقات لمدة أطول من هذه يحرّر المكان. يحتفظ التنزيل بدوره عشر دقائق.
ARKVORY_DOWNLOAD_AGING_MINUTESAPI15كل انتظار بهذه المدة يرفع التنزيل فئة واحدة حتى release كحد أقصى. القيمة 0 توقف التقادم.
ARKVORY_DOWNLOAD_PREEMPTAPItrueعملاء بروتوكول الطابور (SDK وarkvoryctl) يتنازلون عن مكانهم عند حد نطاق لفئة أعلى أو لمفتاح دون حصته، بعد أن يشغلوه دقيقة.
ARKVORY_DOWNLOAD_RANGES_PER_SESSIONAPI4الطلبات المتزامنة لتنزيل واحد: نطاقات متوازية، أو عملاء خلف عنوان واحد.
ARKVORY_DOWNLOAD_QUEUE_LIMITAPI65536إجمالي التنزيلات النشطة والمنتظرة. بعد ذلك يُطلب من العميل العودة بعد دقيقة.
ARKVORY_DOWNLOAD_QUEUE_PER_PRINCIPALAPI4096إجمالي تنزيلات حساب أو مفتاح أو رابط واحد.
ARKVORY_DOWNLOAD_HOLD_SECONDSAPI20مدة احتجاز طلب أداة خارج بروتوكول الطابور (docker وnpm وcurl والمتصفح) حتى يحين دورها قبل الرد 503. الافتراضي: ARKVORY_TRANSFER_QUEUE_TIMEOUT_MS. القيمة 0 ترد فورًا.
ARKVORY_SITE_NAMEAPI—اسم هذا التثبيت في صفحة المواقع لدى التثبيتات الأخرى، من 1 إلى 63 حرفًا.
ARKVORY_FLEET_KEY_FILEAPIfleet.keyالمفتاح الذي يختم مفاتيح المواقع التي يديرها هذا التثبيت. تنشئه عملية الكتابة عند أول تشغيل؛ احمه كما تحمي دليل البيانات. ليس في قاعدة البيانات ولا في النسخ الاحتياطية.
ARKVORY_TRANSFER_QUEUE_LIMITAPI64عمليات النقل التي يجوز أن تنتظر فتحة شاغرة، من 1 إلى 1024.
ARKVORY_TRANSFER_QUEUE_PER_PRINCIPALAPI8عمليات النقل المنتظرة لحساب أو مفتاح واحد، حتى حد القائمة.
ARKVORY_TRANSFER_QUEUE_TIMEOUT_MSAPI20000المدة التي يجوز أن ينتظرها النقل في القائمة، من 1 إلى 120 000 مللي ثانية.
ARKVORY_MAX_REQUESTSAPI128الطلبات الموثَّقة في الوقت نفسه، من 1 إلى 4096. يجب أن يكون أكبر من مجموع عمليات الرفع والتنزيل. وعندما لا يُضبط وتكون حدود النقل مرتفعة، تكون القيمة الافتراضية مجموع عمليات الرفع والتنزيل زائد 64.
ARKVORY_UPLOAD_BYTES_PER_SECONDAPI0معدل الرفع الإجمالي للعملية.
ARKVORY_DOWNLOAD_BYTES_PER_SECONDAPI0معدل التنزيل الإجمالي للعملية.
ARKVORY_UPLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0معدل رفع حساب أو مفتاح واحد، عبر كل اتصالاته.
ARKVORY_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0معدل تنزيل حساب أو مفتاح واحد، عبر كل اتصالاته.
ARKVORY_UPLOAD_IDLE_TIMEOUT_MSAPI30000يُوقَف طلب الرفع الذي لا يرسل بيانات خلال هذه المدة، من 1 إلى 1 800 000 مللي ثانية.
ARKVORY_UPLOAD_DEADLINE_MSAPI1800000أطول مدة لطلب رفع واحد، من 1 إلى 1 800 000 مللي ثانية. ولا يمكن أن تكون أقصر من مهلة الخمول.

الشبكة وHTTPS والمتصفحات ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_TLS_CERT_FILEAPIغير مضبوطشهادة PEM (مع سلسلتها) لـ HTTPS المضمَّن. اضبطها مع ملف المفتاح.
ARKVORY_TLS_KEY_FILEAPIغير مضبوطمفتاح خاص بصيغة PEM دون كلمة مرور.
ARKVORY_TLS_MIN_VERSIONAPITLSv1.2TLSv1.2 أو TLSv1.3.
ARKVORY_TLS_RELOAD_SECONDSAPI300الفاصل بين قراءتين لملفات الشهادة المجدَّدة: من 30 إلى 86 400 ثانية، أو 0 لقراءتها عند البدء فقط.
ARKVORY_CORS_ORIGINSAPIفارغقائمة مفصولة بفواصل تضم حتى 16 أصلًا (origin) للمتصفح، لوحدة تحكم على عنوان آخر. HTTPS فقط، أو HTTP على الحلقة المحلية.
ARKVORY_TRUSTED_PROXIESAPIفارغحتى 32 عنوانًا لوكلاء عكسيين (IP أو CIDR). وهذه العناوين وحدها يجوز لها ضبط عنوان العميل عبر X-Forwarded-For.

HTTPS المضمَّن مخصص للتثبيتات الأصلية. ومع Docker Compose استخدم وكيلًا عكسيًا. راجع HTTPS.

الهوية والمفاتيح ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_KEYS_FILEAPI، العاملمطلوبملف JSON فيه مفاتيح الملفات، مثل مفتاح الاسترداد ومفتاح فحص السلامة. يخزّن تجزئات SHA-256، ولا يخزّن المفاتيح أبدًا.
ARKVORY_ALLOW_REGISTRATIONAPIمتوقفtrue يتيح للناس إنشاء حساباتهم بأنفسهم في صفحة تسجيل الدخول. وأي قيمة أخرى تُبقيه متوقفًا.

النسخ الاحتياطية ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_BACKUP_VAULTالوكيلغير مضبوطدليل مخزن مهيَّأ. بدونه يعمل الوكيل ويبلّغ بأنه لا يوجد مخزن مضبوط. ويكتبه arkvory configure --backup-vault.
ARKVORY_BACKUP_VAULT_KEY_FILEالوكيلغير مضبوطملف يحوي مفتاح الخدمة لـ vault مشفّر (AK1-…)، أو حزمة استرداد. تقبله الأوامر أيضًا بصيغة --key-file. يكتبه arkvory configure --vault-key-file.
ARKVORY_BACKUP_BYTES_PER_SECONDالوكيلبلا حدحد معدل النسخ في النسخة الاحتياطية، 65 536 على الأقل.
ARKVORY_BACKUP_POLL_SECONDSالوكيل15الفاصل الذي يتحقق فيه الوكيل من مهام النسخ الاحتياطي الجديدة، من 1 إلى 3600 ثانية.
ARKVORY_BACKUP_LEASE_SECONDSالوكيل60مدة الحجز (lease) التي تمنع وكيلًا ثانيًا من العمل في الوقت نفسه، من 2 إلى 3600 ثانية.
ARKVORY_BACKUP_SNAPSHOT_SECONDSالوكيل1800الحد الزمني لجزء لقطة قاعدة البيانات في النسخة الاحتياطية، من 60 إلى 86 400 ثانية.
ARKVORY_BACKUP_BARRIER_SECONDSالوكيل30المدة التي تنتظر فيها النسخة الاحتياطية خطوة تنظيف جارية، من 1 إلى 600 ثانية.
ARKVORY_RESTORE_DATABASE_URLأمر الاستعادةغير مضبوطقاعدة البيانات الهدف للاستعادة. وهو أكثر أمانًا من --database-url، لأن المستخدمين الآخرين لا يرونه في قائمة العمليات.

راجع النسخ الاحتياطية.

المرايا ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_MIRRORS_FILEAPI، العاملغير مضبوطملف JSON يسرد المستودعات المنسوخة بمرآة (حتى 64). ويكتبه arkvory configure --mirror.
ARKVORY_MIRRORS_CA_FILEالعاملغير مضبوطمسار مطلق إلى ملف PEM يضم جهات إصدار شهادات إضافية لخوادم المصدر. ويُتحقق من TLS دائمًا.

راجع المرايا.

Webhook ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_WEBHOOKS_FILEالعاملغير مضبوطملف JSON يسرد اشتراكات Webhook (حتى 16). من دونه لا تُرسَل أي Webhook.
ARKVORY_WEBHOOKS_ALLOW_PRIVATEالعاملغير مضبوطشبكات بصيغة CIDR مفصولة بفواصل (حتى 32) يجوز أن تستقبل Webhook إضافة إلى العناوين العامة، مثل 10.20.0.0/16.
ARKVORY_WEBHOOKS_CA_FILEالعاملغير مضبوطالمسار المطلق لملف PEM يحوي سلطات شهادات إضافية للمستقبِلين. يُتحقَّق من TLS دائمًا.

راجع Webhook.

عنقود عالي التوفر ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_REPLICA_SOCKETAPIغير معيّنمقبس خدمة arkvory-replica. يعيّنه arkvory configure --cluster. عند تعيينه لا تحصل الكتابة على 2xx إلا عندما تكتمل النسخ المطلوبة. إن لم يُعيَّن فهو خادم مستقل.

راجع High availability cluster.

التحديثات والمركز (hub) ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_HUB_URLAPIhttps://hub.proanima.netعنوان مركز ProAnimaStudio، تستخدمه ملاحظات وحدة التحكم فقط (مركز التحديثات محفوظ في config/hub.json ويُغيَّر بالأمر arkvory configure). والقيمة الفارغة توقف الملاحظات. HTTPS فقط، أو HTTP على الحلقة المحلية.
ARKVORY_HUB_PROJECTAPIarkvoryاسم المشروع في المركز.
ARKVORY_UPDATE_CONTROL_DIRAPIغير مضبوطالدليل الذي يشاركه API مع برنامج التحديث على المضيف. تضبطه برامج التثبيت. وبدونه لا تستطيع وحدة التحكم طلب التحديثات.

راجع التحديثات.

السجلات والإيقاف ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_LOG_LEVELAPI، العامل، الوكيلinfodebug أو info أو warning أو error.
ARKVORY_ACCESS_LOGAPItruetrue يكتب سطر JSON واحدًا لكل طلب HTTP؛ وfalse يوقفه.
ARKVORY_DRAIN_TIMEOUT_MSAPI30000بعد إشارة الإيقاف، المدة المتاحة لانتهاء الطلبات الجارية، من 0 إلى 3 600 000 مللي ثانية.

بوابات القراءة ​

عندما يُضبط أي من هذه المتغيرات، يصبح ضبط الفتحة (slot) وعدد الفتحات والمعدل المشترك مطلوبًا. يستخدم الكاتب الدور api والفتحة 0. وتستخدم كل بوابة قراءة الدور reader وفتحتها الخاصة. راجع بوابات القراءة.

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_ROLEAPIapiapi (الكاتب) أو reader (بوابة قراءة).
ARKVORY_GATEWAY_SLOTSAPIغير مضبوطعدد العمليات التي تتقاسم ميزانية التنزيل، من 2 إلى 16.
ARKVORY_GATEWAY_SLOTAPIغير مضبوطفتحة هذه العملية، من 0 إلى عدد الفتحات ناقص واحد.
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECONDAPIغير مضبوطمعدل التنزيل الإجمالي لكل العمليات. تحصل كل فتحة على حصة متساوية، 65 536 بايت في الثانية على الأقل.
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0معدل التنزيل الإجمالي لحساب أو مفتاح واحد عبر كل العمليات؛ و0 تعني بلا حد.

المراقب الذاتي (Watchdog) ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_WATCHDOG_SECONDSAPI، العامل، الوكيل60العملية التي تبقى محجوبة هذه المدة تنهي نفسها، ويبدأها مدير الخدمات مرة أخرى. و0 توقفه (لأجل مصحّح الأخطاء)؛ وإلا فالقيمة من 10 إلى 3600 ثانية.

راجع الإصلاح الذاتي.

عميل سطر الأوامر ​

المتغيريقرؤهالافتراضيالمعنى
ARKVORY_BASE_URLCLIملف التعريف، ثم http://127.0.0.1:8080عنوان الخادم. وعند ضبطه يجب أن يأتي المفتاح أيضًا من البيئة.
ARKVORY_TOKENCLIغير مضبوطالمفتاح نفسه. له الأولوية على ملف المفتاح.
ARKVORY_TOKEN_FILECLIملف المفتاح في ملف التعريفمسار ملف يحتوي على المفتاح.
ARKVORY_CLI_HOMECLI~/.config/arkvoryدليل الملف profiles.json.
ARKVORY_CLI_VERSIONCLIdevelopmentالإصدار الذي يطبعه --version. وتحتويه حزم الإصدار.

راجع عميل سطر الأوامر.

نصوص التثبيت البرمجية ​

يقرأ install.sh على Linux هذه المتغيرات. أما على Windows فيستخدم install.ps1 معاملات مثل -Root و-Artifact بدلًا منها.

المتغيرالافتراضيالمعنى
ARKVORY_INSTALL_ROOT/opt/proanima-arkvoryجذر التثبيت. لا تضع تثبيتًا أصليًا في دليل منزلي (home).
ARKVORY_ARTIFACT_DIRغير مضبوطدليل إصدار مفكوك الضغط. يثبّته النص البرمجي بدلًا من تنزيل إصدار.
ARKVORY_RELEASE_VERSIONأحدث إصدار مستقرالإصدار المستقر المحدد الذي يُثبَّت، مثل 1.2.3.

ما يضبطه برنامج التثبيت ​

يضبط برنامج التثبيت هذه المتغيرات لعملياته المساعدة. لا تضبطها بنفسك.

المتغيرالمعنى
ARKVORY_IMAGEصورة الحاوية للإصدار الحالي، في config/compose.env.
ARKVORY_SERVICE_WRAPPERمسار غلاف خدمة النسخ الاحتياطي في Windows، يُستخدم عندما تكون الخدمة متوقفة.
ARKVORY_PROTECT_ROOTجذر التثبيت الذي تُضبط قواعد الوصول إليه في Windows.
ARKVORY_ENGINE_USERعلى Windows مع Docker Desktop، يمنح المستخدم الحالي حق الوصول إلى الجذر.

Arkvory · ProAnimaStudio