Skip to content

تثبيت RoqueOS Server

حوّل RoqueOS إلى منصة self-hosted قوية لحوسبة السحابة. ثبّت مع Docker وأطلق طرفية Linux، متصفح بعيد، App Store Docker، مدير الملفات وأكثر بكثير.


المتطلبات المسبقة

المتطلبات المسبقة

ستحتاج إلى جهاز يعمل بـ Linux (Ubuntu/Debian موصى به) أو macOS/Windows مع Docker و Docker Compose مثبتين.

ليس لديك Docker؟ ثبّت Docker Engine قبل المتابعة.


التثبيت الموصى به (سطر واحد)

الطريقة السريعة — install.sh (Linux/macOS) و install.ps1 (Windows) يتولون كل شيء: pulls images، يولدون secrets تشفيرية، يكوّنون volumes، يشغّلون الحاويات ويعرضون لوحة admin الترحيب.

bash
curl -fsSL https://roqueos.com.br/install.sh | bash
powershell
irm https://roqueos.com.br/install.ps1 | iex

في ~2 دقيقة يعمل الخادم على http://localhost:27021. التفاصيل الكاملة للأعلام (--update، --with-roqueclaw، --with-android-gaming، التراجع التلقائي): مثبت Linux/macOS أو Windows.

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

بعد تشغيل الخادم، اربطه بـ RoqueOS web الخاص بك عبر Add Server Wizard. أو إذا كنت تريد اختبار Server Mode دون تثبيت أي شيء، استخدم خادم العرض التوضيحي العام الذي يأتي مكوَّنًا مسبقًا.


التثبيت اليدوي (متقدم — fallback)

متقدم

يوجد هذا القسم للسيناريوهات التي لا يغطيها السطر الواحد أعلاه (مثلاً: شبكة بدون وصول إلى GitHub Container Registry، سياسة الشركة التي تحجب curl | bash، بيئة air-gapped). لـ 99٪ من المستخدمين، استخدم السطر الواحد أعلاه الذي يؤتمت كل ما يتم وصفه هنا.

التعليمات اليدوية هنا قد تصبح قديمة — install.sh هو مصدر الحقيقة للتدفق الصحيح.

لمن يفضل إدارة الحاويات بنفسه.

1. أنشئ مفاتيح الأمان

يتطلب الخادم ثلاثة مفاتيح تشفيرية في production. أنشئها مع Node.js قبل المتابعة:

bash
node -e "console.log('JWT_SECRET=' + require('crypto').randomBytes(32).toString('hex'))"
node -e "console.log('ENCRYPTION_KEY=' + require('crypto').randomBytes(32).toString('hex'))"
node -e "console.log('GUACAMOLE_CRYPT_KEY=' + require('crypto').randomBytes(16).toString('hex'))"

أو، إذا كنت تفضل OpenSSL:

bash
echo "JWT_SECRET=$(openssl rand -hex 32)"
echo "ENCRYPTION_KEY=$(openssl rand -hex 32)"
echo "GUACAMOLE_CRYPT_KEY=$(openssl rand -hex 16)"

انسخ القيم الثلاث واستبدل COLE_AQUI في ملف docker-compose.yml التالي.

احفظ مفاتيحك

فقدان JWT_SECRET أو ENCRYPTION_KEY في production يتطلب إعادة إنشاء جميع API Keys وإعادة توصيل frontend. خزّنها في password manager أو ملف .env خارج version control.

ملاحظة تقنية — GUACAMOLE_CRYPT_KEY

يستخدم Remote Desktop AES-256-CBC، الذي يتطلب 32 بايتًا بالضبط. الأمر randomBytes(16) يولد 16 بايتًا عشوائية ممثلة بـ 32 حرفًا hex — والذي يعادل 32 بايتًا بالضبط في UTF-8. استخدم دائمًا randomBytes(16) لهذا المفتاح المحدد.

2. نزل الـ images من DockerHub

