Relayium

الاستضافة الذاتية لـ Relayium: شغّل خادم نقل الملفات الخاص بك

آخر تحديث: 2026-07-12

‏Relayium مرخَّص بموجب AGPL-3.0 ومفتوح المصدر، والخادم صورة واحدة مكتفية بذاتها — بلا قاعدة بيانات خارجية، بلا حاوية تخزين لطرف ثالث، ولا شيء للتسجيل فيه. إن كنت تفضّل تشغيل كل شيء بنفسك بدل الاعتماد على relayium.com، فهذا الدليل يشغّل خادمًا بـ Docker ويوجّه الـ CLI إليه.

تمنحك الاستضافة الذاتية تحكمًا كاملًا في مكان بياناتك، ونطاقك الخاص وشهادة TLS خاصة بك، وبلا اعتماد على بنية أحد آخر. كل ما يلي مبني على ملفات موجودة فعلًا في المستودع — `docker-compose.yml` و`server/.env.example` و`docs/self-hosting.md` — فلا شيء هنا عبارة عن راية أو إعداد غير موجود فعلًا.

لماذا الاستضافة الذاتية

عمليات النقل الفوري في Relayium من الند للند ومشفَّرة من الطرف إلى الطرف أصلًا، لذا لا يرى الخادم بايتات ملفك هناك أبدًا. لكنه يحتفظ بحسابك، و — لعمليات النقل المُخزَّنة/المبنية على رابط — بكتل نص مُشفَّر وقاعدة بيانات SQLite صغيرة. الاستضافة الذاتية تعني أن تعيش تلك البيانات على بنية تتحكم فيها أنت، تحت نطاقك الخاص، دون أن تتدخل قرارات تشغيل أحد آخر.

لأن المشروع مرخَّص بموجب AGPL-3.0 ومفتوح المصدر (github.com/relayium/relayium)، يمكنك أن تقرأ بالضبط ما يفعله الخادم قبل أن تأتمنه على أي شيء، وأن تنسخه (fork) أو تعدّله بحرية.

بداية سريعة مع Docker

جذر المستودع يوفّر `Dockerfile` و`docker-compose.yml` يبنيان صورة واحدة مكتفية بذاتها — ثنائي Go ساكن يقدّم تطبيق الويب المبني مسبقًا، فلا حاجة إلى Node منفصل أو سلسلة أدوات Go أو nginx لمجرد تشغيله:

docker compose up -d --build

أضف مُرحِّل TURN لعمليات النقل عبر الشبكات

عمليات النقل في الشبكة نفسها (LAN) وpush/pull القائم على SSH تعمل بلا أي إضافة. عمليات النقل الفوري عبر الشبكات (جهازان خلف NAT مختلفين) تحتاج أحيانًا مُرحِّل TURN لإنشاء مسار — لا يرى المُرحِّل سوى نص مُشفَّر أبدًا، لا محتوى ملفاتك.

لدى docker-compose.yml ملف تعريف relay اختياري يُشغّل coturn (خادم TURN) ونسخة Redis صغيرة لقياس بايتات الترحيل، إلى جانب الخادم الرئيسي:

RELAYIUM_TURN_SECRET=$(openssl rand -hex 32) docker compose --profile relay up -d --build

ثبّت CLI على جهازك

تُشغّل هذه الخطوة الأخيرة relayium CLI على حاسوبك أنت (لا على الخادم)، فثبّته هناك إن لم تكن قد فعلت. على macOS أو Linux:

curl -fsSL https://relayium.com/install.sh | sh

وجّه الـ CLI إلى خادمك

يستخدم Relayium CLI افتراضيًا خادم التعارف الخاص بـ relayium.com لعمليات send/receive عبر الشبكات. مرّر ‎--server‎ لاستخدام خادمك بدلًا منه:

relayium send ./report.pdf --server https://your-domain
relayium receive K7M4XR --server https://your-domain

الأسئلة الشائعة

هل أحتاج إلى إعداد TURN؟

فقط إن أردت أن تعمل عمليات النقل الفوري عبر الشبكات عبر أنواع NAT الصارمة. عمليات النقل في الشبكة نفسها، وpush/pull القائم على SSH، وdaemon direct، جميعها تعمل بدونه — TURN مخصّص بحتًا لاجتياز NAT على مسار رمز الاقتران عبر الشبكات.

هل يبقى الـ CLI مجانيًا إن استضفتُ ذاتيًا؟

نعم. الـ CLI مجاني تمامًا سواء تحدّث إلى relayium.com أو إلى خادم تشغّله بنفسك — ‎--server‎ يوجّهه فقط إلى نسختك. والذي يحتاج حسابًا هو send حين يلزمه إصدار رمز (لا حين تمرّر له رمزًا جاهزًا)، وup لتخزين ملف — ويجب أن يكون الحساب على الخادم الذي توجّهه إليه، فشغّل أولًا ‎relayium login --server https://your-domain‎. أما receive وdown فلا يحتاجان حسابًا.

هل يمكنني استخدام نطاقي الخاص وشهادة TLS خاصة بي؟

نعم. تستمع صورة Docker على HTTP عادي على ‎:8080؛ ضع nginx أو Caddy أمامها بنطاقك الخاص وشهادتك (مثلًا عبر certbot/Let's Encrypt). يغطّي docs/self-hosting.md ما ينبغي توجيهه عبر البروكسي؛ تهيئة nginx الخاصة ببيئة إنتاج Relayium نفسها غير منشورة، لذا عليك كتابة تهيئتك الخاصة.

ما البيانات التي يخزّنها خادمي المُستضاف ذاتيًا؟

قاعدة بيانات SQLite (الحسابات، الجلسات) في RELAYIUM_DB، و — لعمليات النقل المُخزَّنة/المبنية على رابط — كتل مشفَّرة في RELAYIUM_BLOB_DIR لا يستطيع الخادم نفسه فكّ تشفيرها. عمليات النقل الفوري من الند للند لا تُخزَّن في أي مكان — يرحّل الخادم مصافحة الإشارة فقط.

ثبّت Relayium CLI المجاني ووجّهه إلى خادمك الخاص بـ ‎--server‎.

احصل على الـ CLI

تابع القراءة