bash
docker pull roqueribeiro1988/roqueos-server:latest
docker pull roqueribeiro1988/roqueos-server-ubuntu:latest

3. أنشئ ملف docker-compose.yml

yaml
version: '3.8'

services:
  roqueos-server:
    image: roqueribeiro1988/roqueos-server:latest
    container_name: roqueos-server
    restart: unless-stopped
    ports:
      - '27021:27021'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - roqueos-users:/data/roqueos/users
      - roqueos-shared:/data/roqueos/shared
      - roqueos-db:/app/data
      - roqueos-transcode-cache:/app/transcode-cache
    cap_add:
      - SYS_ADMIN
    shm_size: 1gb
    environment:
      - TZ=America/Sao_Paulo
      - NODE_ENV=production
      - JWT_SECRET=COLE_AQUI
      - ENCRYPTION_KEY=COLE_AQUI
      - GUACAMOLE_CRYPT_KEY=COLE_AQUI
      - UBUNTU_IMAGE=roqueribeiro1988/roqueos-server-ubuntu:latest
      - GUACD_HOST=guacd
      - GUACD_PORT=4822
    networks:
      - roqueos-network

  guacd:
    image: guacamole/guacd:1.6.0
    container_name: roqueos-guacd
    restart: unless-stopped
    networks:
      - roqueos-network

volumes:
  roqueos-users:
  roqueos-shared:
  roqueos-db:
  roqueos-transcode-cache:

networks:
  roqueos-network:
    driver: bridge

4. ابدأ تشغيل الخادم

bash
docker compose up -d

بث الوسائط التكيفي (HLS)

ابتداءً من v1.0.5، يكتشف الخادم تلقائيًا الأجهزة المتاحة ويكوّن خط أنابيب بث الفيديو:

الملف الشخصيCPU / RAMالجودات المتاحةEncoder
low≤ 2 cores أو ≤ 2 GB RAM480pSoftware (libx264 ultrafast)
mid4 cores + 4 GB RAM480p + 720pSoftware أو hardware
high≥ 6 cores + 8 GB RAM480p + 720p + 1080pHardware مفضل

ذاكرة التخزين المؤقت لأجزاء HLS موجودة في vol roqueos-transcode-cache وتستمر بين إعادات التشغيل.


وكيل AI — RoqueClaw (v1.0.6+)

RoqueClaw هو وكيل أتمتة مرئي بـ AI متكامل مع RoqueOS. لتمكينه، أضف في docker-compose.yml في قسم environment لخدمة roqueos-server:

yaml
- ENABLE_ROQUECLAW=true
- OPENCLAW_IMAGE=roqueribeiro1988/roqueos-openclaw:latest

سيقوم الخادم بتنزيل image الوكيل تلقائيًا عند أول تشغيل.


التحديث إلى إصدار جديد

عند نشر إصدار جديد على Docker Hub، يمكنك التحديث بثلاث طرق:

موصى به

استخدم Server Admin ← الإصدار ← "تحديث الآن" داخل RoqueOS. يكتشف المساعد طريقة التثبيت، يعرض الأمر بالضبط ويتتبع إعادة التشغيل تلقائيًا.

bash
docker compose pull && docker compose up -d --force-recreate roqueos-server
bash
curl -fsSL https://roqueos.com.br/install.sh | bash -s -- --update
powershell
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -Update

بياناتك آمنة

يتم الحفاظ على volumes المسماة في Docker (roqueos-users، roqueos-shared، roqueos-db، roqueos-transcode-cache) أثناء التحديث. قاعدة البيانات، التكوينات والملفات لا تتأثر.


التحقق من التثبيت

bash
curl http://localhost:27021/health

النتيجة المتوقعة:

json
{ "status": "ok", "timestamp": "2026-03-05T00:00:00.000Z", "version": "2.1.0" }

لوحة الإدارة

بعد التثبيت، تتوفر لوحة الإدارة في:

http://localhost:27021/api

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